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

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

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 2.2.1
File
mqt.qmap-2.2.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qmap-2.2.1-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.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qmap-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qmap-2.2.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-2.2.1-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.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-2.2.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-2.2.1-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.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-2.2.1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-2.2.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-2.2.1-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.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-2.2.1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details

Total release size: 168.4 MB

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

Download URL mqt.qmap-2.2.1.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
8a6f6cfc430123afd3f11bb2da2fbedbf9bc55298e43461875585216675a1a15
BLAKE2b-256 checksum
How to use checksums
f06cdece771df2b643a244304bbab48afcd36cb887bbefdef93f5030861b0ed9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-cp311-cp311-win_amd64.whl
Size 7.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
82d7bbfef5f80ab0c13e0b08ce170694ea266ccc0db70b00150cc4aa62bbaa9b
BLAKE2b-256 checksum
How to use checksums
2075a474f5c0de8fcf5d83170590ce033893169760c1bb93c5740de36e0b4b96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-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
014a94328c897a1a802b40c884f75e7c9826b6a1f6c2e3600240154d1ad78818
BLAKE2b-256 checksum
How to use checksums
47437a033627adafbc35bbd52095373817b1d27497ed13c37166d2a81a343dcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

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

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

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

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

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

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

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

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

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

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

Download URL mqt.qmap-2.2.1-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
682b2a8ca5d5f30aea9fab8a58ddc09d92dc42ba1af9b56a469a18c792eccbba
BLAKE2b-256 checksum
How to use checksums
714804947ac79d36ff3bfbcc707c82a723fd3ef36b7c7c8629c45876305fddc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-cp39-cp39-win_amd64.whl
Size 7.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
8db7ff5102f982ca8a12ffbe00734e41dcd88cf2b94c56e3d87a20b8e4e501ef
BLAKE2b-256 checksum
How to use checksums
57e71bd68441328d45f70a61042c220d531cf97ec3764311c37f4139d5a1265a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-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
6f5d274df7483cc2cafe57c757a918ff61f9bfdfcd29eabd00033640638cd8ed
BLAKE2b-256 checksum
How to use checksums
6161b8ea5931f0c0b736eb9f965467768d21a9af9bce761a80c1e9b5606e2455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-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
05e9f8374af01645c739e69d829fd69dd69a7fa46a40b384e53a1d579d534966
BLAKE2b-256 checksum
How to use checksums
4ea8c79ba46f5ab14f01d1bcb59c1b2ad919759c6d72570c3b18ebadbd101aff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

Download URL mqt.qmap-2.2.1-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
65e2c40de8709919f842ede39eedded9092fab60b8be0920c489c6d6e3adbea1
BLAKE2b-256 checksum
How to use checksums
3ec049a4067eee05c54d4810ea936dfbd64df3576c7390f6c59450f3041bea93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

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

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

Download URL mqt.qmap-2.2.1-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
886dd819108cde1a982e2f23a42c5ebc1f3cbbe178e76be3c1f4c890fa0619b4
BLAKE2b-256 checksum
How to use checksums
5b678f140f472baf6880d3defcb25bc71e4369c1088d0267f251e988f2702d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.4

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

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

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

Download URL mqt.qmap-2.2.1-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
ee78e79ceb7e39070c4ef4415aa01a9d538cdb904fc6d073d3805a80e024bcf4
BLAKE2b-256 checksum
How to use checksums
1b9931408c55b9aec4734b3c709b212263b5575e8a20186e7df29d673312747d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 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