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.1.tar.gz (3.9 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

mqt.qmap-2.2.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mqt.qmap-2.2.1-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.1-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-2.2.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-2.2.1-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.1-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-2.2.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-2.2.1-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.1-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-2.2.1-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.1-cp38-cp38-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-2.2.1-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.1.tar.gz.

File metadata

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

File hashes

Hashes for mqt.qmap-2.2.1.tar.gz
Algorithm Hash digest
SHA256 8a6f6cfc430123afd3f11bb2da2fbedbf9bc55298e43461875585216675a1a15
MD5 0dcd2c3418e91fecbcb8f6784446042e
BLAKE2b-256 f06cdece771df2b643a244304bbab48afcd36cb887bbefdef93f5030861b0ed9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 82d7bbfef5f80ab0c13e0b08ce170694ea266ccc0db70b00150cc4aa62bbaa9b
MD5 869638c6bcc9afc4189e33017979c2be
BLAKE2b-256 2075a474f5c0de8fcf5d83170590ce033893169760c1bb93c5740de36e0b4b96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 014a94328c897a1a802b40c884f75e7c9826b6a1f6c2e3600240154d1ad78818
MD5 31d93c3afc2c5a5c5c4b81090af607a7
BLAKE2b-256 47437a033627adafbc35bbd52095373817b1d27497ed13c37166d2a81a343dcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ccc548f4cc0fdc5e6cc806c21668a31cb3041505ffa7876181e36ae547e7eae3
MD5 cd6af8d069aff275f6ed9f5035192ce9
BLAKE2b-256 830ff3966e190c397a2e4d76892b9caa1b7b8bf5e71ce3b9bb5d2f6c9477aafb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ddb8852504941d794028d94a07ae8eedda9cf5a2deed56dd083f07b1e6d85720
MD5 f150455fd8fe7d07db0654f11482140e
BLAKE2b-256 add6e989c0091e1865dc1be5dfd921eee3fa7357d8e5bdee4eb08f904cc8b28e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 34c18a03a8ac2f47b16fd8fbb67ea838c577cafecc7ae1d5650cd5fba9134245
MD5 d240e54adba6e159ba05e7394104262f
BLAKE2b-256 44099b25d87951ae964399c9a0a5282117e08478ef92530abbd27a637733c3c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9587b3c876e35da70740c32bc24cf83aad1e7606584782a88b73de97bae82da
MD5 99615d5350e22fe15c3f2a01d5a1d177
BLAKE2b-256 47d0fc48341338e7cad3929710ef39da695e4c3419d279265b75c3c033fde8a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d64b9bb50f377dad98f4d7025b85b9bd69f6efcf98fbde739ea6339658e22c2
MD5 242402cfd91d73c103e26820cec8df57
BLAKE2b-256 b1bb219680bbba9d44876469bc715111a3fdfd64a9c777e7359f9df22f064b4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 682b2a8ca5d5f30aea9fab8a58ddc09d92dc42ba1af9b56a469a18c792eccbba
MD5 09b643963852ba3fd9897506cea9fb08
BLAKE2b-256 714804947ac79d36ff3bfbcc707c82a723fd3ef36b7c7c8629c45876305fddc0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qmap-2.2.1-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.4

File hashes

Hashes for mqt.qmap-2.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8db7ff5102f982ca8a12ffbe00734e41dcd88cf2b94c56e3d87a20b8e4e501ef
MD5 7e3cd7703a72031e560daf8da43169ba
BLAKE2b-256 57e71bd68441328d45f70a61042c220d531cf97ec3764311c37f4139d5a1265a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f5d274df7483cc2cafe57c757a918ff61f9bfdfcd29eabd00033640638cd8ed
MD5 ed28d7d6c1ce2385bc76b739bccae420
BLAKE2b-256 6161b8ea5931f0c0b736eb9f965467768d21a9af9bce761a80c1e9b5606e2455

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05e9f8374af01645c739e69d829fd69dd69a7fa46a40b384e53a1d579d534966
MD5 0ed43adecd540be4d755f5491f78b56a
BLAKE2b-256 4ea8c79ba46f5ab14f01d1bcb59c1b2ad919759c6d72570c3b18ebadbd101aff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 65e2c40de8709919f842ede39eedded9092fab60b8be0920c489c6d6e3adbea1
MD5 4f7c3d1e775e6052ae3c632933cd9121
BLAKE2b-256 3ec049a4067eee05c54d4810ea936dfbd64df3576c7390f6c59450f3041bea93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mqt.qmap-2.2.1-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.4

File hashes

Hashes for mqt.qmap-2.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b7281e947a3e4fc9308a472c2c3f8c3934a1067f56ea01ca50512e12d591a869
MD5 db123b88b9cda2807fafa5326cd2040f
BLAKE2b-256 157761a1e5aac97fa8b9f66e97fb0f821d68f9649e96d266dc97795fa6825438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 886dd819108cde1a982e2f23a42c5ebc1f3cbbe178e76be3c1f4c890fa0619b4
MD5 538cc7dfb4033c15692cc48ddf3d219b
BLAKE2b-256 5b678f140f472baf6880d3defcb25bc71e4369c1088d0267f251e988f2702d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22efbb0241e958e55ede767f8f2cc00cf9cb90b8eb1908b165450120c8223a50
MD5 e2e9a94d90dceecf4e093b1ab1b30599
BLAKE2b-256 da057ea5cf74677c705068c06c5bff75e92fd15722d25612e5cfa935a37c2f62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.2.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ee78e79ceb7e39070c4ef4415aa01a9d538cdb904fc6d073d3805a80e024bcf4
MD5 67bdfc45d4877aadad259379a5d9035a
BLAKE2b-256 1b9931408c55b9aec4734b3c709b212263b5575e8a20186e7df29d673312747d

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