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

[^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.0rc5.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

mqt.qcec-2.0.0rc5-cp310-cp310-win_amd64.whl (614.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (852.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc5-cp310-cp310-macosx_11_0_arm64.whl (634.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc5-cp310-cp310-macosx_10_15_x86_64.whl (950.3 kB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc5-cp39-cp39-win_amd64.whl (615.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (852.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc5-cp39-cp39-macosx_11_0_arm64.whl (634.1 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc5-cp39-cp39-macosx_10_15_x86_64.whl (950.3 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc5-cp38-cp38-win_amd64.whl (614.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (852.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc5-cp38-cp38-macosx_11_0_arm64.whl (634.1 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc5-cp38-cp38-macosx_10_15_x86_64.whl (950.4 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc5-cp37-cp37m-win_amd64.whl (627.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (863.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl (946.0 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc5.tar.gz
  • Upload date:
  • Size: 4.2 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.0rc5.tar.gz
Algorithm Hash digest
SHA256 04baa018bcf090afbf379088b177918de57489cdcf893780a32cf3d1c61fcf63
MD5 3e8fa341fd92b50e8b9e6bf20212cb40
BLAKE2b-256 845b9fae34ec4e7b1265610e34160bb655cedec2066702a32d2d3e1d0e900d73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1fa9ba9cea27eac2a077b126f1e033cbe627db2f286eafeac9bc6c8b3a0fc370
MD5 1c5341e5764b20490557abb45648eacf
BLAKE2b-256 bacab660103465de6c0a6e5dcffa850677d9ba6d145a6b68cd8ce41052c70b60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b8a999d9dc1e0d9277069920485b4c5f729170aceef84b4b1019ecb65e126849
MD5 141faab0e6842c15d091ff28c5ba524a
BLAKE2b-256 c38b2acafc873232608927e48e6fb305eb93a9464e05a8c9d9c97c7cbd2384e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cd9e2da013ef333e9acd3129c419034454999e54544ccfd891a36dad5da44b5
MD5 e2c1e8dd29cfc8df7980e078d938e938
BLAKE2b-256 2909dccf6ec3790523a3d6be57165b4023f961394789babf6db2d8297f11a199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bdaf7f92ec52b82515b36e4ad8cf12a3741d62280d17d45b22e820e9af66bea
MD5 59e852f744986278f6de6ce1fdd5d073
BLAKE2b-256 bb0054d50520a35025a43125b26e16c127cb34f836a90cd3755a125b6fbeea08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3da989c87cd75ffb373f110741af9b1e9768954e1ab08d68e7138ca962e82266
MD5 052016348becdb6760e6e57ca36c1dcf
BLAKE2b-256 fd9478a72783fa1395ab7b638d19153439fe02de7f9de06c25c73c38ac5cdd1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bd4317411e0e6c64bc71741c290b8b67bb38f26dea954ba288f59eab79f901e1
MD5 98e508f425656f4b0c3b3b62aff52dc0
BLAKE2b-256 8fea923d09568d5960ac54063908bc6c7d71804b2ce0b9ea768f37558415958a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f21ac8ecb3976456f62979177d227f6a5b48044c35fd47a9fc1502e46f2bbe16
MD5 fa9e5db791986b327fdfa834fb4eed5e
BLAKE2b-256 e47b8d3f062caf32827988e73c7df7218ba92f350beefc90b8261e4b3d936a32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3ac4b1abc99e413fc787f1855decc2a67cc32e28b5e882cb234eb37badf9993
MD5 de202a42765e1d87338e4356f729a765
BLAKE2b-256 4b0ad94fadfe31b4685117cd532fc36b025ff2255453626730b7138590cc48db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10aa43db05ff48b2fd73b88ad688f4ea67d355e795d95153a3dc7fc1d4da5958
MD5 b010c77084104e1f991c38a3151e4258
BLAKE2b-256 985536129a46e982a46984b9cb6c1725ac4cb89fa93638821453f6dc5bfd18c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ffdbfa9ef480c37a907cf7a60f7bb06852c9c2305b68a4cf18708af710335845
MD5 5fb3c5614dd027aa82859d532f07970c
BLAKE2b-256 ab5be5ac9204c1d48d66bc85dc33f413a08514695a29705720942bdfb0569a4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4fd353b45857bbf175f47fc3f2cecd60621ba42ec3abf482ba2a3149608772c4
MD5 a72f576092d824c083f274fd5f467cf3
BLAKE2b-256 0b19f8247174a1dff4547528eba9a5d14ade7982765d1152378d6f6f01033395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c9971e3a69061d0af446155e28256a96cba16602ddc6e058a0fea7e3bc4700fa
MD5 ce3c278559d08c3d5ed53b13b9e69597
BLAKE2b-256 06444393acfa6e9f1269a9c07828912066740ea3c0abd1bf760085c27254b307

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1beb283d7ef0cf8c96d80e1fff2ca38401892aedf7d710b75923adb57d869d56
MD5 670d0b7a06bccd8a0a36ca6695079462
BLAKE2b-256 f198d2a2bbc9cc0468708bcfc3c05eee1ce434199b09c7b2cf4000e2b036598a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0608f5b67fd0085640baa18ef1613006215abce18e8fa0fcbcb91e6d2cd717a3
MD5 c63cd82e627aaa013a6e8b13406390fa
BLAKE2b-256 86ac401f295b9d0ec3ba33888570a770d505fccdb5816d98ce7074331d820e05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 eff5d909bceacdc84cc31d24fe392687ca42b2283944e70203aded72ec38db27
MD5 df9bfde1c88df46377429a6d9164c4e2
BLAKE2b-256 43d15bf72cdc9b09997124cc33b58a0de2d49a1abadc7f7b394a8b65aecd444f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 423ee35524a3ebd9f9c099765feb69b063821de71b1045a2193b57be24f478e6
MD5 529d5e2c913fab8862fcd71933c1971e
BLAKE2b-256 ac1c189a6185212b881250175804460641e28753f1ad8e848c4dc088feb5175e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a2691e890dec27e43a283ff11844579edb622a44089f49322243f2b1a168f0f4
MD5 cd98467c2ad83a527a004203e4f4469c
BLAKE2b-256 62ea70196724cdebbaab0c12cf0479d362cd80074263a20c673bf654a2690fbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 413d1951e25adf6f11febe0ea0a7e46dc3d4a66dd6bc25d371d1a079a07b3c20
MD5 f0c1a3d5590b9c77f733657ef0189f07
BLAKE2b-256 dbab3f9ff8e80ff1d66067381d835fb8fde89bca886fb58bd8bf7755fdc962ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2ef1aa5513a4233ed70dbfa72467612dfa937116ceb6e86cb5fdeecbda390794
MD5 df368f2fab6e998346e275b18bf967ba
BLAKE2b-256 13061e8d31c61df9ed82b842b018ccc9cd5476f7decf8ece5d9f600057970505

See more details on using hashes here.

Supported by

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