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

Uploaded Source

Built Distributions

mqt.qmap-2.1.2-cp311-cp311-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.11 Windows x86-64

mqt.qmap-2.1.2-cp311-cp311-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.2-cp311-cp311-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mqt.qmap-2.1.2-cp311-cp311-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

mqt.qmap-2.1.2-cp310-cp310-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-2.1.2-cp310-cp310-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.2-cp310-cp310-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-2.1.2-cp310-cp310-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qmap-2.1.2-cp39-cp39-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-2.1.2-cp39-cp39-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.2-cp39-cp39-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-2.1.2-cp39-cp39-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qmap-2.1.2-cp38-cp38-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-2.1.2-cp38-cp38-manylinux_2_28_x86_64.whl (12.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

mqt.qmap-2.1.2-cp38-cp38-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl (10.7 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

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

File metadata

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

File hashes

Hashes for mqt.qmap-2.1.2.tar.gz
Algorithm Hash digest
SHA256 c48aabaa0b316200711752834076215e2079ef452b3220cf130b8c18292cdfbb
MD5 e94ecae3dce39714d7c49bcb855f1651
BLAKE2b-256 2ea4108c500ba93acb7d3b4d0a7a0969b9e47dfd5e3734a5e372951ef0596bf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8dba4e37e9b3e5ee877d9fa9a98dbb18c7bb597eafe2dcc4dfacde018d22ff70
MD5 acc63442dbc40b6b635fcb23bacaa587
BLAKE2b-256 32d53fa69d7f863ec74fa3b5848eebc1580f46fbce1cbeed7e24cace15fbd7d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11ce1c4721ccde81040b9228f892bec567153a0071c88e926a46745ae0a74642
MD5 dd4f2fe85c409c12b95bbfa7abd6ddbc
BLAKE2b-256 49945d6fbe38550199be181abb580c9c3f40f39e0eb50f26bb97d5ad371fa34a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ca08dbd1596269aa31cccc43a8a01194624f388e688edba363826f267806fe0
MD5 dc364bbbf66b791e8c231fd0462cc43b
BLAKE2b-256 64409e698577a728eeca635fefc932a18c0ecd71188a38129784c6edca84d634

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f8a179a806e765a0dc10f0818d3386fdee30c0889e92a9a8eacea205cef80a80
MD5 0d8a1b348eb0d5cfe6c259867e205877
BLAKE2b-256 b1d81c7055f32105460e5a699a26c364b77cd904e8bc385f5810b953770a50f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 adf6e32352e38275a8fa2789295f630db1b7407d55cd40e5b9ef9802ae37d232
MD5 e71a9992c75b4d1d204972dec2f7c580
BLAKE2b-256 e5c3719956373399b4a9df0326974d6a0bfad44e6de70b2da3aa1b07368da664

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4184c43bc351fcee91f8b04d89bc641b296599b961b5e854ba2960e1e02a6631
MD5 71ed4b8b8e361e900f79fb8bce1bbcb6
BLAKE2b-256 8ee9048c1a4611e543e1760fa7bf0845d01dd7aa840ca5dc4e224592b0073c4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79bcd7b131fd7230af9f6c902f2761429810b432744f80333f72b3c63e71af1a
MD5 6c7c17b7b725f75a25ddc0177e978012
BLAKE2b-256 4d8e28ea891af84b455f6a7990dea590e005e61b785d7a8f5019fb42e641f6bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 605ba3b97eea84446512b78abdf94d8fc16dd9db646a98e052cbcbf871e877f1
MD5 11289e138a9477635001c613b0cb921d
BLAKE2b-256 5d69058bb83807345b59035c088016a46f7e70421de9a1287ef115988172ca93

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mqt.qmap-2.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bdea817312fbb1011dde70bf381f5795867529c37f357d78337e31a875601e0f
MD5 6106543315ff3fcc67fe78107e5c93a9
BLAKE2b-256 df2adac5fda530e104a94d96808cb28a8f436193a2bed7783887f8e9ccd0be24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26221328f2359716047db678587ef7cedc4c18491222c803446921f4bff63661
MD5 7608fb01309da6f67a7a45f3b5abeeb6
BLAKE2b-256 a9cca57b4cdb3cc5497e4278d193f0727e5500d6e4af2de8f8b15cba157ee86d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22373ebe9f67eff6029220c6ab15002fe4134d8849ecdf53dac8a81978f71bfb
MD5 3533d6c5219cbd8ef8c8b06f3143be57
BLAKE2b-256 5e43fca6040a571d672ad774bb04853fe8305ff0be2b41d62d247c556a0c4234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8ac811f60ebbe4a72ab2dabaa98de2004c7a5e8a1cae807a7faa6d4375800d3c
MD5 cfea22601df1f37b13983677189c529a
BLAKE2b-256 0ef88a9908e6ded6cfab4974d03ac320f46e8521846255faabd17c4e2b778fd3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mqt.qmap-2.1.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9a13720376685a27a184e8486fc025c0be6cf7d05d45c67b241c78c0dc072159
MD5 e8e7b7a61a96507c1b8c346103499112
BLAKE2b-256 c46322e652c8753009b11e9fef30d985722e1572f370b86d6b4605681471c14b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae477c77a48a9e26195aae4421434de2974a4a21652ba014ef53b4ad8e9707a6
MD5 d83f5c1d51e7e6716aa8657429d3fe40
BLAKE2b-256 0b2537504e529417fa78d79c7c98410fd122d4e3240342312bc743e8a8998fc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25228a8934eb9b9f988346e32f299648cc33d5f271738ee968e1f9573abb7282
MD5 e566501a47fa5f711f7ce907b15e715d
BLAKE2b-256 99f61ee63399584ac19a502cd469b562c7e02e1c79b0e00ce75beef73f176710

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4dda7dda477268413189f7c0116e70b87235d9a05bb19402233a6944a398af0c
MD5 f6e81440276dc9a59bb367695235e265
BLAKE2b-256 fbaedd3e2181d171aaf68104fbfa1f63e401fe3eeebb24714afd28380a138643

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