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

Uploaded Source

Built Distributions

mqt.qmap-2.1.4-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

mqt.qmap-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

mqt.qmap-2.1.4-cp311-cp311-macosx_10_15_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

mqt.qmap-2.1.4-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-2.1.4-cp310-cp310-macosx_10_15_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qmap-2.1.4-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-2.1.4-cp39-cp39-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-2.1.4-cp39-cp39-macosx_10_15_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-2.1.4-cp38-cp38-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-2.1.4-cp38-cp38-macosx_10_15_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

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

File metadata

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

File hashes

Hashes for mqt.qmap-2.1.4.tar.gz
Algorithm Hash digest
SHA256 f20a9510ef249aed1a9e5ddaf760cb695a7415a63b675fb55747a96a70b90df9
MD5 0e161860d0f80926e1c2a7ef2e6fa8c6
BLAKE2b-256 b9e522660586d1cdcdca462e979bbae7d4f9b9aad7824f2f420a822fbfeada37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 638f6e2da65ab2e8d0fb0e94d036d2178e2e017d9f19946979430743a52cdc73
MD5 319db01c8df87baefb97585aea433aa1
BLAKE2b-256 7082ae797eda2a6abd81def90c9f331ce5e336c33b8d2fb8517ed526067d16f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3720047820ab01170f4404a0a9a788236bf7a48cb02049cfff050aac08550255
MD5 f503d8ccd489640501ec6bf9c1254e1c
BLAKE2b-256 a58f5e7bbeb3e221dea850723267fef404cada4cd16e5c1d1af48168501b070e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b5e6ebc811e9a10257e72af545e405cf4a67d56914585ac2a7c66acdd08ed32
MD5 14610729cdb41f1cdaaef960b3e55637
BLAKE2b-256 93300d5ece3b340b88990d159263585ca848d2d486268daaf0b9a4e73e562837

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6fc273823230f0eb963795c25f9638a29de172b8fb6a2128f3af794fcf2a4685
MD5 5013cb62b0f85fbf2f428ff4ecaf414d
BLAKE2b-256 346098b0c329797da122caa0a29549c00cf5ac75f6c08adf41b7f129b3f345aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ac179833e6bdfef97be9c910139c46271d4b894683e4c8c2f0c5d756079d89da
MD5 1df671554a4dfd0a00fdfa2ac2951ecb
BLAKE2b-256 083f8b952e51f135f5dc57d7d7877daa51387da9a13cf963aaed235c7d17e948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 100475e215c81e440fd4225703b2744ceed1e4ed82f96c8d9adb5cd27d6e3a82
MD5 dee5d5bfc5b9bf0b49e0ee11abda5fc8
BLAKE2b-256 13e44cfbd7c28bb46506130d83c24cfda73fcc9c6fd3756fb24499ff5a95903b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84362e72bd4deabd03081458d7616193ed8b06348ea0d93606b3dda786665006
MD5 736710dc206fb52a557d0c31cf57727c
BLAKE2b-256 80abf5f148b76ac53f06a26e88ba261e6c805ea1820cd3c87cc08a75b24647b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9c456bcaa60ead8e6510aeb99f45b0443befb6691017b7c8d1222463e0c265a4
MD5 ef8ab7358c8134beda9ad8211ea3cf13
BLAKE2b-256 de25477fc49d128f7f76f018cd683245a6f5a58209eeb19dcd00f831c3adea25

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mqt.qmap-2.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 81e67cb4d8ef64649d650bc03feba692ddf44e8bfd0261f42fe2f1f65d669837
MD5 7c27e777ca9d784a5cb691c94a894343
BLAKE2b-256 fa06a966cd7a0a720bec6ddf11d8907ccc3c96e2f9f34920c82635743629ace4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 671dd1675bc44c734c40400d9648f2cf63c70a6b7b4032559a4fefd91e1b103c
MD5 de154426fc001fda779e114623d7badc
BLAKE2b-256 b471f2bdbd526195a32ef6866a1baa656e4d2ef3b3ca9a4fc8a0e0128a637466

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43919e21a8d8b7a8464dd041420e7c34d0bde0fea3ab0a4e0a6606c5902747b6
MD5 e2ebb89516657ee887b98ad543f8fc93
BLAKE2b-256 9a4e2ea52aeebc30ea5af08d0511148cdec9a61ca73d066965dbea5eca005850

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9ef765492093c36ae0830fd5dc076a6f221f8cf373d613ad83f7cf4c084de2a8
MD5 3573fbdc4ac76da32d26020c1a38bef5
BLAKE2b-256 b92f7ebe0bb5c170d0ce11931478eb60861a09648b702abae8dc477b24586166

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qmap-2.1.4-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.3

File hashes

Hashes for mqt.qmap-2.1.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d73983451bf39a4d598acf550edcce0f86cbf018f9cd727353304594cf84612e
MD5 75c80bbbe9ec23b98ca0fc8a8a841bba
BLAKE2b-256 b2dd76bf2538c4234fecc72ad51864c976b9a5461d671b9afed952fe80166e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06edbc54bebd3fa915f5abee9403b4ddb702b0e6706b618b6b2fe33484027481
MD5 41d0bf76e755f23e097688c80cffddd3
BLAKE2b-256 700d08cd26f83cfe92654084aa91453b0f0e3c5da3ccd3d34c176addffff6858

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ac7c56c9b44f9c3ce29a64541ac7241fd241f55fbaff247c2b55f346731af4f
MD5 50119551f5e0ff952b63bcbccdb4ba20
BLAKE2b-256 72c9edbebbe97e366c282f7c8a626c7a7893e7714e316335ab7486fbaa3f5a37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1e5a6439d5856a88c4d194e72a8dc8fd6960d82fef6ff905bb88d98f22556e1b
MD5 cc8f1294fda0162d3d6ef5523de3661f
BLAKE2b-256 9f9ce7384ea4842e220e49f82727e42d4ccbcc04a93bed5063c0684126a6a878

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