Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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). ↩

Metadata

Release files for mqt-qcec 2.0.0rc5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mqt-qcec 2.0.0rc5
File Size Uploaded
mqt.qcec-2.0.0rc5.tar.gz 4.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qcec 2.0.0rc5
File
mqt.qcec-2.0.0rc5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qcec-2.0.0rc5-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
mqt.qcec-2.0.0rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
mqt.qcec-2.0.0rc5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc5-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qcec-2.0.0rc5-cp39-cp39-musllinux_1_1_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.1+ x86-64 Details
mqt.qcec-2.0.0rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
mqt.qcec-2.0.0rc5-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc5-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc5-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qcec-2.0.0rc5-cp38-cp38-musllinux_1_1_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.1+ x86-64 Details
mqt.qcec-2.0.0rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
mqt.qcec-2.0.0rc5-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc5-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc5-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qcec-2.0.0rc5-cp37-cp37m-musllinux_1_1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64 Details
mqt.qcec-2.0.0rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
mqt.qcec-2.0.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 21.2 MB

Release files / mqt.qcec-2.0.0rc5.tar.gz

Download URL mqt.qcec-2.0.0rc5.tar.gz
Size 4.2 MB
Tags Source
SHA-256 checksum
How to use checksums
04baa018bcf090afbf379088b177918de57489cdcf893780a32cf3d1c61fcf63
BLAKE2b-256 checksum
How to use checksums
845b9fae34ec4e7b1265610e34160bb655cedec2066702a32d2d3e1d0e900d73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.0.0rc5-cp310-cp310-win_amd64.whl
Size 614.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1fa9ba9cea27eac2a077b126f1e033cbe627db2f286eafeac9bc6c8b3a0fc370
BLAKE2b-256 checksum
How to use checksums
bacab660103465de6c0a6e5dcffa850677d9ba6d145a6b68cd8ce41052c70b60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp310-cp310-musllinux_1_1_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
b8a999d9dc1e0d9277069920485b4c5f729170aceef84b4b1019ecb65e126849
BLAKE2b-256 checksum
How to use checksums
c38b2acafc873232608927e48e6fb305eb93a9464e05a8c9d9c97c7cbd2384e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 852.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3cd9e2da013ef333e9acd3129c419034454999e54544ccfd891a36dad5da44b5
BLAKE2b-256 checksum
How to use checksums
2909dccf6ec3790523a3d6be57165b4023f961394789babf6db2d8297f11a199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc5-cp310-cp310-macosx_11_0_arm64.whl
Size 634.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9bdaf7f92ec52b82515b36e4ad8cf12a3741d62280d17d45b22e820e9af66bea
BLAKE2b-256 checksum
How to use checksums
bb0054d50520a35025a43125b26e16c127cb34f836a90cd3755a125b6fbeea08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp310-cp310-macosx_10_15_x86_64.whl
Size 950.3 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
3da989c87cd75ffb373f110741af9b1e9768954e1ab08d68e7138ca962e82266
BLAKE2b-256 checksum
How to use checksums
fd9478a72783fa1395ab7b638d19153439fe02de7f9de06c25c73c38ac5cdd1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.0.0rc5-cp39-cp39-win_amd64.whl
Size 615.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
bd4317411e0e6c64bc71741c290b8b67bb38f26dea954ba288f59eab79f901e1
BLAKE2b-256 checksum
How to use checksums
8fea923d09568d5960ac54063908bc6c7d71804b2ce0b9ea768f37558415958a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp39-cp39-musllinux_1_1_x86_64.whl
Size 1.4 MB
Tags CPython 3.9 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
f21ac8ecb3976456f62979177d227f6a5b48044c35fd47a9fc1502e46f2bbe16
BLAKE2b-256 checksum
How to use checksums
e47b8d3f062caf32827988e73c7df7218ba92f350beefc90b8261e4b3d936a32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 852.6 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a3ac4b1abc99e413fc787f1855decc2a67cc32e28b5e882cb234eb37badf9993
BLAKE2b-256 checksum
How to use checksums
4b0ad94fadfe31b4685117cd532fc36b025ff2255453626730b7138590cc48db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc5-cp39-cp39-macosx_11_0_arm64.whl
Size 634.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
10aa43db05ff48b2fd73b88ad688f4ea67d355e795d95153a3dc7fc1d4da5958
BLAKE2b-256 checksum
How to use checksums
985536129a46e982a46984b9cb6c1725ac4cb89fa93638821453f6dc5bfd18c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp39-cp39-macosx_10_15_x86_64.whl
Size 950.3 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ffdbfa9ef480c37a907cf7a60f7bb06852c9c2305b68a4cf18708af710335845
BLAKE2b-256 checksum
How to use checksums
ab5be5ac9204c1d48d66bc85dc33f413a08514695a29705720942bdfb0569a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.0.0rc5-cp38-cp38-win_amd64.whl
Size 614.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
4fd353b45857bbf175f47fc3f2cecd60621ba42ec3abf482ba2a3149608772c4
BLAKE2b-256 checksum
How to use checksums
0b19f8247174a1dff4547528eba9a5d14ade7982765d1152378d6f6f01033395
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp38-cp38-musllinux_1_1_x86_64.whl
Size 1.4 MB
Tags CPython 3.8 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
c9971e3a69061d0af446155e28256a96cba16602ddc6e058a0fea7e3bc4700fa
BLAKE2b-256 checksum
How to use checksums
06444393acfa6e9f1269a9c07828912066740ea3c0abd1bf760085c27254b307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 852.3 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1beb283d7ef0cf8c96d80e1fff2ca38401892aedf7d710b75923adb57d869d56
BLAKE2b-256 checksum
How to use checksums
f198d2a2bbc9cc0468708bcfc3c05eee1ce434199b09c7b2cf4000e2b036598a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc5-cp38-cp38-macosx_11_0_arm64.whl
Size 634.1 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0608f5b67fd0085640baa18ef1613006215abce18e8fa0fcbcb91e6d2cd717a3
BLAKE2b-256 checksum
How to use checksums
86ac401f295b9d0ec3ba33888570a770d505fccdb5816d98ce7074331d820e05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp38-cp38-macosx_10_15_x86_64.whl
Size 950.4 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
eff5d909bceacdc84cc31d24fe392687ca42b2283944e70203aded72ec38db27
BLAKE2b-256 checksum
How to use checksums
43d15bf72cdc9b09997124cc33b58a0de2d49a1abadc7f7b394a8b65aecd444f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp37-cp37m-win_amd64.whl

Download URL mqt.qcec-2.0.0rc5-cp37-cp37m-win_amd64.whl
Size 627.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
423ee35524a3ebd9f9c099765feb69b063821de71b1045a2193b57be24f478e6
BLAKE2b-256 checksum
How to use checksums
ac1c189a6185212b881250175804460641e28753f1ad8e848c4dc088feb5175e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp37-cp37m-musllinux_1_1_x86_64.whl
Size 1.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
a2691e890dec27e43a283ff11844579edb622a44089f49322243f2b1a168f0f4
BLAKE2b-256 checksum
How to use checksums
62ea70196724cdebbaab0c12cf0479d362cd80074263a20c673bf654a2690fbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 863.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
413d1951e25adf6f11febe0ea0a7e46dc3d4a66dd6bc25d371d1a079a07b3c20
BLAKE2b-256 checksum
How to use checksums
dbab3f9ff8e80ff1d66067381d835fb8fde89bca886fb58bd8bf7755fdc962ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release files / mqt.qcec-2.0.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl
Size 946.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2ef1aa5513a4233ed70dbfa72467612dfa937116ceb6e86cb5fdeecbda390794
BLAKE2b-256 checksum
How to use checksums
13061e8d31c61df9ed82b842b018ccc9cd5476f7decf8ece5d9f600057970505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.13

Release history Release notifications | RSS feed

3.9.0

31 release files

3.6.1

25 release files

3.6.0

25 release files

3.4.0

25 release files

3.3.0

43 release files

3.1.0

37 release files

2.8.2

31 release files

2.8.1

43 release files

2.7.1

50 release files

2.6.0

36 release files

2.5.0

36 release files

2.4.5

36 release files

2.4.4

36 release files

2.4.1

36 release files

2.4.0

36 release files

2.3.1

36 release files

2.3.0

26 release files

2.2.2

21 release files

2.1.2

35 release files

2.1.1

35 release files

2.0.0

25 release files

This release

2.0.0rc5 This release

20 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page