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), 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).

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.0rc7.tar.gz (1.8 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.0rc7-cp311-cp311-win_amd64.whl (603.4 kB view details)

Uploaded CPython 3.11Windows x86-64

mqt.qcec-2.0.0rc7-cp311-cp311-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc7-cp311-cp311-macosx_11_0_arm64.whl (632.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mqt.qcec-2.0.0rc7-cp311-cp311-macosx_10_15_x86_64.whl (949.0 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

mqt.qcec-2.0.0rc7-cp310-cp310-win_amd64.whl (603.5 kB view details)

Uploaded CPython 3.10Windows x86-64

mqt.qcec-2.0.0rc7-cp310-cp310-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc7-cp310-cp310-macosx_11_0_arm64.whl (632.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mqt.qcec-2.0.0rc7-cp310-cp310-macosx_10_15_x86_64.whl (949.0 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

mqt.qcec-2.0.0rc7-cp39-cp39-win_amd64.whl (603.5 kB view details)

Uploaded CPython 3.9Windows x86-64

mqt.qcec-2.0.0rc7-cp39-cp39-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc7-cp39-cp39-macosx_11_0_arm64.whl (632.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mqt.qcec-2.0.0rc7-cp39-cp39-macosx_10_15_x86_64.whl (949.1 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

mqt.qcec-2.0.0rc7-cp38-cp38-win_amd64.whl (603.5 kB view details)

Uploaded CPython 3.8Windows x86-64

mqt.qcec-2.0.0rc7-cp38-cp38-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (860.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc7-cp38-cp38-macosx_11_0_arm64.whl (632.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mqt.qcec-2.0.0rc7-cp38-cp38-macosx_10_15_x86_64.whl (949.1 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

mqt.qcec-2.0.0rc7-cp37-cp37m-win_amd64.whl (616.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

mqt.qcec-2.0.0rc7-cp37-cp37m-musllinux_1_1_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (872.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl (944.4 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc7.tar.gz
  • Upload date:
  • Size: 1.8 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.0rc7.tar.gz
Algorithm Hash digest
SHA256 5161c7b926c6ec5e73075701a1c318be2799444fb2b44eeb3897a960bd228c82
MD5 74c24a457a94c01b1a7b85bc0a0cf36d
BLAKE2b-256 ff3f902ef062969b3086792005dbb5d2dbba08d6c53cc0678002df7b6fbcdd27

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 81866c78c5c549759e14b7f506f7c20596a7ba14dfc30fbd55440a100ebfe058
MD5 be74cca99f2392749e69c79bb8dbf2f8
BLAKE2b-256 1154a7a7edafe65882a6c4d7a9f391f5ae324c273a77a1f8e64de937b7a49c69

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc7-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 469305406d29addfe996ddbc463c9e2d407d19560ab3758332729f7e725d575a
MD5 73f564da8830882ef78f754c12ba17e9
BLAKE2b-256 b3587e9d45781f5be9b111f9d791de6d3d62f2be102eaa1f72eb8664730f8cda

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e6d81a60844c0225ac5c9afec3a4c30e797299626233dce629e0cedd30fecbbd
MD5 4e56fd8fd00acd163e686b40e663cabc
BLAKE2b-256 9f98b90ecbe510d9bd57c4720e230e38c6fdd9a6a8546207b0bd36e1ad4a6a74

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f0531c16d95a3207053f4e81d2defb0f26cd087b435cbf42c39878bf057310b
MD5 639b57e0006165d21f09f8b8390a3a5a
BLAKE2b-256 c9e813a16703397525cc1cc71837de4f0788c12eb368b4a735dcb06030b5de3e

See more details on using hashes here.

File details

Details for the file mqt.qcec-2.0.0rc7-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e9674d3dfe9eebd86b9553b6658b3f9d283d65d3fcc9478826f0eb08f80602fe
MD5 7e0d69cbf8a9a81fd31588a16449516a
BLAKE2b-256 019ea3298fc4723e831966c1e37538a4346e7230b73d9d7e28b2587727647db2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 039f55d621323046479cc97c6486b837c7b026f6c5d3346a6c8e4002485b375f
MD5 6ce5d8984c954ee1e6aa4e532d4a1b47
BLAKE2b-256 7e16351a89fe119953a9f538a5630831e532a84f2a21e259742327cdd18c486e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1cda088166427ab80ca9142c18a9b3838afb51494ba2864ac8e454673abf85a4
MD5 8d5db2ded8584255b8f07a2e75b7236c
BLAKE2b-256 0af49b4de7586f39e411957eac4fde4ad9b5d9e2420853b4fe4e5031ca34faf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 050d6ab592a4f5176838b049475ba438574fcfcc6709045d56f01cf83cfeb4d0
MD5 2934cea95f6944d17d79b6ac8e26999d
BLAKE2b-256 82d566cc9cbf9101edf660b38591b3a7d191e76eb589d0c8963bd96eb07195f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9db6ed606a2747e63042cc408ec016faf978af0e3458d6d524938b9a0230b475
MD5 90fcc88ac6f7ec864e032a776574fa00
BLAKE2b-256 50ff27faa973de93126d2f12b5ae81a620327037b1ad19663eef609b57745cb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 910e8bf6ec8b473841afb4186438e366d1ce423f1fb521f8424743fe6797cc98
MD5 28799c8948150acfdfe3b191441f75db
BLAKE2b-256 14f857e1d9e30772228f9d2b698b88408177ff78badd5ef4826b97687da9b2b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 603.5 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.0rc7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dfb651d135f1fac3f3e529e59046e3052846c979a16aec516e1783b49564dfe2
MD5 454bbd8b1632a1668338208874a6f242
BLAKE2b-256 e13cfe37cc492c3eb0e60a60f9944a70f249200762353d35c56ac13f453c267b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a615b9ad44d083c9b164cf91c2884f73911615e2d43dbd4610a3377ae14dfcb2
MD5 ef7a1b1a358b54a581f942c618c00228
BLAKE2b-256 39ed37c52cb01abb252397fcf30081356deb6db963000494dd910fb74f2b143b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ac6302169575bd11c255403553d5ac6353e6599c83759fee2c107a6f8d0893e
MD5 cfbc8e020790689e927866f47767f292
BLAKE2b-256 93fbef6896286fbafd98a0603567bc2cfa2c692e45aefc90f744053a55b5ca90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68eb708be6b2bc9e9188d32659f0c59dda1bcdb99cf2ea29a20355f542a741bb
MD5 d17f3fc7386609519bad7a806d7dca91
BLAKE2b-256 7feca9a30c7d82eaebc34b595ec488ae9493995328ef8ba53a000511828073f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f4b559bf5eb668d28e93222cba8fe2c822ebbea6293782b2f9f6c5747bfb9c86
MD5 c75f66931956e97590eacc6fd578a506
BLAKE2b-256 2a6b185a057415635b337520c7c577325811b622f69c979d27ecf9be74202a16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 603.5 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.0rc7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 686fe8efa459ceb4eaff2bfb31601f9d8677bdb5f49d16f18856aad7c3020c91
MD5 65e9ed1bf15d109217e8a5a5eebd61a2
BLAKE2b-256 930f1553de95225d7ba9d5ed8807bacb66babeb1459b66830b36fe4a4bf3eafb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 08603f1b775192b4e1b717118879638279ad70201738b7c85657679aced777ae
MD5 8ddbac74ac40036bb414eda0615a6db2
BLAKE2b-256 93e02751f065de75185d38fdbf6ae29835c3e28429103067f497322d19467cc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cee65e0c5293c8ae39980231813033f311de03d0c8de04cbbc31d75ec8070ad7
MD5 ef3ce2dcb2932c95fe7d81968dc47221
BLAKE2b-256 cb239ec0e4b6cb26975e3734427c939e135e564c21689e904c3ae1a8c2bfc962

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d09c637d7449e8eaa0cba425d6c8a14619f3bb37716f70770eefbc4225c8754b
MD5 39fe351b9335a14b3a1f4aea8269bdc2
BLAKE2b-256 e217c2a3a49619aa5010c01b5eee08cacde7fb9ea5b56f6d035eedf4170ea629

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bbfc1a3991768c4938d8f9085932820e0d96b0f95f01557368dfa07d512902ab
MD5 8915d25bac47c14abd7caa61418ee1c8
BLAKE2b-256 9c861e4e5ec004a49b7e674812ef39b958eefc2f28d01ee6838d9dc13aacd355

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 616.1 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.0rc7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a8a7f3f03ad03ecd2464a625770c882a97fd3eb5ec13598f51afede3aefdac96
MD5 8d50c5b7eb9397f074ba04e8f4ba2799
BLAKE2b-256 3239b9319b010a4eb34390240f6b90a3b3fa56b91ce33f556b33a9759834f7b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 631ee7833ee5a97cdc4c7de43e2826c24b64110bd11da2de119a8142db3c8ae1
MD5 a543dfbadddc87fef7915d16e3371a9e
BLAKE2b-256 2b3ec408622f8e3037e97222723228f9b09598e27bbaae293279da15e9a32e8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 290fe91c559ae2eb224eca041243a0170e0224b76ffa42058dd5763cfcb57728
MD5 2fb7215161f8ef8b8193de520b870b10
BLAKE2b-256 55ccbb148f202e4abfc5d7e0aca4836eeaefbd249c377d194d420d6f7a896a4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 581533029f76b8c4027c2483ff20117acd3078489c1f4a86d3c337f65f1a2fcb
MD5 3ddc194890a2a9a63adcfdf7e7ec5e17
BLAKE2b-256 39caa8b4bfcf2171107cb8ca772092ed8c3ab3ad273a489599c253677bb23389

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