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 by the Chair for Design Automation at the Technical University of Munich. QCEC is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz). It builds upon our quantum functionality representation (QFR) and our decision diagram (DD) 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

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.0rc3.tar.gz (1.3 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.0rc3-cp310-cp310-win_amd64.whl (543.0 kB view details)

Uploaded CPython 3.10Windows x86-64

mqt.qcec-2.0.0rc3-cp310-cp310-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (719.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc3-cp310-cp310-macosx_11_0_arm64.whl (576.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mqt.qcec-2.0.0rc3-cp310-cp310-macosx_10_15_x86_64.whl (629.4 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

mqt.qcec-2.0.0rc3-cp39-cp39-win_amd64.whl (543.0 kB view details)

Uploaded CPython 3.9Windows x86-64

mqt.qcec-2.0.0rc3-cp39-cp39-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (719.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc3-cp39-cp39-macosx_11_0_arm64.whl (576.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mqt.qcec-2.0.0rc3-cp39-cp39-macosx_10_15_x86_64.whl (629.5 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

mqt.qcec-2.0.0rc3-cp38-cp38-win_amd64.whl (543.0 kB view details)

Uploaded CPython 3.8Windows x86-64

mqt.qcec-2.0.0rc3-cp38-cp38-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (719.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc3-cp38-cp38-macosx_11_0_arm64.whl (576.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mqt.qcec-2.0.0rc3-cp38-cp38-macosx_10_15_x86_64.whl (629.6 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

mqt.qcec-2.0.0rc3-cp37-cp37m-win_amd64.whl (555.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

mqt.qcec-2.0.0rc3-cp37-cp37m-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (729.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl (624.5 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc3.tar.gz
  • Upload date:
  • Size: 1.3 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.0rc3.tar.gz
Algorithm Hash digest
SHA256 eba1f8f9de4b387aa9bef32bdba45c65f20a5046fa38a68e351697c54d255af5
MD5 6152cc079f7ab1e587e68c7cb02f6c5a
BLAKE2b-256 808a30c7c0633e3771baa3ed0e0a36362d5beb1065879b5dac8e3744c25c425e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c70393f4d14bf3a59e2a23944f125c1cab1b049051f2817ed1a24c6904354c9b
MD5 9b7b15b0eae2d6b522a0d77f305fe676
BLAKE2b-256 b84e5107ebaecafd1146b471e2b53e39a31be1c51966eb5ecdac270f56d9c131

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 55aa7192c1d22863f62448074e3c7cb0e316044425de01bb0d6555fefabbe6a4
MD5 79283a62cf5c80ffda7f366d643bbb4b
BLAKE2b-256 3087f9cc74cfe3ddb4dcf4819aaa336af2ac7f47bf143914eae4da8244afae10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4770af489940e8b4f04ba118a2801b156dbf1f61050c9130a990a6fce3d14a82
MD5 6c16dca9d89f8d1db295108035e6580a
BLAKE2b-256 0d4633e6b47b8b786e3767362dce56431e8a989fdc163e5deb2f4a67b674ba1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee03f73ede437658ebdf90ba43e3dcb2cf9cf7581e417ce7981a3136c1cf8abe
MD5 8da4f790afecde1868af356c549236cd
BLAKE2b-256 48a60a439b3a3ec0f48900e86be5511cd5172e88245e39a0a20606c065100147

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d390440268061196842cb2ed9dedb23b76aae265b5af521d15393728ba960022
MD5 45a79ffb457826baac63d1761755671c
BLAKE2b-256 fbf173938d4d247f4b1d8fcb511018428c2268790671cf1bc75a5cd1856b361b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 543.0 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.0rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 77d7152b624d2b197634c681ba48f244fe2624d8e39f433f79aaf8cf37a793df
MD5 29905ec3c52635fe8d6a95ff4056d6f8
BLAKE2b-256 c1b04f9b73df1e5cd7cc2b925498990f6fefc02a3c06732d7fdbfdd1aa71f499

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7028a466e82ddc2f69dd33e3fd018bbae122331ca422baa3b1246e8709ed3d8f
MD5 f70a72d138b1373ea0045f212fa2f98d
BLAKE2b-256 33e864f67d898e829c976abbaf6307f04de073d6062f2bfff11f20cb536c6596

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2a163a13da92c6fff9649eee4beb6c616fb7f249efd6c00586829543842bbbe
MD5 1c94fc67f362f5778e13f54fc1e89cad
BLAKE2b-256 cc15d384397a44ca06a88e3a896073f2fc15cbde45ffe14e167d4802001944f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86a10700c62ac4ccf39e8db9f0bf9e8371de3c69a13781c2176c4401b9d63d56
MD5 9a70b04ffea89d49de6888b9d2e1387d
BLAKE2b-256 89407d7ec3b119b18802b26ff90b947e1fe46dde489caa34d3be95f65e677713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1ec3471e07ae538711ed1a80c2294e293902bc60c4cf0eeb60066615d0b7db02
MD5 468c43c4a0ab1563b6f11fad6edde382
BLAKE2b-256 8305d16b4080bfac989f0bbafae7a49f00855b58520e710b51b386c7633fe5c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 543.0 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.0rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0ff1a47cfa09ccb2f22775e1089ff8d7b2512cff286a792e01a4a3bac884d969
MD5 84f37b53da96e1a4e159dacdfdbf8a7f
BLAKE2b-256 6f4f32c86ad3654819da5581d326c322d3ff73c391847294dccc0b09b51e6afd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5363f61cddf699ab37ad93c1ca25ddd80105e28a7531f4c312ecf1b1040f91ca
MD5 f570199b84e0094af274a20b17ee8d61
BLAKE2b-256 3044abd08b85d995d616d7780630d37241446ca384b87ff8e72ddfbe7b31bc8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d2b5924b838e7b1eb1bc0b956bab84044795ee7f2efd0869814ccb7c2cf8c6c
MD5 63c13632ffab47633edd671b5aef62dc
BLAKE2b-256 27b2ddc7246160a1ff73e31805569e8b7b3ae06e7a8c324d4770eebd846f8078

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c69897b0a15bb3d8dd8baa8dfa6cdf8350e425e7393ec1b69a95e97278c2893e
MD5 eb18da6905cd48a986836741049b4cba
BLAKE2b-256 dbfe4539f3f6733bab14cf17316557dfb3d1a6ee8b654e92c82c98ca3855e8c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7109eb3263d11a4cac947fc1fa5760e5f7bdec2ee30ff7bb96456525adb02656
MD5 b2a1b430d317d03b4f5e8ae6e2c6f1f4
BLAKE2b-256 c92a7d89b92a9fc338c009242fcd861d3996df52dbd1586349409cf8378b22a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 555.4 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.0rc3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 510f71473cd54da87ff098c1c3a7e401899184a5a4468af76092731b58a9c0d1
MD5 5a9fd1c9bff1563750dbab1d5e325b0c
BLAKE2b-256 51ce4a925a8458ff94019171d76e5ca43ba0b00016d916d969d6f1489629c6b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 43ce625669cca8da7da92aad7399dacbc0bc423660c0f00c4fffa8ff62ed5ebd
MD5 f2ff625e855d144075757d854f7b7a4e
BLAKE2b-256 f84bfadd3c9076210adb7cc3768f4148621023ad9aa59eb6d656ea02ef8d3683

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8984e44cfca3dcb0f6efbdd02b69802ea0e5e69942a0e3a4409a9dd6e5d5134
MD5 0eb2b227ace9ee933df1e1e23437f343
BLAKE2b-256 3b57bee7e764b108631c37b1abc71fb7d2f1d33b11453952ca72772b606ac340

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 89baaa7a6ce8bb96bc9d53b830155b3cccb0d5275ed1ee61fe5599b804dfb7a9
MD5 44188ffaf908a9c2343985a6553f7ae7
BLAKE2b-256 8fcc327aea200eb885f9232ff088add07efb27d123aa91de0164bc1e2ef81926

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