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.2.0

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.2.0
File Size Uploaded
mqt.qmap-2.2.0.tar.gz 3.9 MB Details

Built distributions (wheels)

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

Total release size: 168.3 MB

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

Download URL mqt.qmap-2.2.0.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
a01633e634430b13cc6301dd0259103d9eea5659735368adfab033a7cb490de5
BLAKE2b-256 checksum
How to use checksums
b9cadb67f394c440d00f0e150d19c49526d769c38aa2f29891c7805fbcb94c9e
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.2.0-cp311-cp311-win_amd64.whl

Download URL mqt.qmap-2.2.0-cp311-cp311-win_amd64.whl
Size 7.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b0cd92b45293d2fdbad52276330003177e5657563e2731b3f89e00be9137c192
BLAKE2b-256 checksum
How to use checksums
5223c3bc83a347176487f2d9abd1077231494e928473b04d8cebc381817d2600
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.2.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.2.0-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
536db9158ba4592a48c58822e5a8f68944641be955faa2bb6c5537bdd0ef8465
BLAKE2b-256 checksum
How to use checksums
8fe82ad855ca1e3fcfd9ba419bdc2fd3f5f09a9503e9554bff3921b34bd35247
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.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
451bb6cd52283d949de7222249fc58a8bcb1c9623708e768bc448ab04dc0a96c
BLAKE2b-256 checksum
How to use checksums
1ca349aa32dfb7b626f60c9887610a8283ede25a2806c146377ef774a2fe9522
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.2.0-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 10.9 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
5a863e911803416e62069352f022b68761974084eea9f37070ceada61fc53e87
BLAKE2b-256 checksum
How to use checksums
b340dfa2b4c311fbc59d241e93e04d3f98cd61754ca6a8eabbf125d91b285afb
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.2.0-cp310-cp310-win_amd64.whl

Download URL mqt.qmap-2.2.0-cp310-cp310-win_amd64.whl
Size 7.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
74ed46328be48d68f88f4d0a3f0c1761f866234798dbb46129f345ebcc40e2e1
BLAKE2b-256 checksum
How to use checksums
10cb58f817da586976f17dd41bc354cab2fe8744533ec532ffe4f549e2a9737a
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.2.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.2.0-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
6863f30fbbcabf00bdabfecd4f6495031ce0f92b3299d1aeb7415dbc525c4f9f
BLAKE2b-256 checksum
How to use checksums
d0cfa51334829c425ab05c1ae5dbb4a91a782ccacff306bed22080a15c6347fc
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.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7b3533e3c4adb03da43993f1562ebe50cf591645e599ffe6832c95c0eefa03e6
BLAKE2b-256 checksum
How to use checksums
f83b57a312f8e0e1b5a4d35d35f0db421e1655e5a09f39300a5a3482bb989118
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.2.0-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Size 10.9 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bff272987c4590fd780e4e952348669da08deed33885f7369a0b0fdded520152
BLAKE2b-256 checksum
How to use checksums
8ad17f800dd0b61b2878bb86cd152dff158697cc541e17cb297ea0bd29715aa9
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.2.0-cp39-cp39-win_amd64.whl

Download URL mqt.qmap-2.2.0-cp39-cp39-win_amd64.whl
Size 7.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
2d22e3b394ab7e7174835884e877cf34dd02a619657ff4099c6221fdb637f806
BLAKE2b-256 checksum
How to use checksums
63d565c6383216c5ef1bf3ddd058eb82815b57b97d0c4718beab32e74c9fc64b
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.2.0-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.2.0-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
8f7f1d5795324b07ee1fb592f01efbbcc7a2319bfe24376ab660681c99b9d2cb
BLAKE2b-256 checksum
How to use checksums
ceaafb2ce1bf4ff541fc65b6ebfdf1aa2416d25886afba1da2999ce3cbd1e9b7
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.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
86459b489d0aceb0bf383a6477c48d42065df21362c7ead25d70271389a97843
BLAKE2b-256 checksum
How to use checksums
0b48b97b47b0fff17a4a537ade2c455d30ddc48af914b2ab4255557f2d514a2a
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.2.0-cp39-cp39-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.2.0-cp39-cp39-macosx_10_15_x86_64.whl
Size 10.9 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2dc814264a62946066b296f4c0458fd58c2dabf1ea46c4fc4f7e8fcc23dfcc8b
BLAKE2b-256 checksum
How to use checksums
ef062d303ecae7ae50cc3120db8e1b5128516c1a1d4f21cfb9c6dbd67a02f3ab
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.2.0-cp38-cp38-win_amd64.whl

Download URL mqt.qmap-2.2.0-cp38-cp38-win_amd64.whl
Size 7.9 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
25b84132c0ae068c680868f6b96b65e210df78255be476b0e7c8dccd2750af9b
BLAKE2b-256 checksum
How to use checksums
68f19ae7511ad3d86c1a432d03ede4f7933758e9957be0601d5fb0063ac55823
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.2.0-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.2.0-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
c633c4aebc60d8411b425644ea10508cca6c1ec1ff7f7e3d06e83668d7df3098
BLAKE2b-256 checksum
How to use checksums
5ffddec32e0e7aa9743f0dff1887776a0ede13a9c62319030a8719e9b1f9b25f
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.2.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.2.0-cp38-cp38-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0ab45f894dac12a18bd193836550b9b1386a798ea22d1d6b5486bd916766d772
BLAKE2b-256 checksum
How to use checksums
3f84cd75b76689995a5f58c8d7e44d1e15286a2282db579f5eee17120463e2e5
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.2.0-cp38-cp38-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Size 10.9 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f6ec892823f008dccaffc5bbb25a5ab86dc05595fcf03c40dea193f7ce17c048
BLAKE2b-256 checksum
How to use checksums
824ff1c36f8a9d20cf24074d4f3c0a410cc5f915396ce9b234bb3a87773255b3
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