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 by the Institute for Integrated Circuits at the Johannes Kepler University Linz and the Chair for Design Automation at the Technical University of Munich. QCEC is part of the Munich Quantum Toolkit (formerly known as JKQ). 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 iic-quantum@jku.at 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

# initialize the equivalence checker
ecm = qcec.EquivalenceCheckingManager("circ1.qasm", "circ2.qasm")

# execute the check
ecm.run()

# obtain the result
print(ecm.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

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.0rc2.tar.gz (629.5 kB view details)

Uploaded Source

Built Distributions

mqt.qcec-2.0.0rc2-cp310-cp310-win_amd64.whl (512.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (688.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc2-cp310-cp310-macosx_11_0_arm64.whl (547.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc2-cp310-cp310-macosx_10_15_x86_64.whl (601.0 kB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc2-cp39-cp39-win_amd64.whl (512.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (689.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc2-cp39-cp39-macosx_11_0_arm64.whl (547.3 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc2-cp39-cp39-macosx_10_15_x86_64.whl (601.0 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc2-cp38-cp38-win_amd64.whl (512.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (688.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc2-cp38-cp38-macosx_11_0_arm64.whl (547.5 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qcec-2.0.0rc2-cp38-cp38-macosx_10_15_x86_64.whl (601.0 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

mqt.qcec-2.0.0rc2-cp37-cp37m-win_amd64.whl (524.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

mqt.qcec-2.0.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (699.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

mqt.qcec-2.0.0rc2-cp37-cp37m-macosx_10_15_x86_64.whl (594.9 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: mqt.qcec-2.0.0rc2.tar.gz
  • Upload date:
  • Size: 629.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for mqt.qcec-2.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 37703da4ce657791da5fa298f2a8a4ea273e439daaf27687b51c202e46aa7dde
MD5 6aeecc1a27e8ab43c5a72399f59c7d37
BLAKE2b-256 7c95badb73939d5021eaf3e201332925944e9e9428cfc510a4531d14fb9a9efa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 686930b226146acd49f2eb221ba092a7840ff8f19b28db0b6990c4f596250a47
MD5 1ca3ba179b17341e6c5b14d83c62bbfb
BLAKE2b-256 cd68bdd3c48051e4ecebfa3da8802d4b2ec3b2d6cacf0c16fdbd079adfeb257c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6a6583a3e0a539214e321627f79332913b0c86f1baf5414d71be03d7a96db1b8
MD5 6a4806e7cefa5e33664520ddbebcbd67
BLAKE2b-256 f77ac1e30a3640ab1764896523d5a6812d9fcecf3416201eacf701306bbda676

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7ab8ac5a18289126a256d9fa9e4d7d23ff0774d5a7c68abb7dbd849761a9766
MD5 77e5a82d073b303b1539da30894249b8
BLAKE2b-256 345bfae44517da089538c9399c117609ede7b3cab4794ff0df395d48ca690a9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0aadbc20264721b5374f35753e7b5caad971c05d8dd2defe14b993a693bd9beb
MD5 d507b49f61ab21efb6df68b2e3e65dce
BLAKE2b-256 62adb503750e7ba56bdb252e9cbfade0b085b38fa3a8e55fbdbfea206a250261

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 96ee829ceff65857899450a62cada1c86e4adf60fb5c6ecf692900429eced1a6
MD5 511c8dcaf692b09287829245f8aad9d6
BLAKE2b-256 59eef9a91ac1cca45803c62c3ff20a4880d1914edeb58c3e931ecb2c53754679

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a3884372cbaf68369a546c9669fc135939d184e15264d5ea8d80b3f0f2259640
MD5 df4da95f657b8951bfd8f67b6ee5755e
BLAKE2b-256 b9f02c897d433a5365b70af05ba616189a5827b479c141a7664dcd6d316d2a29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 531eaf8c7a123bbca2fd36bacd32a14908338c851b392d7fc6292b0c4596944c
MD5 f2d1199c415d856abb9d89e93c1cc5bc
BLAKE2b-256 8253a0155d0ee866754d4b60ac8f14ff224f72b4d847da297ac5692dc013ba2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72403f459456f8f77a9fce5eb82ad80eb188181bee84ecda4b78ab54b39e8b1e
MD5 f641331c9b049f5317ae29f551779ed5
BLAKE2b-256 15081f8dafb70bd3858a67a4b3c89277418567adeeea8cb18c0f11dc0de126af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20c624dc216de2379fef230c90694c9dd2977ab7aac65477a2b6a04112a2be04
MD5 0459af20917c054cdfee4d19e983f26f
BLAKE2b-256 65df27e6ea562f876245bd14d5f5c14d5dc986cb5cefe2cf88e94770bbb639d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7e5f28d5235d25407e712a2ded69837808457d246c8333438515d35896ff0163
MD5 3e15f65405ebd41cd04fe8ce4c1722bd
BLAKE2b-256 139692f981c96622f464801427ba301d1b1accccd2e24c857be1f1591884b02c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ba0d21f223f2fa916e1ad096209c5513f9ee5bddc0b7ae36005490242221bc3b
MD5 c6c16b5de68858549795085c10611bb9
BLAKE2b-256 093703bbe8a95912ad6a044f3e76a373967d71c5a5edec02503c2bca0fcddff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b2a066dce67fda21c1dc4beb2014d2d7c6fefe0ef23264afb74bcf62ac635c08
MD5 c7675dad455f904d870974f048bbf833
BLAKE2b-256 137bfef0914aaeac95bed97c0acab3a3f49b31ca4c35369430e12ea707d0484e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ddda47592973a487c32f6b8e0ccbfb60a8983f4f91d4f57b0bfbe8338439e27
MD5 d12a205456828a869e0b7376a00358ae
BLAKE2b-256 db65ca8ba89a1a7b55916117d8adb4f828c55310d5d18b82136f3f99e80093e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca8e94cb2c53d1b81c62be3174eaa15243b45d4cda6d23f0b6e9accc9140b767
MD5 b01cc47bc6817f0e1728495fb5ea3e8d
BLAKE2b-256 bcf00a191f3f70d7d1f6b170cb604c132959a46e696e2f8fd9cdd1734b01a022

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a760b67b883036f147df50763e43310f267b509fd72dc2ecf18dabaa8eb5e814
MD5 1b7278ff664fe362adb8dae935e8bf8c
BLAKE2b-256 49b056794d397fad0fd4e3b8af7547a195be0786fc84998442f43f5f2eb96108

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 bb52da618927a7bc47b4855d92fa4b82736ca40960399998449746f7052f2a61
MD5 2d2645b6d5b048c2e765dd2bcc09a6e1
BLAKE2b-256 847b9a8b89e4e87a5f2a3f329255460e05f57caf019426fd580a0d4384728344

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0d2cc73db3d6fd6161f2a79a9d2693905d3b5fe63be9ad7d2c242dbad8d45f23
MD5 b8caa685f98199b2fd1fb6c0fefda938
BLAKE2b-256 516f0c2af72ef4287f677a3e6f9f62c5838846f5ba366f07efdda1266462f85f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee3adb8bb4cdc658014e340fc92abf0d9075bee03d72e52a6891aa827682a465
MD5 fc56b8a519d5aea6f17e9930d8451ff6
BLAKE2b-256 ed21a4679f62f7f4b7b6643a667d52f43e973cc51a982ac1e78b183e429c2f60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qcec-2.0.0rc2-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c98ba0b59363109cab4595f6680c3af2b8e958274f2852ccb24c1d749db1725c
MD5 f78f6802c347d5cdd8fd10620f66b0e6
BLAKE2b-256 123e2886e170bc89efda9fd9dd54711650657325b8605967021b2a4b9bf2cc9c

See more details on using hashes here.

Supported by

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