Skip to main content

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

Metadata

Release files for mqt-qmap 2.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mqt-qmap 2.1.4
File Size Uploaded
mqt.qmap-2.1.4.tar.gz 3.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 2.1.4
File
mqt.qmap-2.1.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qmap-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.1.4-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qmap-2.1.4-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qmap-2.1.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.1.4-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-2.1.4-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-2.1.4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-2.1.4-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.1.4-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-2.1.4-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-2.1.4-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-2.1.4-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.1.4-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-2.1.4-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details

Total release size: 167.9 MB

Release files / mqt.qmap-2.1.4.tar.gz

Download URL mqt.qmap-2.1.4.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f20a9510ef249aed1a9e5ddaf760cb695a7415a63b675fb55747a96a70b90df9
BLAKE2b-256 checksum
How to use checksums
b9e522660586d1cdcdca462e979bbae7d4f9b9aad7824f2f420a822fbfeada37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp311-cp311-win_amd64.whl

Download URL mqt.qmap-2.1.4-cp311-cp311-win_amd64.whl
Size 7.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
638f6e2da65ab2e8d0fb0e94d036d2178e2e017d9f19946979430743a52cdc73
BLAKE2b-256 checksum
How to use checksums
7082ae797eda2a6abd81def90c9f331ce5e336c33b8d2fb8517ed526067d16f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3720047820ab01170f4404a0a9a788236bf7a48cb02049cfff050aac08550255
BLAKE2b-256 checksum
How to use checksums
a58f5e7bbeb3e221dea850723267fef404cada4cd16e5c1d1af48168501b070e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp311-cp311-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.1.4-cp311-cp311-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1b5e6ebc811e9a10257e72af545e405cf4a67d56914585ac2a7c66acdd08ed32
BLAKE2b-256 checksum
How to use checksums
93300d5ece3b340b88990d159263585ca848d2d486268daaf0b9a4e73e562837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.1.4-cp311-cp311-macosx_10_15_x86_64.whl
Size 10.8 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6fc273823230f0eb963795c25f9638a29de172b8fb6a2128f3af794fcf2a4685
BLAKE2b-256 checksum
How to use checksums
346098b0c329797da122caa0a29549c00cf5ac75f6c08adf41b7f129b3f345aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp310-cp310-win_amd64.whl

Download URL mqt.qmap-2.1.4-cp310-cp310-win_amd64.whl
Size 7.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ac179833e6bdfef97be9c910139c46271d4b894683e4c8c2f0c5d756079d89da
BLAKE2b-256 checksum
How to use checksums
083f8b952e51f135f5dc57d7d7877daa51387da9a13cf963aaed235c7d17e948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
100475e215c81e440fd4225703b2744ceed1e4ed82f96c8d9adb5cd27d6e3a82
BLAKE2b-256 checksum
How to use checksums
13e44cfbd7c28bb46506130d83c24cfda73fcc9c6fd3756fb24499ff5a95903b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.1.4-cp310-cp310-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
84362e72bd4deabd03081458d7616193ed8b06348ea0d93606b3dda786665006
BLAKE2b-256 checksum
How to use checksums
80abf5f148b76ac53f06a26e88ba261e6c805ea1820cd3c87cc08a75b24647b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.1.4-cp310-cp310-macosx_10_15_x86_64.whl
Size 10.8 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9c456bcaa60ead8e6510aeb99f45b0443befb6691017b7c8d1222463e0c265a4
BLAKE2b-256 checksum
How to use checksums
de25477fc49d128f7f76f018cd683245a6f5a58209eeb19dcd00f831c3adea25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp39-cp39-win_amd64.whl

Download URL mqt.qmap-2.1.4-cp39-cp39-win_amd64.whl
Size 7.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
81e67cb4d8ef64649d650bc03feba692ddf44e8bfd0261f42fe2f1f65d669837
BLAKE2b-256 checksum
How to use checksums
fa06a966cd7a0a720bec6ddf11d8907ccc3c96e2f9f34920c82635743629ace4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.1.4-cp39-cp39-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
671dd1675bc44c734c40400d9648f2cf63c70a6b7b4032559a4fefd91e1b103c
BLAKE2b-256 checksum
How to use checksums
b471f2bdbd526195a32ef6866a1baa656e4d2ef3b3ca9a4fc8a0e0128a637466
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.1.4-cp39-cp39-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
43919e21a8d8b7a8464dd041420e7c34d0bde0fea3ab0a4e0a6606c5902747b6
BLAKE2b-256 checksum
How to use checksums
9a4e2ea52aeebc30ea5af08d0511148cdec9a61ca73d066965dbea5eca005850
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.1.4-cp39-cp39-macosx_10_15_x86_64.whl
Size 10.8 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9ef765492093c36ae0830fd5dc076a6f221f8cf373d613ad83f7cf4c084de2a8
BLAKE2b-256 checksum
How to use checksums
b92f7ebe0bb5c170d0ce11931478eb60861a09648b702abae8dc477b24586166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp38-cp38-win_amd64.whl

Download URL mqt.qmap-2.1.4-cp38-cp38-win_amd64.whl
Size 7.9 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
d73983451bf39a4d598acf550edcce0f86cbf018f9cd727353304594cf84612e
BLAKE2b-256 checksum
How to use checksums
b2dd76bf2538c4234fecc72ad51864c976b9a5461d671b9afed952fe80166e57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.1.4-cp38-cp38-manylinux_2_28_x86_64.whl
Size 13.0 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
06edbc54bebd3fa915f5abee9403b4ddb702b0e6706b618b6b2fe33484027481
BLAKE2b-256 checksum
How to use checksums
700d08cd26f83cfe92654084aa91453b0f0e3c5da3ccd3d34c176addffff6858
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.1.4-cp38-cp38-macosx_11_0_arm64.whl
Size 9.3 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9ac7c56c9b44f9c3ce29a64541ac7241fd241f55fbaff247c2b55f346731af4f
BLAKE2b-256 checksum
How to use checksums
72c9edbebbe97e366c282f7c8a626c7a7893e7714e316335ab7486fbaa3f5a37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / mqt.qmap-2.1.4-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.1.4-cp38-cp38-macosx_10_15_x86_64.whl
Size 10.8 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1e5a6439d5856a88c4d194e72a8dc8fd6960d82fef6ff905bb88d98f22556e1b
BLAKE2b-256 checksum
How to use checksums
9f9ce7384ea4842e220e49f82727e42d4ccbcc04a93bed5063c0684126a6a878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page