Skip to main content

A tool for Quantum Circuit Mapping

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mqt.qmap-2.2.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distributions

mqt.qmap-2.2.0-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

mqt.qmap-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.2.0-cp311-cp311-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mqt.qmap-2.2.0-cp311-cp311-macosx_10_15_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

mqt.qmap-2.2.0-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.2.0-cp310-cp310-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-2.2.0-cp310-cp310-macosx_10_15_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qmap-2.2.0-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-2.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.2.0-cp39-cp39-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-2.2.0-cp39-cp39-macosx_10_15_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qmap-2.2.0-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-2.2.0-cp38-cp38-manylinux_2_28_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.2.0-cp38-cp38-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-2.2.0-cp38-cp38-macosx_10_15_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file mqt.qmap-2.2.0.tar.gz.

File metadata

  • Download URL: mqt.qmap-2.2.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for mqt.qmap-2.2.0.tar.gz
Algorithm Hash digest
SHA256 a01633e634430b13cc6301dd0259103d9eea5659735368adfab033a7cb490de5
MD5 22e3f084d4056a3da3cd430f17519ee2
BLAKE2b-256 b9cadb67f394c440d00f0e150d19c49526d769c38aa2f29891c7805fbcb94c9e

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b0cd92b45293d2fdbad52276330003177e5657563e2731b3f89e00be9137c192
MD5 4f7f0e91fa8d58be9022314a5ba21038
BLAKE2b-256 5223c3bc83a347176487f2d9abd1077231494e928473b04d8cebc381817d2600

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 536db9158ba4592a48c58822e5a8f68944641be955faa2bb6c5537bdd0ef8465
MD5 c12581487c01c9a679dca909a5502405
BLAKE2b-256 8fe82ad855ca1e3fcfd9ba419bdc2fd3f5f09a9503e9554bff3921b34bd35247

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 451bb6cd52283d949de7222249fc58a8bcb1c9623708e768bc448ab04dc0a96c
MD5 9ca4ca651150ace62d8c75f029507cbd
BLAKE2b-256 1ca349aa32dfb7b626f60c9887610a8283ede25a2806c146377ef774a2fe9522

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5a863e911803416e62069352f022b68761974084eea9f37070ceada61fc53e87
MD5 20d3303cf5a8e4999802d7926296a6c2
BLAKE2b-256 b340dfa2b4c311fbc59d241e93e04d3f98cd61754ca6a8eabbf125d91b285afb

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 74ed46328be48d68f88f4d0a3f0c1761f866234798dbb46129f345ebcc40e2e1
MD5 9331757651b5b985ff8a3961feb59c06
BLAKE2b-256 10cb58f817da586976f17dd41bc354cab2fe8744533ec532ffe4f549e2a9737a

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6863f30fbbcabf00bdabfecd4f6495031ce0f92b3299d1aeb7415dbc525c4f9f
MD5 4242d2ccf50a0c1e2da9d0e392ef6c7d
BLAKE2b-256 d0cfa51334829c425ab05c1ae5dbb4a91a782ccacff306bed22080a15c6347fc

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b3533e3c4adb03da43993f1562ebe50cf591645e599ffe6832c95c0eefa03e6
MD5 11516e7ac99aec6ff8db86e33ad98a63
BLAKE2b-256 f83b57a312f8e0e1b5a4d35d35f0db421e1655e5a09f39300a5a3482bb989118

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bff272987c4590fd780e4e952348669da08deed33885f7369a0b0fdded520152
MD5 8403758ebd00c7857f36245c1b040d64
BLAKE2b-256 8ad17f800dd0b61b2878bb86cd152dff158697cc541e17cb297ea0bd29715aa9

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mqt.qmap-2.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for mqt.qmap-2.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2d22e3b394ab7e7174835884e877cf34dd02a619657ff4099c6221fdb637f806
MD5 fbd14eb9dbf340cbedae39104fe0b778
BLAKE2b-256 63d565c6383216c5ef1bf3ddd058eb82815b57b97d0c4718beab32e74c9fc64b

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8f7f1d5795324b07ee1fb592f01efbbcc7a2319bfe24376ab660681c99b9d2cb
MD5 3dbab3890b28f955963aa8e25ea6dfdf
BLAKE2b-256 ceaafb2ce1bf4ff541fc65b6ebfdf1aa2416d25886afba1da2999ce3cbd1e9b7

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86459b489d0aceb0bf383a6477c48d42065df21362c7ead25d70271389a97843
MD5 30761a06206808ea0d6e4cbbfb910935
BLAKE2b-256 0b48b97b47b0fff17a4a537ade2c455d30ddc48af914b2ab4255557f2d514a2a

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2dc814264a62946066b296f4c0458fd58c2dabf1ea46c4fc4f7e8fcc23dfcc8b
MD5 8cbf1c8611a599bf9d66c4a279d9a63d
BLAKE2b-256 ef062d303ecae7ae50cc3120db8e1b5128516c1a1d4f21cfb9c6dbd67a02f3ab

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mqt.qmap-2.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for mqt.qmap-2.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 25b84132c0ae068c680868f6b96b65e210df78255be476b0e7c8dccd2750af9b
MD5 9796c4a0e4c8beffa5078a6925dfb588
BLAKE2b-256 68f19ae7511ad3d86c1a432d03ede4f7933758e9957be0601d5fb0063ac55823

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c633c4aebc60d8411b425644ea10508cca6c1ec1ff7f7e3d06e83668d7df3098
MD5 b7a845f305339b67c188a7bb0d9764b4
BLAKE2b-256 5ffddec32e0e7aa9743f0dff1887776a0ede13a9c62319030a8719e9b1f9b25f

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ab45f894dac12a18bd193836550b9b1386a798ea22d1d6b5486bd916766d772
MD5 220fc1a4eb6c31d9d81da3f9acec1281
BLAKE2b-256 3f84cd75b76689995a5f58c8d7e44d1e15286a2282db579f5eee17120463e2e5

See more details on using hashes here.

File details

Details for the file mqt.qmap-2.2.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-2.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f6ec892823f008dccaffc5bbb25a5ab86dc05595fcf03c40dea193f7ce17c048
MD5 00302f942778fbb528c84bcfdba1cf86
BLAKE2b-256 824ff1c36f8a9d20cf24074d4f3c0a410cc5f915396ce9b234bb3a87773255b3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page