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.0rc2

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

Built distributions (wheels)

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

Download URL mqt.qcec-2.1.0rc2.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
38e91d8ffe0e008ca52a9c414c686ad5e682f0d4208449974589c2cabb0f4f70
BLAKE2b-256 checksum
How to use checksums
12715f8f31e71d9cfa18b3910a88bf59272bdf7a7da37ab1cf7036734022333f
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.0rc2-cp311-cp311-win_amd64.whl

Download URL mqt.qcec-2.1.0rc2-cp311-cp311-win_amd64.whl
Size 819.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
af948c531242fba8cf8ea2fc6e3472c2c5a4c7b6af6bbb0efaefbffecfad79d2
BLAKE2b-256 checksum
How to use checksums
e736d8bf41b77ae6ec7b23f9e6b0a1335473e5a221af860a59e807b388d493dd
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.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
32ac43654978f0bcb90e7e5affedbafcaa789b004d79acd5fdc9181586caa8d1
BLAKE2b-256 checksum
How to use checksums
8b2d256e47d99cbd701190820cde049929524b9b8d967b2d103a3f44789d26df
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.0rc2-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
cbe95483b4c856743ce715013a56eaae3583b95ccd0c20a09e1b020ad876d23d
BLAKE2b-256 checksum
How to use checksums
c3efbedf374a67a3d32ebc5ec5456969153127a73d3304283f98ceb9ca813714
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.0rc2-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.1.0rc2-cp310-cp310-win_amd64.whl
Size 819.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6088c97f0b55ec19c7de7f5b34a1c27d90aa4cf085a4d4bf261f14f5ef7333db
BLAKE2b-256 checksum
How to use checksums
4e84d0b08f3e37f5c63eb07bc652183f30035962334f57f60f9f4f94722bd4b8
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.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
7a80961ef9437ce0335bae5544c40b64097a1b502d0a0cb0c298c26f2dcc2b81
BLAKE2b-256 checksum
How to use checksums
7ca90cd6892f7fd1bae2d05a81d3be2b1b866a0719b79a4e804fc20bbf332bc3
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.0rc2-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
b8285b67fb3435bda573256be2a3eb099f67085b3b99924ec13c208310b290e6
BLAKE2b-256 checksum
How to use checksums
7002094b4904ea7f2e2c659ef71e0ed331bab51714c67f526fd4df73738ca8cb
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.0rc2-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.1.0rc2-cp39-cp39-win_amd64.whl
Size 820.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
57923905b9775a28802acfdc17cadc3665a7918dd2b901b04f50821f3c22aa14
BLAKE2b-256 checksum
How to use checksums
e89aad184c8da5b246075dc80dd3d75c5fe8596531e38befc04701955da1f061
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.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
c11d3a8652ddc50cd1cfc85684de7e2ec0b48896db28fd4ce13061e02b840e87
BLAKE2b-256 checksum
How to use checksums
f466462d598aa5fde1a667f88a1eb94d6b10a7a670d6b695a2f63e39692ff3ea
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.0rc2-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
49959e6e4e62f91c9fb02d272995523624cea136b067b528bcc02bdf1b8c0bd6
BLAKE2b-256 checksum
How to use checksums
3b4385a438bf2b109734df7dc12ecc825724a660ea44151bc28d4c4583572d19
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.0rc2-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.1.0rc2-cp38-cp38-win_amd64.whl
Size 820.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
a56975f3a486f8c7089307726f13306e4142849b32b464604e7699c673ddbdd3
BLAKE2b-256 checksum
How to use checksums
bc001a8f79ac8ac4b410383b159503f42f910fb9cf9c2d75615d7f4be97368b9
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.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
806bf7fbcbefd0a7d517d6a4c9bd8a957b62ce4dea7a9358eef1fb192627bf1f
BLAKE2b-256 checksum
How to use checksums
f5b48474c7cd02d4866fe4be057e430ec972a44ddd9241e52f855dd5ea0fdf1e
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.0rc2-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
fc9f57c4e23cb711c041cedf086f59d0857496c4070e7b75caab15ea5782d902
BLAKE2b-256 checksum
How to use checksums
ab8c17163e3f289a51dd5eb69039a610948eb45267756d757fa18bf87b2186d4
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.0rc2-cp37-cp37m-win_amd64.whl

Download URL mqt.qcec-2.1.0rc2-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
f3fe35485513fe107d9f1c171c51d91ff55ae55d629123d9855df6f5c572ca56
BLAKE2b-256 checksum
How to use checksums
f179063abe074e4d36a56db3c281e3a6c6d7d1a9dfa917eecfb13ecdb3914d61
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.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
702d3d14013c15608f32a8110adb58408065492bd901de72345d17537dcec909
BLAKE2b-256 checksum
How to use checksums
afa780a07ac3df3cebd3acdb028dad3dbf02fc3b8caf7a70f8eebf7461d3e888
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.0rc2-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc2-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
cb574ccf4ae80fa93c6a12ec9757368e3e66f7a8a9ca00c5a7ffc6e64aa29f02
BLAKE2b-256 checksum
How to use checksums
d6c8961b29cafe35a52ebddf0f470bb3e23a1ffd97630889da5163bdfbe9760a
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.0rc2 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