Skip to main content

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 and supports Python 3.8 to 3.11.

(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, a minimum CMake version of 3.19, and Python 3.8+. 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.2.3

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.2.3
File Size Uploaded
mqt.qcec-2.2.3.tar.gz 1.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qcec 2.2.3
File
mqt.qcec-2.2.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qcec-2.2.3-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.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
mqt.qcec-2.2.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qcec-2.2.3-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qcec-2.2.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qcec-2.2.3-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.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
mqt.qcec-2.2.3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qcec-2.2.3-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qcec-2.2.3-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qcec-2.2.3-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.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
mqt.qcec-2.2.3-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qcec-2.2.3-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qcec-2.2.3-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qcec-2.2.3-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.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details
mqt.qcec-2.2.3-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qcec-2.2.3-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details

Total release size: 18.6 MB

Release files / mqt.qcec-2.2.3.tar.gz

Download URL mqt.qcec-2.2.3.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
2309e3a4908ef891a6141880f016a414e9b3ba089854d0e71cba5568e03732a1
BLAKE2b-256 checksum
How to use checksums
b9864a85d7f5508b9ed2660cbf062f4e840ae1c0135a47f337ecc7e1a6058df4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp311-cp311-win_amd64.whl

Download URL mqt.qcec-2.2.3-cp311-cp311-win_amd64.whl
Size 861.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
327e96e52e8a791e50f1f1f0aacde1d1fdb75dbeaab1d24c0c82a4eb0c104208
BLAKE2b-256 checksum
How to use checksums
2046bf09419bdc5b6703e488e870d515d07a9293543e63a0f4e27a8e9246178c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 766.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d7104a4df7a5adae899967ceebb4b34c00cde0d2cce52b71fc25128dc95fb3c6
BLAKE2b-256 checksum
How to use checksums
5c14a82c12e689c1f04b951b9c6a1b909758f71c0a8b52c4c0c77c619940f3fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 709.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
64494b6005b4c0914331aafa1fb995b57334bcaa3d93bf5de304462222944042
BLAKE2b-256 checksum
How to use checksums
ccf62b38d0ca7547e5980edfbbfec7c92f09d9e9bae48d68cac77e640617d9ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.3-cp311-cp311-macosx_11_0_arm64.whl
Size 888.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
66ad61d1ad353a5e0bda5ea0191e8d35948635e2d155526b4907584b4354257d
BLAKE2b-256 checksum
How to use checksums
30ef522db66359a8b8f4eb7667402315006c9bc065df9f62923acac46cd2b249
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.3-cp311-cp311-macosx_10_15_x86_64.whl
Size 981.6 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a2079e931d0434c4dd6d6ccd3afaac1d0cd76c18bad5ecc0c3caef62feb4d582
BLAKE2b-256 checksum
How to use checksums
8cc09589802b3da1ad23d3bf102904f8f75c7ecd2ba2a00bf18f06d1834e198f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.2.3-cp310-cp310-win_amd64.whl
Size 861.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
93f51f110a8123d76644ae7cc43b1933d9019a8237ad3d739e50cf10445735f5
BLAKE2b-256 checksum
How to use checksums
b65f1f64d20625ade46df128c58b07744dac78985ae5a7bb84d7a43185ffbe0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 769.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
edb8a6936a10ef8a66a3fc789b4bd94a83bc536a42223e26797a131536917b53
BLAKE2b-256 checksum
How to use checksums
8e87bad9af8d7645411f974825d8ef7b730027d82568614e89b5d8865894547a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 709.7 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
31b93be35c6d3448218aa9dfcfe4daaad07da188ef8ad560040acdd808b323d2
BLAKE2b-256 checksum
How to use checksums
a1d804441257607a213437a5c6575f86d8d45bc7196f90d3b59723ba3ec2fef3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
Size 887.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
72b09ba6418ac72cee265ede01b6dca55d7fe0e594599dfddf91b9ac0e0e8167
BLAKE2b-256 checksum
How to use checksums
af2621644aa29eced40b995c9d2964ca68fa2f08c88ba2aab2295abb28eac3b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.3-cp310-cp310-macosx_10_15_x86_64.whl
Size 981.6 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9e7e2b94e6fae2cca03a72d214feff5386959001899de76b57c86023b6bdf850
BLAKE2b-256 checksum
How to use checksums
bd8e40394a8aa1fe518b12e55e41b6c78a949932d972756b6c58c4375dcbcde8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.2.3-cp39-cp39-win_amd64.whl
Size 862.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a2926c984da85a818810f8ad0bf2a866a0d842e78ce2063c42010ad188cb23ed
BLAKE2b-256 checksum
How to use checksums
a4f5caa2320f71d8f415f872611c64ccbf40d711dfed34fd2bba626105b87115
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 768.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ba21998a419dc278d420f69c50dc6f6844f6afb94312f4822f45b8827ba911ce
BLAKE2b-256 checksum
How to use checksums
38ed142a994d976f1f66d403ada7d01b23e559e4ba432edf77b9f900cd3ab9e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 710.0 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ecdf0e9a8e4d46ac20f408c5f8c2a221b4190088b3626dc5c02a2f77b06110d0
BLAKE2b-256 checksum
How to use checksums
5f95e7e2c27a15e25cc2584699fd1714a018c816fbf1b211861542091acbcad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.3-cp39-cp39-macosx_11_0_arm64.whl
Size 888.0 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c51f8d2a2c830f7892b6a1ab46be6fb9be141ef5f89c92a88b9659893234991e
BLAKE2b-256 checksum
How to use checksums
11162b2ec34256b8b69d3d11ffd4996805a6f56563957b9deddcf3ebdb9d5e1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.3-cp39-cp39-macosx_10_15_x86_64.whl
Size 981.8 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9028d7c326c48773188594217560cc8cc047a3d5ddebc9ae9d65de62b1f9f448
BLAKE2b-256 checksum
How to use checksums
9c7df48662a142dc7bbf3b9d78927fe0216f25cb6e3c509f34a5758d30623068
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.2.3-cp38-cp38-win_amd64.whl
Size 876.5 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
3291afc1190d4be66cbbad9e7dd4da01ce00fcef23163f50df3ad567325effb9
BLAKE2b-256 checksum
How to use checksums
f392ce019d6a3cf1ab8542817e6e886f03d14d0bb3438f99c0c657b8eaedc546
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 765.9 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6d03e31a33eac6238e484e31bd1437f9435b2b5fff0b72832494c8d062bcff63
BLAKE2b-256 checksum
How to use checksums
1e84ac7e77e59b0964bf63d80dabd61e2ade68ece664303ec42ce0b2ba557cb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / mqt.qcec-2.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 710.1 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b690473fee56097d646f63454cc5e97f67d6214239aa58e9ae833801b7728e4c
BLAKE2b-256 checksum
How to use checksums
a3a85ab43f1a1081ce3dfdd70c54bd5ea1eafe42f24371efdfd221b12b390f8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.3-cp38-cp38-macosx_11_0_arm64.whl
Size 887.9 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e9508718bf4e5d01353ec950a6e23465997f5b7ad7c22edc25b100987019c687
BLAKE2b-256 checksum
How to use checksums
54124e0d59340798a765fadbbd0c6c4e504b85818d9a2119fece163d49bbb969
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / mqt.qcec-2.2.3-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.3-cp38-cp38-macosx_10_15_x86_64.whl
Size 981.5 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
28f09d37dfaa7e15456859f86d9ab652d6f5b48fbff7fde203e5be79c44514ba
BLAKE2b-256 checksum
How to use checksums
a2eef01f98e21d6c9b3671d2dc1f4a0b31335f24a896028158b39454d4be6e77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

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

This release

2.2.3 This release

21 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

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