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

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

Built distributions (wheels)

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

Total release size: 17.0 MB

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

Download URL mqt.qcec-2.2.2.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
350c0b5cf880f1e7b8ad08278e2467c37a69967bc96155c050f1b15dbe5d4f8c
BLAKE2b-256 checksum
How to use checksums
be81d7f30640b2f8ba3f334f02570c51cba86c1ce6eb407b8566f1191c065229
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.2-cp311-cp311-win_amd64.whl

Download URL mqt.qcec-2.2.2-cp311-cp311-win_amd64.whl
Size 805.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1ec01c227a126693e2578dad41b841250df8a1a2c8486ada8339fa2e9607ccdc
BLAKE2b-256 checksum
How to use checksums
f455c13e7840f468848c8d81dc2952e99df1fd19e037f095515bad361b391288
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.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 696.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
be51534aece9957fbcd0ebe7595fddf5a7496a299d5263ff152d2a81aeeb91b7
BLAKE2b-256 checksum
How to use checksums
48b976014e39666d9aad6af806197e43164c3744d99ccd7687ee8ac002134f37
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.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 634.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4ffb58f8e6a8641baeb4465ddb5b053a4c7fc0a91897275826d4283d7e630a78
BLAKE2b-256 checksum
How to use checksums
f66c0470be3fee162ba7d9c0b936b9415864d549ab89b2bd543016fef76e4741
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.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.2-cp311-cp311-macosx_11_0_arm64.whl
Size 801.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
60d1ea8745c1c8d8e45f3ee07dbf81a34b6f303aeb81ff087f3593f11d565f7c
BLAKE2b-256 checksum
How to use checksums
62b07b91a09208445adab8535f8485e2742567da6ccca58db5d2a35445439dcc
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.2-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.2-cp311-cp311-macosx_10_15_x86_64.whl
Size 882.5 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ae2ad6246a7f45cf59c60435ea6574adcbb969a3426098321c8dda07d05a63f1
BLAKE2b-256 checksum
How to use checksums
13eef2d60521c6fa40b6f97c4eca5648175156f9ce0f4924702f594899a67dd1
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.2-cp310-cp310-win_amd64.whl

Download URL mqt.qcec-2.2.2-cp310-cp310-win_amd64.whl
Size 805.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d06907998f66866d713db0a37288ddafb5327274ca512dd498068d99e8d0c0c2
BLAKE2b-256 checksum
How to use checksums
a5772af84dc084445b2a136a61a7e9f55f3f7d8bf2c6332d4eff66692848f138
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.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 698.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8669f4a950e7db54109ce5989aefc1c8dea3e7918188035ffdf37e63144a8470
BLAKE2b-256 checksum
How to use checksums
fc68d079283a9835e625995495fd55c8a3f99e59ba8219134d7d4991045a7120
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.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 634.4 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
90b76b93cf2cdf1371bd700c55ca8ca03261c292974d7a509f1e9c055f2229d3
BLAKE2b-256 checksum
How to use checksums
9b4de4230f65e5c01c9c88603c5ecf756697c106568af7315a653b91e72cd2ad
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.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.2-cp310-cp310-macosx_11_0_arm64.whl
Size 801.1 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
00406f595f4e807a2de65156fda398cd3ca23ec28d80561f49230ae16101cc0a
BLAKE2b-256 checksum
How to use checksums
214765a0cf10dcabb105bfaa9a4de0959df4d580ebba8cfcc22f3e96660dac1b
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.2-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.2-cp310-cp310-macosx_10_15_x86_64.whl
Size 882.5 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
160c4c4986759187173100a9384dae9c0399175f9742f5df0aae50c86056ff2a
BLAKE2b-256 checksum
How to use checksums
2b18fe30ceb3fd423133fc1a5fd0617422c3a6f7d35885e98df9387d723dfe4e
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.2-cp39-cp39-win_amd64.whl

Download URL mqt.qcec-2.2.2-cp39-cp39-win_amd64.whl
Size 806.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
088ce77596c080982438c116f2a2a1f3d1a9c19fd7b49a662c82b0e209da587c
BLAKE2b-256 checksum
How to use checksums
9ee685ed3b02ffcccdae80cdff87ec4cd136f157902e13430d71fb1790b200f6
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.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 697.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9adf316301f10f705945e43c402d9668606f7ffba5b604b985fc2f1428a25bb2
BLAKE2b-256 checksum
How to use checksums
5fc48abf30b9141b200621673395861b05b9d2451ed924e4141174566b139d89
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.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 634.2 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
74d5a71ae343286600e6c9fd40746a2c0b5ad77d07009567bf3ea34fa3727151
BLAKE2b-256 checksum
How to use checksums
36885aa7b3ec1cabc371826aafb3462a90b622d18f4a44334acb4d1f5e379ef0
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.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.2-cp39-cp39-macosx_11_0_arm64.whl
Size 801.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
19615f84c60e091465233431b8f8eff109436f62371fc0b879a7e7795f2c11d9
BLAKE2b-256 checksum
How to use checksums
3f14a80adadb2e8c4decfd7b211f071ce14a47f6e2307a02b5caf4881fb81853
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.2-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.2-cp39-cp39-macosx_10_15_x86_64.whl
Size 882.6 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
72f7f70564c8e67ce6a4cd98563f0330ee43198b2db2b32a0de89d7087693291
BLAKE2b-256 checksum
How to use checksums
ba46c7e418a96276ca657d8178af3c61e45066ebc15fed784fbdc082ebb86c80
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.2-cp38-cp38-win_amd64.whl

Download URL mqt.qcec-2.2.2-cp38-cp38-win_amd64.whl
Size 820.3 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
cdb15088de1d02575d6b395bb31aebd707f7c5df020661cc9dd587933aa6f735
BLAKE2b-256 checksum
How to use checksums
afc8273e7eadbae0229a14e1d0341d11a75e8feaf3f65f3ad0d3bc7c67f4987d
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.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 697.7 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
be9384f1d0bd03335063700d7bb50a3b9f801ab618cc76731a2482b4860ed3db
BLAKE2b-256 checksum
How to use checksums
45d5f035d38d044e5cca32a11048941b9e47aed11e81f76293dd36da711cc0f9
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.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL mqt.qcec-2.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 634.1 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c3519c9639ac77ae480a04eba01a138316440c1274b3f4d70784a3404ffc5e00
BLAKE2b-256 checksum
How to use checksums
1c460154ffe35ce3dd72b25f62cbecc61f644ccbcaf4809da7fc47967c200d36
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.2-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qcec-2.2.2-cp38-cp38-macosx_11_0_arm64.whl
Size 801.1 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8835302592320b78c6271fb79b0e041bac945bed19d3f140e82568c2b10aaff5
BLAKE2b-256 checksum
How to use checksums
e0afc9dd7c6fbed43a636fabf05841da8623feb8c6bb1281910d9ab7d1091edc
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.2-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.2.2-cp38-cp38-macosx_10_15_x86_64.whl
Size 882.4 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e3055c37ae73f9aadced05f6b088cb32048faf1479f9c56d3ddd9d04cc31102c
BLAKE2b-256 checksum
How to use checksums
72fe130402ad44567f246951d057f5323227b2263c1877f705642b782029f796
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.2 This release

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