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 MQT Core, which forms the backbone of the MQT.

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

(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.3.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.3.0
File Size Uploaded
mqt.qmap-2.3.0.tar.gz 3.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 2.3.0
File
mqt.qmap-2.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mqt.qmap-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
mqt.qmap-2.3.0-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
mqt.qmap-2.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qmap-2.3.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.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qmap-2.3.0-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qmap-2.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-2.3.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.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-2.3.0-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-2.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-2.3.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.3.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-2.3.0-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-2.3.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-2.3.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.3.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-2.3.0-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details

Total release size: 209.1 MB

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

Download URL mqt.qmap-2.3.0.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
7568d59a4115d30547d5b2ec5a6b1725de5e1381f5b804b732125993c766d627
BLAKE2b-256 checksum
How to use checksums
4d06efb1d9f012d5dbca5f1b297b8da1c5d50a4e3a42187b575c970cf0a7eefd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / mqt.qmap-2.3.0-cp312-cp312-win_amd64.whl

Download URL mqt.qmap-2.3.0-cp312-cp312-win_amd64.whl
Size 7.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5d93629e0494f630dcd6962036129872696605541811c628a873237b19bd0b5a
BLAKE2b-256 checksum
How to use checksums
8bebb5704cac1f98502cb456b7b063a527f2fa407040362b1e9433efb13452b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / mqt.qmap-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 13.1 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bd82fed27dec182fbf95519c7025410ab5afb14617f75de5dc0a836510c3bfae
BLAKE2b-256 checksum
How to use checksums
98ab67e49ae735a003dc7e82724b917391af01436731839c7f2e6124003d36ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / mqt.qmap-2.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL mqt.qmap-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 9.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c3b2df90e45a10abde4d312a7aaa24aef00f3f18fbd9c1f3d5b031b13689e913
BLAKE2b-256 checksum
How to use checksums
b3d830bca20ed7b02c0b92c043229d4f771171df2eacd03c5b8a8a0c6d1e0c53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / mqt.qmap-2.3.0-cp312-cp312-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.3.0-cp312-cp312-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
78c41e48d54f76d6e5c7c736aae1928b2a5eae325768a15d1244a4b417b626fd
BLAKE2b-256 checksum
How to use checksums
e60ef5b3addd21be9322157c81f163a100ef20150449ae8aaa0e3b2ad971f57e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp311-cp311-win_amd64.whl
Size 7.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a8da74a80a7546ebad5ed40f35503af3e9b41271d8b2b7e91ffd57a515a4b5d4
BLAKE2b-256 checksum
How to use checksums
7a9e20b7b1b37509213d3c459e105241abd3fd0ec599ac45163f6f5fc439455d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 13.1 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ceae48f8d7590053bfd729a7c35908384803e856f629961ff0d6e83887456f4f
BLAKE2b-256 checksum
How to use checksums
7dd8ed6404f3463fdb4aacaad007cf33ce23d07f06b1d3f3fd29fa2491d28bad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.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
a5a409ac2f4081b3decdcf55675667658b82bd67cc5bcfabe488b832485d49d4
BLAKE2b-256 checksum
How to use checksums
a65e1fbe41ea01bddf3d5c6030be1805bb6f0056c713dfc6b78cdf1b6a966ffd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
7227bf75f7beef8cdfe6a075cc0c9bca93f7c9e6b411206d8b3b4576682a4b76
BLAKE2b-256 checksum
How to use checksums
0c81cc48abde1750d1bcb020dcbd1a4ebc10eaccbd308ff2e073e113e427dce3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp310-cp310-win_amd64.whl
Size 7.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a1c8968ec8a48421e11d4e81ea1dbf0c82844ab3a16a6ec4881f57c8436c88ce
BLAKE2b-256 checksum
How to use checksums
b666e5652c875a78f4b38dccbeaf10e789e2add46c369076d6e25d835b2a801b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 13.1 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b996d7266a1e9bfb944f397a8ad6c536f443bcf0862a19748e5c3d02fa62ad65
BLAKE2b-256 checksum
How to use checksums
96ce8bc61e26148d71499b02e5b92de3410ac118472469e66e8b4c00c6326253
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.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
2f7561a6105f8bd8e7df08fd2cfe67f081f4520bbc8d3f905a112a6211da2c4c
BLAKE2b-256 checksum
How to use checksums
4efe1ddbe1cd4271c35d828d1613bd4da60d1d7a548124d60bfd7505a14ebc72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp310-cp310-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
78687802b2b8d8915d75fab1c15f8aa43729c924247728e64d373a627a0783a2
BLAKE2b-256 checksum
How to use checksums
c630a32760c12d2dc68cc7330272df41c9da48e1fd87a153a89b881189a7961f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp39-cp39-win_amd64.whl
Size 7.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
0d7d3ee41b4579f2a81b7b269918ebf365632c1e2640cb8573785421025d6deb
BLAKE2b-256 checksum
How to use checksums
d8aa3ea859ad195e3674d4b016a840f9494374508aea2fd4ddbb8f6a0b3b1bd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
Size 13.1 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a4da53d8faa2fdbbd0ef3bc6cb45fd16e6b593717d671a24fe05b1cd7ac8f78f
BLAKE2b-256 checksum
How to use checksums
0f8ae1514cc9f963da483771c2fc13e4aead5d1ba54b48a76daaebceb4f795fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.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
882a1cde29ad036c32ad24aac35813993c0c8ae98dbed22b760ef42d701da82a
BLAKE2b-256 checksum
How to use checksums
e8b2bc5f2373d424fe37cfb2ab63030554354c458a124422fde42c40ef6b40ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp39-cp39-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a26b07b610335ef8b71cc2a56ef2815bcfa31af2b93c9f8773bab60ece263cd3
BLAKE2b-256 checksum
How to use checksums
5ff66aca3dc08609e6292dec851cbc838cc3499d3bbb28c1a2183508e6f8a5d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp38-cp38-win_amd64.whl
Size 7.9 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
f582594a27eaf592922a911a77d668511189ce770dedf6e0a361ce1835b1c30a
BLAKE2b-256 checksum
How to use checksums
2d20db48089451ffcd572df81042ce3511500e27f74eaff3b41bbd207ef97df3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl
Size 13.1 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
de84f9c133eff438ca7c12e25a6f9fefb3fb10c15a2938903016da856e963a10
BLAKE2b-256 checksum
How to use checksums
701b30b2a8e3af72c88230d8d554e3d14947e39f414b87e8df836c8bf242333c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.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
88bb86332353bd030158673fdd2a7982b15c4af2ee1a429851c6552e42c9ec98
BLAKE2b-256 checksum
How to use checksums
0e3fa18fb212abd2d51ffcc30c4483ec5fe2741d73607c62613f6e5c739fb24c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

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

Download URL mqt.qmap-2.3.0-cp38-cp38-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
64775de12e0d2ba9c550d64d27744539613b423297acad71e860ccf4a0483d5a
BLAKE2b-256 checksum
How to use checksums
996af98a352f71047f82dc56c22ea5fcdc3e28fda64f9ae7e0850b9c0cd7f13a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4
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