Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Basic Info
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
QuCoNot 🥥
QuCoNoT contains an implementations of the verifications procedures for implementation of permutation matrices from the paper `Classification and transformations of quantum circuit decompositions for permutation operations' available at arXiv. The details on how to use the verifications methods can be found in the jupyter notebook quconot.ipynb in the repository, where we try this for a few existing and implemented by us decomposition of Multi-Controlled Toffoli
Installation details
To start with QuCoNot, you just need to git clone and install with pip
git clone https://github.com/QuCoNot/QuCoNot.git
cd QuCoNot
pip install .
Example
MCT Generation
You just need to import it, and you can start use it
``` from quconot.implementations import MCTVChainDirty
mct = MCTVChainDirty(5) circ = mct.generate_circuit() ```
With generate_circuit, you will get the MCT based on the implementation that you choose.
MCT Verification
QuCoNot can also be used to verify MCT algorithm
``` from quconot.verifications import ( verifycircuitstrictcleannonwasting, verifycircuitrelativecleannonwasting, verifycircuitstrictcleanwastingentangled, verifycircuitrelativecleanwastingseparable, verifycircuitstrictcleanwastingseparable, verifycircuitstrictdirtynonwasting, verifycircuitrelativedirtynonwasting, verifycircuitstrictdirtywastingentangled, verifycircuitrelativedirtywastingseparable, verifycircuitstrictdirtywastingseparable )
testedmatrix = usim.run(circ).result().getunitary().data refunitary = getrefunitary(controlno) verifycircuitstrictdirtynonwasting(testedmatrix, refunitary) verifycircuitstrictcleannonwasting(testedmatrix, refunitary) ```
Note that verification functions requires the unitary to be in a form of numpy array, not QuantumCircuit: tested_matrix = usim.run(circ).result().get_unitary().data .
See Jupyter Notebook file for more in detail examples.
Authors
The first version of QuCoNot was developed under the remote internship program QIntern 2022. Extended from the program, we continue to create the module.
- Ankit Khandelwal1
- Handy Kurniawan2
- Shraddha Aangiras3
- Özlem Salehi4,5,6
- Adam Glos4,6
1 TCS Research, Tata Consultancy Services, India
2 Facultad de Informática, Universidad Complutense de Madrid, Spain
3 Rashtreeya Vidyalaya Preuniversity College, India
4 Institute of Theoretical and Applied Informatics, Polish Academy of Sciences, Poland
5 QWorld Association, Tallinn, Estonia
6 Algorithmiq Ltd, Kanavakatu 3C 00160 Helsinki, Finland
Corresponding Author: Adam Glos
If you are doing research using QuConot, please cite our project. We use a BibTeX file file, so you can easily copy the citation information from the repository landing page.
License
QuCoNot is free and open source, released under the Apache License, Version 2.0.
Citation (CITATION.bib)
@misc{khandelwal2023classification,
title={Classification and transformations of quantum circuit decompositions for permutation operations},
author={Ankit Khandelwal and Handy Kurniawan and Shraddha Aangiras and Özlem Salehi and Adam Glos},
year={2023},
eprint={2312.11644},
archivePrefix={arXiv},
primaryClass={quant-ph}
}
GitHub Events
Total
Last Year
Dependencies
- numpy ==1.22.3
- pytest ==7.2.0
- qiskit ==0.39.2
- qiskit_ibmq_provider ==0.19.2
- scipy ==1.8.0
- setuptools ==65.5.0
- sphinx_rtd_theme ==1.1.1
- numpy *
- pytest ==7.2.0
- qiskit ==0.39.2
- qiskit_ibmq_provider ==0.19.2
- scipy *
- setuptools ==65.5.0
- sphinx_rtd_theme ==1.1.1
- actions/checkout v3 composite
- actions/setup-python v4 composite
- ricardochaves/python-lint v1.4.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3.1.1 composite