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 Python 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 .

Documentation

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)

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

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

a T. Peham, L. Burgholzer, and R. Wille, "Equivalence Checking of Parameterized Quantum Circuits: Verifying the Compilation of Variational Quantum Algorithms," in Asia and South Pacific Design Automation Conference (ASP-DAC), 2023

  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.1.0rc1

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.1.0rc1
File Size Uploaded
mqt.qcec-2.1.0rc1.tar.gz 1.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qcec 2.1.0rc1
File
mqt.qcec-2.1.0rc1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qcec-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
mqt.qcec-2.1.0rc1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qcec-2.1.0rc1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qcec-2.1.0rc1-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.1.0rc1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qcec-2.1.0rc1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qcec-2.1.0rc1-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.1.0rc1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qcec-2.1.0rc1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qcec-2.1.0rc1-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.1.0rc1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qcec-2.1.0rc1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qcec-2.1.0rc1-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.1.0rc1-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 15.2 MB

Release files / mqt.qcec-2.1.0rc1.tar.gz

Download URL mqt.qcec-2.1.0rc1.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
afa68c0514c42c076f485541a1289e6a3664c3a6aeb397c93581ac33f095be52
BLAKE2b-256 checksum
How to use checksums
ae893cc9484a899d4826e0c01b08fb04fdae53b76b9a3092b9697c345e126146
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp311-cp311-win_amd64.whl

Download URL mqt.qcec-2.1.0rc1-cp311-cp311-win_amd64.whl
Size 819.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
fb9fd91dd50a822bf97766d874d789815da77cf923fbbc95b6b5e28526941488
BLAKE2b-256 checksum
How to use checksums
e458c54c5641980572843dfb381508f16065679c44c61b444f5e34c817e17c98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 885.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
876fb5f104ba1370a9be52801fb2e4dd53c4418fa08cb6f62fcf68624167a4d4
BLAKE2b-256 checksum
How to use checksums
3988b909298b6837d8344b71772883ab104e386d1cf4dab6a4319e4849a97ed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp311-cp311-macosx_10_15_x86_64.whl
Size 977.7 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
48ac199bfb20f65fe51db7976a69388b64d6e991cd258cd6eead430c1d174e4b
BLAKE2b-256 checksum
How to use checksums
6c61283504ebfac29c237ff1dd43887d59d79c2935228477ca0d7bb40a0d1292
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.1.0rc1-cp310-cp310-win_amd64.whl
Size 819.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c1a158e63bac1da4e25a43f8ce795f2186c6aa5f170d9e8893723cc2ddbc53dc
BLAKE2b-256 checksum
How to use checksums
1b0e29f49467736c2b7619697f2fbce41d9162e00b27fbe7cee24dbc71a2e2f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 885.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c3a3d29be4fca16f76b7eee9015b61d2964f591119b8bedd4222060f71075b91
BLAKE2b-256 checksum
How to use checksums
5ea9059bd7c900fcbcd3b76500d2c123d77da9c168700f69ae0b797efb7fff68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp310-cp310-macosx_10_15_x86_64.whl
Size 977.7 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
dc443eefaad47ce45503cda1fee9f5d1639fc7750e85050022f86cb9bfdd25c4
BLAKE2b-256 checksum
How to use checksums
d037cc3c45209fe5900e3430ed4dcd010415e352c56041f74d42a56da5ec8b61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.1.0rc1-cp39-cp39-win_amd64.whl
Size 820.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
e1e3547520ef79c62ad6ea358ba70ee8e43551efab4cb04cb81d46b2841ab560
BLAKE2b-256 checksum
How to use checksums
b39f5e71502417a6e5a816db7c995d828e4b6f9913c206cdbaac2a9aada10fe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 886.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
aac2516cfadda376cb17f0ccb57fea2b2227ea93d64cbc3ef5b4740e790d404a
BLAKE2b-256 checksum
How to use checksums
31e4fa1be964b0dc9ea725c0e730594fc269a312a67f5a396329234229e1570d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp39-cp39-macosx_10_15_x86_64.whl
Size 977.8 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
751d24e15c4350120bf1f07becc8aa4936bb9bbc4cae39ac6f29323934382a33
BLAKE2b-256 checksum
How to use checksums
821efd55fa007aa6d7edd240e6ce160d0a7fa5bba39acc1b494e5d18b038fe75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.1.0rc1-cp38-cp38-win_amd64.whl
Size 820.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
207c6742bdb13d2d44c0f6f064a4cc5c162acf440c0770a15d6636cca1e3f718
BLAKE2b-256 checksum
How to use checksums
f7cbd394a82837a45351c039c68c9d1149c66de3efb636c48bbb89fe46020841
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 885.6 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f14daa45e8e272bdd6bcc5bf396c0c2b1ad5556a3a4886950b477d7f4c7ae82d
BLAKE2b-256 checksum
How to use checksums
6713a71867dc8644acf16d91d4474b9dd19b1902f6adda331583d63ea8ffe9a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp38-cp38-macosx_10_15_x86_64.whl
Size 977.8 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e0339507f8c1a800f1bbc4edb604b530d33f8136eb72fa98cfa8e9a37649b50d
BLAKE2b-256 checksum
How to use checksums
c8b0ff9f87b5f9b33fb807dab90098f8a157991ca5c0a50b3f130bc9d0b426a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp37-cp37m-win_amd64.whl

Download URL mqt.qcec-2.1.0rc1-cp37-cp37m-win_amd64.whl
Size 852.9 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
fddcc79bc00051c06aa939985efdbda222dd6b3208e02fc9a4cd300b80e231f5
BLAKE2b-256 checksum
How to use checksums
8a16ca95fdf23ba54002f5920b9462805f796a7fd4946b6a56e76d0483619372
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 896.9 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
344011bf94896ce92254a3bd7f4dd68f99627edab3c92dc45b91cc500ad9b3c6
BLAKE2b-256 checksum
How to use checksums
dc62c4d8a0dd559c0367deb7c8a56eb30d3d242f4668725bb61c2c881be6c850
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / mqt.qcec-2.1.0rc1-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc1-cp37-cp37m-macosx_10_15_x86_64.whl
Size 972.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e28d878d84d647e08dd8768acd45e7fa92af2b9b532ef2641c676d46e61b5192
BLAKE2b-256 checksum
How to use checksums
9dde0a8d3787a16b7fc01a4f470df2a03e2ac6a7db377ea57994e40b6886f62a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

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

This release

2.1.0rc1 This release

16 release files

2.0.0

25 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