Skip to main content

A tool for Quantum Circuit Equivalence Checking

Project description

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) and our decision diagram (DD) 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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqt.qcec-2.0.0rc4.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mqt.qcec-2.0.0rc4-cp310-cp310-win_amd64.whl (543.9 kB view details)

Uploaded CPython 3.10Windows x86-64

mqt.qcec-2.0.0rc4-cp310-cp310-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (720.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc4-cp310-cp310-macosx_11_0_arm64.whl (577.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mqt.qcec-2.0.0rc4-cp310-cp310-macosx_10_15_x86_64.whl (630.4 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

mqt.qcec-2.0.0rc4-cp39-cp39-win_amd64.whl (544.1 kB view details)

Uploaded CPython 3.9Windows x86-64

mqt.qcec-2.0.0rc4-cp39-cp39-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (721.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc4-cp39-cp39-macosx_11_0_arm64.whl (577.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mqt.qcec-2.0.0rc4-cp39-cp39-macosx_10_15_x86_64.whl (630.4 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

mqt.qcec-2.0.0rc4-cp38-cp38-win_amd64.whl (543.9 kB view details)

Uploaded CPython 3.8Windows x86-64

mqt.qcec-2.0.0rc4-cp38-cp38-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (721.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc4-cp38-cp38-macosx_11_0_arm64.whl (577.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mqt.qcec-2.0.0rc4-cp38-cp38-macosx_10_15_x86_64.whl (630.5 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

mqt.qcec-2.0.0rc4-cp37-cp37m-win_amd64.whl (556.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

mqt.qcec-2.0.0rc4-cp37-cp37m-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (731.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl (625.8 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

Details for the file mqt.qcec-2.0.0rc4.tar.gz.

File metadata

  • Download URL: mqt.qcec-2.0.0rc4.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc4.tar.gz
Algorithm Hash digest
SHA256 35f2263da60818ed9ab2ce7a1201b476b8b6ac88f416a770801a1b7c548f6826
MD5 d2950e1d4f90757fa2078ce6f171b555
BLAKE2b-256 55594641f417015ca3c2f36c76814c346950965957442777254a79757ed30209

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6f40e5c12bc6232179feb74e700ad725f3fae0371cfe937a20bdb6214c2867ac
MD5 f2c007c6a811756fe10efb657a891765
BLAKE2b-256 ec203bd1e11ad21cc38c831098d164838e54d416a4a6bda7ee70e8e53a60adee

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c06b876680070dc4cb90c1d6c7cd60d39cd41672c8a29637102118ffa6356010
MD5 8e08a90b231089648aa5055a8721e09b
BLAKE2b-256 84eaa833f5e05771889b398fc3a58bbea559385d7cb69d7685f0c454916c9737

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d8422ad2dda552bcd57ca03aa87f69cf2470f34e5ce0a6beb6c6de24ee89bf9
MD5 a8255f5916ddba5e14935af89f8a618a
BLAKE2b-256 4619139a39942a1e2f5c2c803c360ed53beffd27cd40c07de4c80c6684ceefe4

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b7765d9f37afaf0c55ef77b8c0dcc49615fac8ce540587e99cddd40495165a6
MD5 28d0248fe44ec2494a3ce71bdb4ddd0e
BLAKE2b-256 5970fa87bbee1e35c081f7b2d7b13d97e05e24c0b8c4d83d3eac0119a51bec44

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c5d3f398c5b906c3295b38ee81e5cbfa37214c6ddecf3a58ae7a5553b469e6c7
MD5 b3748eb95a576749b9cc4f0c8e94ef1e
BLAKE2b-256 44c422e0c066d880b0f6ab5c89e991d6eacdb60b73445731ec317de60da1e868

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 544.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 539e2b35e744de09752117bfcafe8a052662dba5764f328cd9b6bff8df3a3b40
MD5 311fc12204095d848adb61e30dd96043
BLAKE2b-256 20851f1c3d9e746f0254ad1aeba0c3582901c21efd7aff63bfc6a2deb5f347ec

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bf0a0b6389d8a08aa7712e4444549988f8c76cdfe76ad64258d4476d9e3bca22
MD5 fd67c696868be5db11427c9f46182d54
BLAKE2b-256 187de8fd51cbc226dca2993c9acf92404285e11cb083f5e8a523abe22fcc80d2

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62327a62f99b153962d4ccf9ef333b06551a3ad39ae29350abc01e5d6783c21e
MD5 741eb5d4e434cae0071f487a69a2209c
BLAKE2b-256 9d993ff81179d3d51f11e0b28df3d2a4224274c9bea111a15dd19a58e4f6a792

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b821e165cfe2631bd30e107fe49c330a28b9ce8ebcd9d701c0e26040fece39e1
MD5 0c1c4280946cec00567a83a27b2a1357
BLAKE2b-256 732521c78ba02a6be1ea070a25cfebdeee07a6677bc8b33d0d4f126abc1fed91

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 41da4fc57a99f7a55afa777b5538b6f33c2e50b4925bef29efab40f7f14081ba
MD5 8070c9c4e4474c6775b1f39b91833b4d
BLAKE2b-256 6091f0ff49d3de9b90c9382aecd63bc78d56d1f17a58d55057cdc613dfbff935

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 543.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 32f2d1f66a7ad7c051a66c7f8383ad80c39f6d01ff7fb5f3a9584d728453bf52
MD5 9b072ecfcff6cc54ecb9e854dfaea0aa
BLAKE2b-256 b488f230872142ccf586f2fcf0e3ef5230633ce560918bd324eda7ab13349e76

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 47c7911560725673b651eaa29d70bf97c0a1f4d437b6f5400b81fed39697fff8
MD5 25fbd0613355d962cb6b756272c728b9
BLAKE2b-256 1c6c5071c4309d76938549071ea2279e74bf611f8a472a4696dedc27d3628a70

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4134c5f5b53089fdb3aa856af812a7936ae861e0801d3104ff41035e1b2e3e18
MD5 a3611b9c86fb88292187ecac796e90c1
BLAKE2b-256 b5a82f95a5400767ae08d06e17a236c4db02caaa89a6f83ffca79fccf2f50ebd

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27f61b2d2de060d0d953c7e8a1fa1db58305ed63e301ff4fdc89e9309e87cc16
MD5 26b5613ffef06a60c1f59a054b3ab589
BLAKE2b-256 24f17ec9a91d67696fb4c2a07ff1b44322e9d2e6490b0446b7bdbcf51087ce48

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5e54be0bc8d025b15c1635192acbcc32ea1f6f2e1ee1bf6a3558275b5cd1033f
MD5 7c620d2f07bb37694fd99446377acbb3
BLAKE2b-256 1bda8b1cc4cf4611f93dfadd8acbd4815873eb7400541c088fe304572d166092

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: mqt.qcec-2.0.0rc4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 556.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5bd27e102f0a94c598d300a2bc8832208889bedea6408b90b9883964add0b8ca
MD5 0000025da3b0fcc3a874d25c44c33dde
BLAKE2b-256 5102e90b29eb9774fd6e9255d4ba8133d28977307226ecb237566289cb9bf43e

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a2d85b50135d439aa36024c1847fcaa30ef8f80cfa90f9681b615e56efc1af85
MD5 3e7cb0cdaa565a868ee355a24a2a3285
BLAKE2b-256 5c73c9012f5469df1d496a98ad719560738934cfbcb3ba3fab9ece73651e3723

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f4fd737faf2c2dbd22ecbe21069b3c344f0287ff4619a8ad5feeda3476a7418
MD5 c502e82a2b84cc1776549a7d34e40a30
BLAKE2b-256 01ee996d07fbb22e534ea57185e034e2032d8a0c9da00b7db3e13d9906c9235a

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5008456f900cb56ad13b616a8a194fb0f2fb3b0778e297530027d0c7502b93f5
MD5 a4444fe66fb10782c1df9e3920860217
BLAKE2b-256 d8abc7cf2ab121b1b3c9a23a6925d70545cadb295a8169096ce32502043f783f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page