Skip to main content

A tool for Quantum Circuit Equivalence Checking

Project description

PyPI OS License: MIT CI Bindings Documentation codecov

MQT QCEC - A tool for Quantum Circuit Equivalence Checking

A tool for quantum circuit equivalence checking developed as part of the Munich Quantum Toolkit (MQT)[^1] by the Chair for Design Automation at the Technical University of Munich. It builds upon our quantum functionality representation (QFR), our decision diagram (DD) package, and our ZX-diagram package .

Detailed documentation on all available methods, options, and input formats is available at ReadTheDocs.

If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.

Getting Started

QCEC is available via PyPI for Linux, macOS, and Windows.

(venv) $ pip install mqt.qcec

The following code gives an example on the usage:

from mqt import qcec

# verify the equivalence of two circuits provided as qasm files
result = qcec.verify("circ1.qasm", "circ2.qasm")

# print the result
print(result.equivalence)

System Requirements and Building

The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.14. Please refer to the documentation on how to build the project.

Building (and running) is continuously tested under Linux, macOS, and Windows using the latest available system versions for GitHub Actions.

References

QCEC has been developed based on methods proposed in the following papers:

a L. Burgholzer and R. Wille, "Advanced Equivalence Checking for Quantum Circuits," Transactions on CAD of Integrated Circuits and Systems (TCAD), 2021

a L. Burgholzer, R. Raymond, and R. Wille, "Verifying Results of the IBM Qiskit Quantum Circuit Compilation Flow," in IEEE International Conference on Quantum Computing (QCE), 2020

a L. Burgholzer, R. Kueng, and R. Wille, "Random Stimuli Generation for the Verification of Quantum Circuits," in Asia and South Pacific Design Automation Conference (ASP-DAC), 2021

a L. Burgholzer and R. Wille, "Handling Non-Unitaries in Quantum Circuit Equivalence Checking," in Design Automation Conference (DAC), 2022

a T. Peham, L. Burgholzer, and R. Wille, "Equivalence Checking of Quantum Circuits with the ZX-Calculus," in Journal of Emerging and Selected Topics in Circuits and Systems (JETCAS), 2022

[^1]: The Munich Quantum Toolkit was formerly known under the acronym JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqt.qcec-2.0.0rc8.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mqt.qcec-2.0.0rc8-cp311-cp311-win_amd64.whl (613.2 kB view details)

Uploaded CPython 3.11Windows x86-64

mqt.qcec-2.0.0rc8-cp311-cp311-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc8-cp311-cp311-macosx_11_0_arm64.whl (633.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mqt.qcec-2.0.0rc8-cp311-cp311-macosx_10_15_x86_64.whl (949.7 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

mqt.qcec-2.0.0rc8-cp310-cp310-win_amd64.whl (613.2 kB view details)

Uploaded CPython 3.10Windows x86-64

mqt.qcec-2.0.0rc8-cp310-cp310-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc8-cp310-cp310-macosx_11_0_arm64.whl (633.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mqt.qcec-2.0.0rc8-cp310-cp310-macosx_10_15_x86_64.whl (949.7 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

mqt.qcec-2.0.0rc8-cp39-cp39-win_amd64.whl (613.1 kB view details)

Uploaded CPython 3.9Windows x86-64

mqt.qcec-2.0.0rc8-cp39-cp39-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (862.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc8-cp39-cp39-macosx_11_0_arm64.whl (633.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mqt.qcec-2.0.0rc8-cp39-cp39-macosx_10_15_x86_64.whl (949.9 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

mqt.qcec-2.0.0rc8-cp38-cp38-win_amd64.whl (613.1 kB view details)

Uploaded CPython 3.8Windows x86-64

mqt.qcec-2.0.0rc8-cp38-cp38-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc8-cp38-cp38-macosx_11_0_arm64.whl (633.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mqt.qcec-2.0.0rc8-cp38-cp38-macosx_10_15_x86_64.whl (949.7 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

mqt.qcec-2.0.0rc8-cp37-cp37m-win_amd64.whl (625.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

mqt.qcec-2.0.0rc8-cp37-cp37m-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (873.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc8-cp37-cp37m-macosx_10_15_x86_64.whl (945.1 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file mqt.qcec-2.0.0rc8.tar.gz.

File metadata

  • Download URL: mqt.qcec-2.0.0rc8.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc8.tar.gz
Algorithm Hash digest
SHA256 77445c54756cf569c78cf66c2235f91a3c8c2008229aeaac50d0ce9c2783d850
MD5 eeff159868444de6bed0bd5ff72cadda
BLAKE2b-256 c221fbbb27aeae046c89e342a29c96fc9fa59c3b83f866ab6fd1fa3ac477b882

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 48851d21f4ba894238c7a8ac72610ee79d306d2d3940f9b9f5c50c5fe28d3871
MD5 9cfcaaeeaca208d1e48d0e0196787673
BLAKE2b-256 719c1fcec8db452b1c5798e540e8a0d09291b683f05c46ed702fcaa949ca65c8

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b6c18329d15cd0e8fe7a9d742c3bc690f062ab5e7f17c2cc1f8b7e050c5ab6d3
MD5 8015923c67639145934e0cee236d66cd
BLAKE2b-256 30023bd14a1561520700eb35e6fa6a41536cd54adf8854be14ba4de3c0e83db8

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb83eae30b9901b5ed63f23b4550a28fba1bf446049b63173e02718357a8a74e
MD5 6ca1250094ac3f08d531f164aa922f95
BLAKE2b-256 cc917e7a503b8ce311d249df50c28ef3f447fed05c5d49fdb6e667ebadf857d7

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 554e1f6124dec4d025accdbb1b00127793308ac9a31a1f9d752c8cd044aa45cc
MD5 32214bbcf46b15bab6bfd26937386c6a
BLAKE2b-256 3853f196febfc02e5454437fe167a0dba2e84fa8797bc7975eeb730705e2d322

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b5c95758eef47784a671ac2127e527af5012b1f89f1c798667f5b8656247c549
MD5 288974f43a75b80bed03e001cda7a985
BLAKE2b-256 4b6f0ba97f9be1f261f7d9f8b62fd41a7510ac590026bc9d209880e5e2b65331

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 02b7eadb3795b1c0a9cce42a90324f38c36f2a1287c83f9455c73d79ee12580a
MD5 60afb268cba27f40b344fb0c61bffe83
BLAKE2b-256 862335b3d51ecd42f4a51a6f26875b3d421642e334b0d51c793e77aae7b20df2

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 07208488c5ad3e402f942b556edb244d29e2d67dd7e0dee5123e38960a441c50
MD5 f737cdf6f7c6b0ccbc64d785bf2a49f2
BLAKE2b-256 5e21276da030cfb6c4eb37c23bda5457b14af0dccff55cf06db576b7f919a340

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8aa286790313e2a06e62ce7ab0765eddd7eac024df312e73cc42c103cce42544
MD5 2f5799ae0a95e42b50fa609d5c47eb75
BLAKE2b-256 348e736b5b24ed386d414aab36af799830b59fbc15a1f5e2344625f6430aafd3

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4cc90944b3859650563c904c3ce2b3198ff0b62d732559a88893eee36a712af2
MD5 552a6ca4419a0e2f5d6bdb4061b53769
BLAKE2b-256 718edebd64c4b9a20632deb87524b22a2986592d6668e2b692960c2c66a3ad91

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 93002b17ed1c8df0a3e4d6fdfede68d97a944596921776c1446dcb3a1e16ee4c
MD5 5327a158559fa11afbe1edbf4542cb06
BLAKE2b-256 31a6697b67c16ee266c2c9cf1584308bbca4c0dbb839f5c9eb56d30daa3a269c

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 613.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a3dc1111f789825cea5a037b823826cd1d5a0bc7530808f01af428d7c9c9232b
MD5 d677e503f8a34980af6817359e03e042
BLAKE2b-256 7afc34310dc01e10e319165186451b397e2a43ffddabc09ab96608a514d3da03

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 429f39c1f6cf0533cb11d9fe1b9f594396bb5ad9e9a7202e395832b79f622c37
MD5 300fb82eec6a8a89c687f24450c15fbc
BLAKE2b-256 d84a4a8275a3a964c7f997d8022513c71280214683b4fc3b724dc72104442387

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72c528c8d253173c5d1b99894e07f56d491c3bee77f5546eeee4301c301952c7
MD5 a9e3501d3a8fe7965f42ae12fb32d639
BLAKE2b-256 45b61d0f4c185e640134d7ef185cfe2298136e336f4548b830b3544260cf7544

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d2866add8be46869e03f3f3198a35323c465e7cf50a76e298d149aa3b878a61
MD5 17ad6271451452dd79005b989c0cd161
BLAKE2b-256 1737cb5d6efbd83d9bc5998a1af4dd63ea2d10a855d08d24f79d99bd204390d5

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b0bca0de80f18fec00bd48249da8342eda7b51e422f7039ab700e7a6769c6a3c
MD5 840fed2237125dadc963f243455f1bcf
BLAKE2b-256 79e4f64e477df1b54ea7c03929943f6af95d8ce556135190bb683783557f5ea8

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 613.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 38ab0032e6755f17e8f709bac4da991980062d243962316aa3ecb1f84590f4ff
MD5 447ffb5dd9e1cfb674898728dd9d9260
BLAKE2b-256 01c350a510bdf6f1e540927fad174895e440b0647237d4b801983474bd953b67

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 532145d59ce9a1d8c32b2d0b61d2776e99d098a1aa4d644fe6dea8aed17d5abe
MD5 2dd499b901e82bc67ea649aa97e3cb01
BLAKE2b-256 a9a87e8ff29137754e7c09f593fa419bb57c7aa9a1cbfd4d1fa67c27f22fe97b

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eca3a7372a455945a0abca59f8f2d9a0df6d12f2c974646c5289e46957feb81e
MD5 c1a247fefd70b508e023cbd85cd960e9
BLAKE2b-256 48cccaf0dc8af21c850f3257a5d2d8d27d3357a7c1b6c3563988ce10aa01e461

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac5a38f623f98fdd45b75afa4495ef34ad716664923c93e2125a1969ea6a95d3
MD5 304c6e3d171456ad8b48d18fafdc14f8
BLAKE2b-256 8b59bb98ba9523c17823521784ea9de774644d4e731b5853f5ff2f462bc25597

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 002fd3a01354c5dfb2b5b7c68081f0524c36442a848fd2c328d49b4243b2018a
MD5 4e889d5b680cf4345210ae773e834b44
BLAKE2b-256 7969e453fbec60afe9dc7109286d5232b305f84c3eea0f663e7f14d02da4032e

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 625.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 061c9a75367ad79c0dc51e59a88a9a2ab685dea944f5ff49b7393f68a7bce2fd
MD5 c5be99e15069a4712c9bfb9d3b0891f6
BLAKE2b-256 d362c9272b96f20823d497d626719bcd1510e5807df01b50890fcd6a537fba06

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 54a3fd1c857f43a4cc4cc9ba1a0c2c2f5e016cfe151a7eda12ade158a0a17eb7
MD5 f6e39dccc9e7605065aeb4d07ca4b7ac
BLAKE2b-256 321fb42fcb49842201e515bce51d74088d9bd70035b3bcd7c5ba13f20f51b283

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe3c49f9a513190ca53d67656fa286a0cfc678c40e9deba926bdfc07aeb263c7
MD5 86545476fade9b851b3a23c490502b30
BLAKE2b-256 5ccd14f70c58adc250120812250e819c4b30f9c561e356c4735e89a3835e4edb

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc8-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc8-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e609e5b72fa240e8568ca4772e0c2d282c8fa685627038a6cd1f0eb499848602
MD5 0a448af772860a63baaf84ae0cfd484f
BLAKE2b-256 c3dcac1e48bbe10b2bb56b876c8f70010ed3b459ecf734a523d0225175356651

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page