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

QMAP is available via PyPI for Linux, macOS, and Windows.

(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 and a minimum CMake version of 3.19. 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] 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.

[2] 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.

[3] 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.

[4] 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.

[5] T. Peham, L. Burgholzer, and R. Wille. On Optimal Subarchitectures for Quantum Circuit Mapping. arXiv:2210.09321, 2022.

[6] 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.0.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.0.1
File Size Uploaded
mqt.qmap-2.0.1.tar.gz 3.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for mqt-qmap 2.0.1
File
mqt.qmap-2.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mqt.qmap-2.0.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.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mqt.qmap-2.0.1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mqt.qmap-2.0.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mqt.qmap-2.0.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.0.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mqt.qmap-2.0.1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
mqt.qmap-2.0.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mqt.qmap-2.0.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.0.1-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
mqt.qmap-2.0.1-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
mqt.qmap-2.0.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
mqt.qmap-2.0.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.0.1-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
mqt.qmap-2.0.1-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
mqt.qmap-2.0.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
mqt.qmap-2.0.1-cp37-cp37m-manylinux_2_28_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64 Details
mqt.qmap-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 197.9 MB

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

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

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

Download URL mqt.qmap-2.0.1-cp311-cp311-win_amd64.whl
Size 7.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f285f44b3fc38a3159ba45d3b014d81e9ced1555bd8e3b5b932cf16aced91965
BLAKE2b-256 checksum
How to use checksums
6742ec66ec2a4bb3cf86c84311a5d5b8118ad8732a5b342275776ba1230c4145
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 12.9 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3c3f692877cfd24c30d732ff892caa9728f7fa8740717d5fa6aa5c7d110ef626
BLAKE2b-256 checksum
How to use checksums
06276385454eff846d1f39a732637d197d7f040750eefc17b89bf2a4a52e63d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
Size 9.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9b4ec5b0ecf24be3087ff73d8ef8e57609a170271764c27074b31a85e4514d6e
BLAKE2b-256 checksum
How to use checksums
a44407ada7cb878c8b2a9d05d5204cafc557ff381dae3a13ac43247c5def6b7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-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
65603526566a0b193c3e5938bf31becb6aff0f13cdca75c961f73a9773223dcf
BLAKE2b-256 checksum
How to use checksums
2a06ac2852a5f76144b7fc9acd0526f83f6dac89489fd9bf77524a24459c7e61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp310-cp310-win_amd64.whl
Size 7.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b61bc6241d694c11ec4b604242fd1dd562fda5c6a53aeb3cf0a14718a8d9d8b4
BLAKE2b-256 checksum
How to use checksums
a44001a20fc0ed2e609797dc4460c904569b51acc6ac65eca7230906ddd78866
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 12.9 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4b79d91c722d621a761c266f85fa1ceb4215e2d70b26efdf65c79e8c57527314
BLAKE2b-256 checksum
How to use checksums
8f5464d3e390a21f3dfbeffd692b6b1c62ee82dc98fc57ed0e79212220868ce5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
Size 9.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
73377c8620252bbb8bae57b0a26676e7e916471b57ca3c3727efa7da2704aca8
BLAKE2b-256 checksum
How to use checksums
05b018b51cc44c04bf68f95ab88c3e5d3fdda9f11863e31cadfbf6ed69935d76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-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
8452ff1335f9bf0186b9fd3095d50718ae03ff9c0683da03862d7fd0797de0ec
BLAKE2b-256 checksum
How to use checksums
683fb6903bf8618a9f5dd5e509c18eba0ee729d62210088556462ce72ad4ea83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp39-cp39-win_amd64.whl
Size 7.8 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
bac7b61c755c318a689a058535deaf9bfc13f2d5330051a1b1d4f48c475b7b0d
BLAKE2b-256 checksum
How to use checksums
432de2502865d11f5b6bd80c693482cbac00915f14a99537dcdc5834c6ff8446
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp39-cp39-manylinux_2_28_x86_64.whl
Size 12.9 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6e21e8890febd08cb700dbc355c9c9232c248a4896dce3662492b7c03def0601
BLAKE2b-256 checksum
How to use checksums
8fcf599f5f1cd608d29c29c1131f17798c29b6d5b559cc1f8b34e82a05bfba17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
Size 9.2 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0b9d4c351f2250c22eb853ad59e606458686801ec071b5b671df958938d70f9
BLAKE2b-256 checksum
How to use checksums
1ac6fb5122b6d98970be53aecc3ea63f498c1f5e62283a33d0ace53e4b7a10c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

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

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

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

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

Download URL mqt.qmap-2.0.1-cp38-cp38-manylinux_2_28_x86_64.whl
Size 12.9 MB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a8bdf7cd8ea8447990d0e3656f26b86c0097f81ff5a23a1100fc8ecd9001b1a3
BLAKE2b-256 checksum
How to use checksums
49d255fb3d90308970291129dc90f8f3857cfb740743c081a2098c55f847ab0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

Download URL mqt.qmap-2.0.1-cp38-cp38-macosx_11_0_arm64.whl
Size 9.2 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6b9cc0d9f8ba397ec3e9663ff395139639f8f35703a5eac7367546205e19a3ec
BLAKE2b-256 checksum
How to use checksums
9dd76b2812a9e79b5805f7e7c995fd4f08dbe03b89dcb64487278a30fbbf08a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

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

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

Release files / mqt.qmap-2.0.1-cp37-cp37m-win_amd64.whl

Download URL mqt.qmap-2.0.1-cp37-cp37m-win_amd64.whl
Size 7.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
7b4c44ee6abdfa390ec4de7adf4dd3d0a8ec74e2b495e13a8b89e695525e175a
BLAKE2b-256 checksum
How to use checksums
b192fb10856d0323ea56b2f23eac6d76121a4d7b8c8717663e230b7d07e32ed6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / mqt.qmap-2.0.1-cp37-cp37m-manylinux_2_28_x86_64.whl

Download URL mqt.qmap-2.0.1-cp37-cp37m-manylinux_2_28_x86_64.whl
Size 12.9 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
895fea6e0db7d0c95500a544fd5b4cb79f78df0970456b0ff01dea370c8176be
BLAKE2b-256 checksum
How to use checksums
29eacabf138c771e0c189949e2295698965de11bec71c6d576158513e7e8d83c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / mqt.qmap-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL mqt.qmap-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl
Size 10.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1ae76469515a14ae976a31b391ac44c9c74fd9fe19eb3763e74073926c608204
BLAKE2b-256 checksum
How to use checksums
8d62d289c0a024ab838328b86bb5403a1654e685ddd1622c15afd569893e1bff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1
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