Skip to main content

A tool for Quantum Circuit Mapping

Project description

PyPI OS License: MIT CI Python-CI Bindings Documentation codecov

MQT QMAP - A tool for Quantum Circuit Compilation

A tool for quantum circuit compilation 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).

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

Overview Paper

QMAP is available via PyPI for Linux, macOS, and Windows and supports Python 3.8 to 3.11.

(venv) $ pip install mqt.qmap

Compiling a given quantum circuit to a certain device is as easy as

from mqt import qmap
from qiskit import QuantumCircuit
from qiskit.providers.fake_provider import FakeLondon

circ = QuantumCircuit(3)
circ.h(0)
circ.cx(0, 1)
circ.cx(0, 2)

circ_mapped, results = qmap.compile(circ, arch=FakeLondon())

Optimizing a Clifford circuit is as easy as

from mqt import qmap
from qiskit import QuantumCircuit

circ = QuantumCircuit(2)
circ.h(1)
circ.cx(0, 1)
circ.h(0)
circ.h(1)

circ_opt, results = qmap.optimize_clifford(circ)

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

QMAP has been developed based on methods proposed in the following papers:

[1] R. Wille and L. Burgholzer. MQT QMAP: Efficient Quantum Circuit Mapping. In International Symposium on Physical Design (ISPD), 2023.

[2] A. Zulehner, A. Paler, and R. Wille. An Efficient Methodology for Mapping Quantum Circuits to the IBM QX Architectures. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems (TCAD), 2018.

[3] R. Wille, L. Burgholzer, and A. Zulehner. Mapping Quantum Circuits to IBM QX Architectures Using the Minimal Number of SWAP and H Operations. In Design Automation Conference (DAC), 2019.

[4] S. Hillmich, A. Zulehner, and R. Wille. Exploiting Quantum Teleportation in Quantum Circuit Mapping. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2021.

[5] L. Burgholzer, S. Schneider, and R. Wille. Limiting the Search Space in Optimal Quantum Circuit Mapping. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2022.

[6] T. Peham, L. Burgholzer, and R. Wille. On Optimal Subarchitectures for Quantum Circuit Mapping. arXiv:2210.09321, 2022.

[7] S. Schneider, L. Burgholzer, and R. Wille. A SAT Encoding for Optimal Clifford Circuit Synthesis. 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).

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.qmap-2.1.1.tar.gz (3.8 MB view details)

Uploaded Source

Built Distributions

mqt.qmap-2.1.1-cp311-cp311-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.11 Windows x86-64

mqt.qmap-2.1.1-cp311-cp311-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.1-cp311-cp311-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mqt.qmap-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

mqt.qmap-2.1.1-cp310-cp310-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-2.1.1-cp310-cp310-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.1-cp310-cp310-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qmap-2.1.1-cp39-cp39-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-2.1.1-cp39-cp39-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.1-cp39-cp39-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-2.1.1-cp39-cp39-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qmap-2.1.1-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-2.1.1-cp38-cp38-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.1-cp38-cp38-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-2.1.1-cp38-cp38-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file mqt.qmap-2.1.1.tar.gz.

File metadata

  • Download URL: mqt.qmap-2.1.1.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for mqt.qmap-2.1.1.tar.gz
Algorithm Hash digest
SHA256 eb8fb1096e663959e703a42ec64ebee006c0025e5b83192d29c3e68661d9348b
MD5 7a96e6dfbc70c2c55ce5976c24978b9c
BLAKE2b-256 7691176d5b79b91d574fed5ca04fe6c118a9f6a84cec595e109f30c01ddc67d7

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2f1854042f450310c157bfcd90ced008a7b8c13d62e69b460685b8345e372412
MD5 bdf7547c9daf1af1e4748ebb5469ad43
BLAKE2b-256 d40eb5d0b6153a907a62eb4e35050227b7a517231513df277565f123049a1fcb

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9bf7e95d16f8a900942ea8733f50ab29d5422b10d0f60ae315336d060d2c806
MD5 ccae31a41329d999cc484c5fea3ed5fd
BLAKE2b-256 a9d2cb22d49425a1750bd4849f023476962f026505cf6785a9de1d1f65cc1753

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 339e4cb1f5ad328f8b4fd1859924873aa87cc69648346cd265203458a084d1cf
MD5 2f1d47c489c582b3c2336051260d741e
BLAKE2b-256 a1ef4fe52738aaabee184ddeae65bc684bb04065f9eaf3a65a8e0b2b9daa8dc6

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 41b20103439e07bd17bbfe7cc8e4fe0720172de3ef094d34671b92481500dfbf
MD5 fc40ca5b8f2506bcab4e1f1dcda8318d
BLAKE2b-256 0e9b85f028e8a660fe88c667f840de09ade8264c52ea0f2c6d15613d621e4e56

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 605cbc80006631aa065e8a7496fab1bfb3b0aa8ee7186e7851076e1951c000ab
MD5 0e73cf9177b6796fbe14c23e9448cd14
BLAKE2b-256 065de8675434886b6ce2f392358a7dbc49db6355203d2a4e1dd628aac0822aab

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fa0751fc1c61441ce8946abccbd719e614aa866d5b82edfbaef553625ee1cb4
MD5 fba4ea66915ab69acb4515dfda6abecd
BLAKE2b-256 4dbab7d7b1af3cd7bbbd56a20af427fc4dd222766b22d82f8c95396b86cb7e89

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36f38d6cbf7f4852709d275bd230640a59e97d38661ac2f2bfa2eaad4f6db2ba
MD5 fc8462726468d4ec57b82b8c954bfc83
BLAKE2b-256 326b441ab08b3e056a0a4c203294b85ba8a1a8503f2abed0d519b3f1cee10d3f

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dbf640734a3dce139e6d43fa7ad6ce64d75ad754bac92161741b7f58e168c29d
MD5 55fe08d934a7278b6b443fc0671572ba
BLAKE2b-256 ab5fb1a55b852a1ee56c839ad8e908852f862dc430109dced1f56669be9a20f1

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mqt.qmap-2.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for mqt.qmap-2.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 668c84618dadbb2e758d11f6c8c6e2bd5603f3c8d8211cba5013fc2cdabcfbd4
MD5 c1b04a6b60341f5c02b40a57d313b662
BLAKE2b-256 33331be8c7309586ebd5d2d8b90e20854e28fbecd50a824b5b8d17ba7e0d898c

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b210e8a4b61fb08b11c4e1314666d2c5409a15d5fe3d2f9cf855f21a23a9cc6
MD5 9b7f67f17d9587682a84e2fa451c3556
BLAKE2b-256 7041fe22ffca89697f518d35bb1174fddd07fc318a70528304148eae8ffa7e89

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2060f1fb4a529108aecd74798f122e2cb83297ec074d7e7c7984dcea97c761cf
MD5 c30ad829fec5ff2ef3116514d8225113
BLAKE2b-256 3daaed3183fe519847fb1d58e0857140101b46e226da31550a58b699fda525d6

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a4832b81cce2f87223834b51edfbd9bda2cedcd7646291bbeef69c1919bcc907
MD5 4f1a046d932565cea47bd01482bb0934
BLAKE2b-256 a0ed29552a875a634e3ab86a4e034136f80c974f65bf044797b9f6c7b5069501

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mqt.qmap-2.1.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for mqt.qmap-2.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0531556d0eb1383157f11945ad3584c6aa73125c18fa47540bb740431b13905f
MD5 7aef468a944c8b9f8b7da677908df4a0
BLAKE2b-256 d965882c0891ac414da1813e20664a998bbc46f6a776c9d6560dbb27871cc379

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 985fec2b06e900a6c1c1690b141d253df581c4e9dd57c1cc3ecb9ef5a2ca30ac
MD5 a13d3d07d5296748e33cd60da0566d33
BLAKE2b-256 6f33db30f7fd70c56e867bb2b941e98bf5c826cbebde663b49a3321e5358dac4

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2b6ec0d515a160d52505026bf0a932377427499fb67591873c07b4892461cac
MD5 8abeccb6fbdd1f47583c759d60f3c55e
BLAKE2b-256 cd7d561f2dcdad623f07c1839e60006f9f88ea07e375702f68643a666f57d7f2

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.1.1-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.1.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d6ad1f477edd6bbc76ed1abe46ef7e68a173b7b7b44e0a2c206216691cecaf46
MD5 3700743280658e55dcad545e9bc32729
BLAKE2b-256 3e2b67c079ac722802d20754173659e99b69ffd624e4c80980de75250abb3818

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