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
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: QuCoNot
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 34.3 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

codecov License

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

requirements.txt pypi
  • 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
requirements_rtd.txt pypi
  • 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
.github/workflows/quality_checks.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • ricardochaves/python-lint v1.4.0 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3.1.1 composite