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

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

Built distributions (wheels)

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

Download URL mqt.qcec-2.1.0rc3.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
3c7c5993019e9249eb14aef59e0829df49e011d08fc8dd1ee2ea02b49f6c3cd3
BLAKE2b-256 checksum
How to use checksums
dd483e67dd440d51331d93b3c191cec50515fa00076384cbc8dc123db9ac6ad1
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.0rc3-cp311-cp311-win_amd64.whl

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

Download URL mqt.qcec-2.1.0rc3-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
f284879cfafcc8197f0e2f790e537d5590d337b64139fa10d6056289eb074fd4
BLAKE2b-256 checksum
How to use checksums
eb039ffadee09d0b7496bc9cfdce4a03822e0163cb327cf1999dbc814153ea38
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.0rc3-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
5b1b5c48397b9e233aedbadd4807b9aff5e1697505bfd3aada8b09abf76852ca
BLAKE2b-256 checksum
How to use checksums
a7be22f0d4417442668aeca3902e51e13d7a659ae9619919a021e8a9e5a6b13f
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.0rc3-cp310-cp310-win_amd64.whl

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

Download URL mqt.qcec-2.1.0rc3-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
059f96b1dd247248d14ea4d709ed8575e9e6f9252143c7741a61cdd9b59a721f
BLAKE2b-256 checksum
How to use checksums
cdd4d00abe98e3247f2a851dd51164fc12ae456504c3d4ce0f57bacc6d4cdc64
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.0rc3-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
3387358ea2c2db62e607ff656d48eda6b979a6430ad2373f5b95918d24d99bb7
BLAKE2b-256 checksum
How to use checksums
f1c8f6f79becf6ca33d5ed77d31814a60035034fd9dd46f64081f564f011b3ed
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.0rc3-cp39-cp39-win_amd64.whl

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

Download URL mqt.qcec-2.1.0rc3-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
82ea389a49264acca482d26aab9a9db3f0184704228ffc61651ade4a50ee6b5b
BLAKE2b-256 checksum
How to use checksums
bc2199e1046e0d307cb43f78246bf3d4da121b46085db2bf930146a04e54b6ec
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.0rc3-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
4d053488f01bf93da328af09d9e1642960bc3257b1e73d29b01a69146d393fb6
BLAKE2b-256 checksum
How to use checksums
45331c2331ded005bd6ae0cf160d3ff36c084ca2f49506896091bfd5b21c86de
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.0rc3-cp38-cp38-win_amd64.whl

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

Download URL mqt.qcec-2.1.0rc3-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
80763cc5cada42e5dd16b938005ce72cb6c17a3bd923522ca85a7cf61ef6ae95
BLAKE2b-256 checksum
How to use checksums
6486945df8eba3dcd46e730cdb1f22507404dbb9c0eb50d40050291436dbf0b8
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.0rc3-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
1dff14e6d2d6efe538ad3993d0d776e0500fdb96304ad5dee85d62ae62dc0782
BLAKE2b-256 checksum
How to use checksums
10ddbd1e359335b98d80c4d8ec3cbc5c4c75836118cf8f8b6e6a0e0be3740242
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.0rc3-cp37-cp37m-win_amd64.whl

Download URL mqt.qcec-2.1.0rc3-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
2ae3004e0060ca137f6c951408b33dc53abbba93d56b1d2fa78d3579e1224733
BLAKE2b-256 checksum
How to use checksums
509bdfd4f51958f03df9cf7e10a11abc83c515111e3a7db59d1d70fb6a58c622
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.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
4f4923888878cb6bb307688284f3fb232f52440c2ff15a44379f814472c2216d
BLAKE2b-256 checksum
How to use checksums
9a3db2f40cb7388015c71e43e16fea66527dcd6916344a81bbfc4c2eb953104c
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.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qcec-2.1.0rc3-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
bd6b37bf37a9644c53f2ac48515604ffd332e7b14e89899dd603cd33f2c4387b
BLAKE2b-256 checksum
How to use checksums
2218aee6bc204680b55952c484864d3e19f3f33ae18b121bb091bc8397a222c5
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.0rc3 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