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

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.0rc6
File Size Uploaded
mqt.qcec-2.0.0rc6.tar.gz 1.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qcec 2.0.0rc6
File
mqt.qcec-2.0.0rc6-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qcec-2.0.0rc6-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.0rc6-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.0rc6-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc6-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc6-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qcec-2.0.0rc6-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.0rc6-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.0rc6-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc6-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc6-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qcec-2.0.0rc6-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.0rc6-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.0rc6-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qcec-2.0.0rc6-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qcec-2.0.0rc6-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qcec-2.0.0rc6-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.0rc6-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.0rc6-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 18.7 MB

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

Download URL mqt.qcec-2.0.0rc6.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
663024bb7cb1460e852da09dfeb39622ff2cadac49538acee2d6242803909f16
BLAKE2b-256 checksum
How to use checksums
9ac3698b4eb5fad595d4b1f3f7d0b15998d2396d40fe2ca37075719d6af452fa
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.0rc6-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.0.0rc6-cp310-cp310-win_amd64.whl
Size 602.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2a704404189afaf9d683cc004be9b449bdbaf55c97542cca88c494e7e8f0499a
BLAKE2b-256 checksum
How to use checksums
5d79bd776bd87d36e51ac4fda90e5134965118dac9e64f239142100542348b06
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.0rc6-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-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
f2fe2ffed0798d9af84264c035c8dce3cba5d914cb363bc3b5ae231c1488c587
BLAKE2b-256 checksum
How to use checksums
e72ec0d885cd3886b18c2375b9caced0c27165c9fb851707373b4f9d2f1978ef
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.0rc6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 859.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ba04548bfcce1ec4f51a7e60e76166cf9ae78ee01375ac04f9dd705d2b2b5c5f
BLAKE2b-256 checksum
How to use checksums
185db36073f06e8f67cb742c0372bf40370274d2696e179df4da2de41acd238e
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.0rc6-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc6-cp310-cp310-macosx_11_0_arm64.whl
Size 631.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9fc35fdcb008d00d308460cb2726ac94a8b6bd633c1d643dd8acd70167e33022
BLAKE2b-256 checksum
How to use checksums
c67d79318c0202282f0d185434628a2d6afa00c12d4777f335ce985aff0a2a01
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.0rc6-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp310-cp310-macosx_10_15_x86_64.whl
Size 946.5 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
67101f26d55d35af868bc164a25e6d6318ce04c18c876afa2dc780a1fbdd75da
BLAKE2b-256 checksum
How to use checksums
2316c8273c0bd5bcf41fdfd527de1eb5666b3455eca6a8dad46400d90efc7a45
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.0rc6-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.0.0rc6-cp39-cp39-win_amd64.whl
Size 602.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
976ce5a92ea64804a150b821bdbde1eb5d6b970cfdafaacd8ca56e27deb6e2aa
BLAKE2b-256 checksum
How to use checksums
43edd9e2ab650312996b81fb73ed14d8d811e2f994e598e738ea2905c3658533
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.0rc6-cp39-cp39-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-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
2583f5d362120b9394858bf8e0fee485ebc7288e8fa9c9f703c2e0f20b00fc4d
BLAKE2b-256 checksum
How to use checksums
ce2dabfcfc9f84b42d5fea593ad60e9f3ea758d309d75f40af7f1d14c164aef1
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.0rc6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 860.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
29c839a1cd2f6ae3f9eb115f4e8993c4bacf45de33911d664df1a205011751a4
BLAKE2b-256 checksum
How to use checksums
421c780fe65e42616e43f6a2d8b7cf087b77efea08cf46a8164c63da2a87282f
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.0rc6-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc6-cp39-cp39-macosx_11_0_arm64.whl
Size 631.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
628307a056efeae173a8c8e51807925034aeb5a44b626623a6ffaa6974ea5f51
BLAKE2b-256 checksum
How to use checksums
117551711ae0c73da84fd52d844b96960d0042852f27d616bbd2b0661bfba864
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.0rc6-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp39-cp39-macosx_10_15_x86_64.whl
Size 946.6 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b1ae8ba30e8f289ddd70ead0ed808ce07a42f105f03dc272a0d7481814da8bcc
BLAKE2b-256 checksum
How to use checksums
ca9df1941b4aa222e3c75fd7b792a60085f8999bd69ba8b4014c236159d31bb6
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.0rc6-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.0.0rc6-cp38-cp38-win_amd64.whl
Size 602.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
70f8df61db88a18055c789920f9a7a87f44b79b85a9260bb4f72fff926796535
BLAKE2b-256 checksum
How to use checksums
2f4b1209a3c3614814522486fb75ea113738df499a6e8897f84f888e2ad4b44d
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.0rc6-cp38-cp38-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-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
46cd7d386006e85e41754a136e7b79ed782d8be6ba8a53ecaee4ae196029c4ec
BLAKE2b-256 checksum
How to use checksums
9b77882d924f16a0fb0bf18af1c21129d234730342f5950ab62d1165504a3c68
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.0rc6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 859.6 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c017ae0024ab96566d6e1cd93e1147683cfbfbf76c275a06b287ebd3ea48f32d
BLAKE2b-256 checksum
How to use checksums
66719d56827503abdddc0ac7fb58fa02efdf3d283cc2d9a26ddd26945d6bfcd6
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.0rc6-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.0.0rc6-cp38-cp38-macosx_11_0_arm64.whl
Size 631.7 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
646a72dfeb757d7275e988f997b4e83353b8557f53011138665510d07ccb4186
BLAKE2b-256 checksum
How to use checksums
0913e00590ba69febffb7ed6a77e9000749c696b610ea9f319dbd31b8bcac1ec
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.0rc6-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp38-cp38-macosx_10_15_x86_64.whl
Size 946.7 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
207bc2e80962858e9e292c213c41e574ea2a02a45d72d4766b4771dbdfe26436
BLAKE2b-256 checksum
How to use checksums
0a770a6ea3dfb27857a6b96bd6caba9cc7b1f83a90c3ef814f02bd5ca57d0f32
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.0rc6-cp37-cp37m-win_amd64.whl

Download URL mqt.qcec-2.0.0rc6-cp37-cp37m-win_amd64.whl
Size 615.5 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
11a15a5589fab8cdbe490e8f34b17f709bd2da3179d007a86dcebd7e9bff5754
BLAKE2b-256 checksum
How to use checksums
c2002c477121e2f03c1047d2ecedafb7ea03fd30738b002e0e34db6f8d4b508b
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.0rc6-cp37-cp37m-musllinux_1_1_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-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
189128b2d429e4c31d17e45fd142463214d76be0013ecbddf8974a7d7d7de930
BLAKE2b-256 checksum
How to use checksums
1f176f490cff9ee1f969c6f533bd84dd14c9820ac5a4f8c5e784454b1e8fedaf
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.0rc6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 870.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6fb39d9dc555c5daf761ae7d69a3fe4d5c964dca07af701481cc1d2a1b81c2a2
BLAKE2b-256 checksum
How to use checksums
1ef5fd200d3ca767254f0a65d04209c2d3cfd7fc809b7057fbe9e1cef2476ba3
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.0rc6-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.0.0rc6-cp37-cp37m-macosx_10_15_x86_64.whl
Size 941.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b565ba6630f0cf330b8cb921e36c5342d6571f2c526192255f58ed8c84ab3963
BLAKE2b-256 checksum
How to use checksums
5b82d24eab64004e913c6998aae714d40de60ddbb9f077085462b498ffc4b9dd
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.0rc6 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