A tool for Quantum Circuit Mapping
Project description
MQT QMAP - A tool for Quantum Circuit Mapping written in C++
A tool for quantum circuit mapping developed by the Chair for Design Automation at the Technical University of Munich based on methods proposed in [1] , [2] , [3] , [4].
[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.
QMAP is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz). It builds upon our quantum functionality representation (QFR) and can be used for mapping quantum circuits in any of the following formats:
QuantumCircuit
object from IBM's Qiskit (only through the MQT QMAP Python bindings)OpenQASM
(e.g. used by IBM's Qiskit),Real
(e.g. from RevLib),TFC
(e.g. from Reversible Logic Synthesis Benchmarks Page)QC
(e.g. from Feynman)
to any given architecture, e.g., the 5-qubit, T-shaped IBMQ London architecture, which is specified by the coupling map
5
0 1
1 0
1 2
2 1
1 3
3 1
3 4
4 3
with the following available methods:
- Heuristic Mapper: Heuristic solution based on A* search. For details see [1] and [3].
- Exact Mapper: Exact solution utilizing the SMT Solver Z3. For details see [2] and [4].
Note that, at the moment, circuits to be mapped are assumed to be already decomposed into elementary gates supported by the targeted device. More specifically, circuits must not contain gates acting on more than two qubits.
For more information, please visit cda.cit.tum.de/research/ibm_qx_mapping/.
If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.
Usage
MQT QMAP is developed as a C++ library with an easy to use Python interface.
- In order to make the library as easy to use as possible (without compilation), we provide pre-built wheels for most common platforms (64-bit Linux, MacOS, Windows). These can be installed using
pip install mqt.qmap
However, in order to get the best performance out of QMAP, it is recommended to build it locally from the source distribution (see system requirements) viapip install mqt.qmap --no-binary mqt.qmap
This enables platform specific compiler optimizations that cannot be enabled on portable wheels. - Once installed, start using it in Python:
from mqt.qmap import * results = compile(circ, arch)
where circ
is either a Qiskit QuantumCircuit
object or the path to an input file (in any of the formats listed above)
and arch
is either one of the pre-defined architectures (see below) or the path to a file containing the number of qubits and a line-by-line enumeration of the qubit connections.
Architectures that are available per default (either as strings or under qmap.Arch.<...>
) include (corresponding files are available in extern/architectures/
):
IBM_QX4
(5 qubit, directed bow tie layout)IBM_QX5
(16 qubit, directed ladder layout)IBMQ_Yorktown
(5 qubit, undirected bow tie layout)IBMQ_London
(5 qubit, undirected T-shape layout)IBMQ_Bogota
(5 qubit, undirected linear chain layout)IBMQ_Tokyo
(20 qubit, undirected brick-like layout)
Whether the heuristic (default) or the exact mapper is used can be controlled by passing method="heuristic"
or method="exact"
to the compile
function.
There are several configuration options that can be passed to the compile
function:
-
The heuristic mapper offers the
initial_layout
option, which allows to choose one of the following strategies for choosing an initial layout:identity
: map logical qubit q_i to physical qubit Q_i,static
: determine fixed initial layout statically at the start of mapping,dynamic
(default): determine initial layout on demand during the mapping (this is the only one compatible with teleportation).
-
Both, the exact and the heuristic mapper also offer the
layering
option, which allows to choose one of the following strategies for partitioning the circuit:individual_gates
(default): consider each gate separately,disjoint_qubits
: consider gates acting on disjoint qubits as a layer,odd_gates
: group pairs of gates. (Note that this strategy was only tested for IBM QX4 with the exact mapping tool and may not work on different architectures)qubit_triangle
: add gates to a layer, as long as no more than three qubits are involved. (Note that this strategy only works if the architecture's coupling map contains a triangle, e.g. IBM QX4, and was only tested using the exact mapping tool)
-
The exact mapper offers the
encoding
option, which allows to choose a different encoding for at-most-one and exactly-one constraints:naive
(default): use naive encoding for constraintscommander
: use commander encoding for at-most-one and exactly-one constraintsbimander
: use bimander encoding for at-most-one and commander for exactly-one constraints
As the commander encoding can use different strategies to group the variables, there are different
commander_grouping
options:halves
(default): each group contains half of the total variableslogarithm
: each group contains at most log2 of the total variablesfixed2
: each group contains exactly two variablesfixed3
: each group contains exactly three variables
-
Per default, the exact mapper searches for a suitable mapping by considering every possible (connected) subset of qubits instead of the whole architecture at once. This can be disabled by setting
use_subsets=False
. -
The exact mapper also offers the
swap_reduction
option to enable limiting the number of swaps considered per layer (as proposed in [4] , which offers the following options:none
: consider whole search spacecoupling_limit
(default): calculate the max swaps per layer based on the longest path of current choice of qubits, or ifuse_subsets
is disabled considers the whole architectureincreasing
: start with 0 swaps and geometrically increase the number of swaps per layercustom
: set a custom limit, needs theswap_limit
option to set the limit
Using the
use_bdd
option, the mapping utilizes BDDs instead of simply removing the permutations from the core routine. This option is not generally advised, as it is more resource intensive in most cases, but is something to try in cases of timeout.
Command-line Executable
QMAP also provides two standalone executables with command-line interface called qmap_heuristic
and qmap_exact
. They provide the same options as the Python module as flags. Per default, this produces JSON formatted output. In
general, we recommend to use the Python approach described above, as these commandline executables might not be maintained in the future.
System Requirements
Building (and running) is continuously tested under Linux, MacOS, and Windows using the latest available system versions for GitHub Actions. However, the implementation should be compatible with any current C++ compiler supporting C++17 and a minimum CMake version of 3.14.
boost/program_options >= 1.50
is required for building the commandline applications of the mapping tool.
In order to build the exact mapping tool and for the Python bindings to work, the SMT Solver Z3 >= 4.8.3 has to be installed and the dynamic linker has to be able to find the library. This can be accomplished in a multitude of ways:
- Under Ubuntu 20.04 and newer:
sudo apt-get install libz3-dev
- Under macOS:
brew install z3
- Alternatively:
pip install z3-solver
and then append the corresponding path to the library path (LD_LIBRARY_PATH
under Linux,DYLD_LIBRARY_PATH
under macOS), e.g. viaexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(python -c "import z3; print(z3.__path__[0]+'/lib')")
- Download pre-built binaries from https://github.com/Z3Prover/z3/releases and copy the files to the respective system directories
- Build Z3 from source and install it to the system
Library Organisation
Internally the MQT QMAP library works in the following way
- Import input file into a
qc::QuantumComputation
objectqc::QuantumComputation qc{}; std::string circ = "<PATH_TO_CIRCUIT_FILE>"; qc.import(circ);
- Import architecture file into a
Architecture
objectArchitecture arch{}; std::string cm = "<PATH_TO_ARCH_FILE>"; arch.loadCouplingMap(cm);
- (Optional) Import calibration file into
arch
objectstd::string cal = "<PATH_TO_CAL_FILE>"; arch.loadCalibrationData(cal);
- Depending on
Method
, instantiate aHeuristicMapper
orExactMapper
object with the circuit and the architectureHeuristicMapper mapper(qc, arch);
orExactMapper mapper(qc, arch);
- Set configuration options, e.g.,
Configuration config{}; config.layeringStrategy = Layering::DisjointQubits;
- Perform the actual mapping
mapper.map(config);
- Dump the mapped circuit
mapper.dumpResult("<PATH_TO_OUTPUT_FILE>");
- Print the results
mapper.printResult(std::cout);
Configure, Build, and Install
To start off, clone this repository using
git clone --recurse-submodules -j8 https://github.com/cda-tum/qmap
Note the --recurse-submodules
flag. It is required to also clone all the required submodules.
If you happen to forget passing the flag on your initial clone, you can initialize all the submodules by executing git submodule update --init --recursive
in the main project directory.
Our projects use CMake as the main build configuration tool. Building a project using CMake is a two-stage process. First, CMake needs to be configured by calling
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
This tells CMake to search the current directory .
(passed via -S
) for a CMakeLists.txt file and process it into a directory build
(passed via -B
).
The flag -DCMAKE_BUILD_TYPE=Release
tells CMake to configure a Release build (as opposed to, e.g., a Debug build).
After configuring with CMake, the project can be built by calling
cmake --build build --config Release
This tries to build the project in the build
directory (passed via --build
).
Some operating systems and developer environments explicitly require a configuration to be set, which is why the --config
flag is also passed to the build command. The flag --parallel <NUMBER_OF_THREADS>
may be added to trigger a parallel build.
Building the project this way generates
- the heuristic library
libqmap_heuristic_lib.a
(Unix) /qmap_heuristic_lib.lib
(Windows) in thebuild/src
directory - the heuristic mapper commandline executable
qmap_heuristic
in thebuild/apps
directory (only available if Boost is found) - a test executable
qmap_heuristic_test
containing a small set of unit tests for the heuristic mapper in thebuild/test
directory - the exact library
libqmap_exact_lib.a
(Unix) /qmap_exact_lib.lib
(Windows) in thebuild/src
directory (only available if Z3 is found) - the exact mapper commandline executable
qmap_exact
in thebuild/apps
directory (only available if Boost and Z3 is found) - a test executable
qmap_exact_test
containing a small set of unit tests for the exact mapper in thebuild/test
directory (only available if Z3 is found)
Extending the Python Bindings
To extend the Python bindings you can locally install the package in edit mode, so that changes in the Python code are instantly available. The following example assumes you have a virtual environment set up and activated.
(venv) $ pip install cmake
(venv) $ pip install --editable .
If you change parts of the C++ code, you have to run the second line to make the changes visible in Python.
Reference
If you use our tool for your research, we will be thankful if you refer to it by citing the appropriate publications.
For the heuristic mapping, please cite
@article{DBLP:journals/tcad/ZulehnerPW19,
author = {Alwin Zulehner and Alexandru Paler and Robert Wille},
title = {An Efficient Methodology for Mapping Quantum Circuits to the {IBM QX} Architectures},
journal = {{IEEE} Transactions on Computer-Aided Design of Integrated Circuits and Systems},
volume = {38},
number = {7},
pages = {1226--1236},
year = {2019}
}
For the teleportation in the heuristic mapping, please cite
@inproceedings{DBLP:conf/aspdac/HillmichZW21,
author = {Stefan Hillmich and Alwin Zulehner and Robert Wille},
title = {Exploiting Quantum Teleportation in Quantum Circuit Mapping},
booktitle = {Asia and South Pacific Design Automation Conference},
pages = {792--797},
publisher = {{ACM}},
year = {2021}
}
For the exact mapping, please cite
@inproceedings{DBLP:conf/dac/WilleBZ19,
author = {Robert Wille and Lukas Burgholzer and Alwin Zulehner},
title = {Mapping Quantum Circuits to {IBM QX} Architectures Using the Minimal Number of {SWAP} and {H} Operations},
booktitle = {Design Automation Conference},
publisher = {{ACM}},
year = {2019}
}
For the search space limitation in the exact mapping, please cite
@inproceedings{burgholzer2022limitingSearchSpace,
author = {Lukas Burgholzer and Sarah Schneider and Robert Wille},
title = {Limiting the Search Space in Optimal Quantum Circuit Mapping},
booktitle = {Asia and South Pacific Design Automation Conference},
year = {2022}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file mqt.qmap-1.8.0.tar.gz
.
File metadata
- Download URL: mqt.qmap-1.8.0.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d7af58b60aa4fe046eabeaa1478b5c19d35b097e7f5a4c51c15d1419b8b0996 |
|
MD5 | 56c505aea90418eee7d4257848f69799 |
|
BLAKE2b-256 | 6a430f5536a30e86256f5e77c967ef51ee65838ed44be4a27678d00eec5f5386 |
File details
Details for the file mqt.qmap-1.8.0-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e73dc646274201198c4019ce488a61025a5649bfdbc4800ad9b884e9a641fe6 |
|
MD5 | c892eb369d407ee749be98244683e824 |
|
BLAKE2b-256 | c9577336b178132452f11946f64b9541d11f174b767cd35a4bd8332e8d4f11d5 |
File details
Details for the file mqt.qmap-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46bd2e3f70a4e7881c805813e63bbb45efc361db913d877868c5c1b83a070745 |
|
MD5 | be0978f643fcbaeb6716b62c92bc0025 |
|
BLAKE2b-256 | 4c8f84adb0ffe08536d27b5bcfaf8409173c9d7acdea1a775a5c5bc21db00dd1 |
File details
Details for the file mqt.qmap-1.8.0-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4073a4922cabe3801ca21022609f67097f6745611404f1bb7c951265097d8ee4 |
|
MD5 | 14c83e02dfe7efc48c84331dd51fbc7f |
|
BLAKE2b-256 | 9a052f16536af38e4efd9cec725ec37652effb04057240823517e125ac24c3dc |
File details
Details for the file mqt.qmap-1.8.0-cp310-cp310-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp310-cp310-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.10, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63545925ccf32109b350dce4581a3e2d693814aff751d62b902f660e2c8bc8dd |
|
MD5 | 5c0e02822b726d123ff26ccdb10732b2 |
|
BLAKE2b-256 | 67451c38a058704102940110790a13c90390661b45b4f060d635429fde6da9fc |
File details
Details for the file mqt.qmap-1.8.0-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 065f3f9bf0105503096c5beaf43d6f01b32740a998c6eb2866eab0cc6db59cf8 |
|
MD5 | e3a1feaa94dcbea1821fe78cfecae8d9 |
|
BLAKE2b-256 | e09aa79fdbd90b3aaf2ba8d7a4b6a06b13032d04833db9ae5c9f9dba840863a5 |
File details
Details for the file mqt.qmap-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dcd6aa1b1de2ea7f430732eefbd393dd10c8fce836fe7e4e6e5d3fe25c18d17 |
|
MD5 | 384142dc14a68ae6a0f0af7f2e94e9c4 |
|
BLAKE2b-256 | 936be4dd9b6d50e1cb914a453d2668241e9d6b84fc1dd1c3de3cdb76ce90bd8f |
File details
Details for the file mqt.qmap-1.8.0-cp39-cp39-macosx_11_0_arm64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 682769a9afa1a171a3683fab7d8519bb94c758fe8851a7c115a88299753deee8 |
|
MD5 | c86b0dee12fa40af29b478ab6e480a00 |
|
BLAKE2b-256 | 3e74950eb01f7afbebd33d4cb1fc05fb56247438d4663f8c904fb8de9a823986 |
File details
Details for the file mqt.qmap-1.8.0-cp39-cp39-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp39-cp39-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.9, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d9cdf09dc7bc09be2128b31314449d188870337cae87513ed48ea513e8637d0 |
|
MD5 | bd199a51f3300f75f32a22e9b1b92f72 |
|
BLAKE2b-256 | aee20b709be5746e91fe3c9fc8cfb5ca91c587bdcb78f74d32389dcb78ea341f |
File details
Details for the file mqt.qmap-1.8.0-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e147f933ad65551772be0c401c4cb2a2d37e70f70cbf8a6ebbbd219730dbe803 |
|
MD5 | 504543c175f2026f6934e91bda53a5c9 |
|
BLAKE2b-256 | 2b32bbbecd3e9f163f135a48a781af1c0233a6d99f1802a38aafbcf363895449 |
File details
Details for the file mqt.qmap-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93b6dd859e260ac7b26b6fdd8efc876734b8e57401ec53ecaa29d7f23b353057 |
|
MD5 | bf0af297ffa13c1de60839050728d274 |
|
BLAKE2b-256 | 49036a9762cfa09cc57aaff823ae997f34edf5fc69ce1920ab432991e431b426 |
File details
Details for the file mqt.qmap-1.8.0-cp38-cp38-macosx_11_0_arm64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 498adae5e6d607a4d5c36232381dfd4ab64b4918c445c81929c740b366f4d037 |
|
MD5 | 7aa5e21030d89f38eb8e8d57cbbfae8c |
|
BLAKE2b-256 | f36aa054d13a243ad176afadb7d8f051a58e6a5ffdf254d3f0ab7a5b57a8f99d |
File details
Details for the file mqt.qmap-1.8.0-cp38-cp38-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp38-cp38-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.8, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21d0c489d77d1f0690ab8ca1207d4e9ef9d7773ca1ee00f98fa4b632d3994a88 |
|
MD5 | 4554a0bf15e964c55ab219a197994873 |
|
BLAKE2b-256 | 1d0f3992dc81d661f02e484e8dc823e503c420c7d919258bd50b22e713bd7cfd |
File details
Details for the file mqt.qmap-1.8.0-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 411c36ffd6d3367274b825ef6d2de0c80e20aca4f775bd52ac2d2649c98e1f06 |
|
MD5 | 15c6e42cd6453de52286579a397e57f1 |
|
BLAKE2b-256 | cab2280ab69194ff0f234622efd794da8877be1e4a3ddb042bf4ab07e3ddd684 |
File details
Details for the file mqt.qmap-1.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732a5f22975242c0118d85c9b13c66bf3a0124a02af291acc62f2fafb52cde0a |
|
MD5 | 29c8126eeeea4494c670c822a109b913 |
|
BLAKE2b-256 | bf9e940078a0f10c4a92fa1d2f0f99a627c62a4f5eb8db3c055913ce7dd99e4b |
File details
Details for the file mqt.qmap-1.8.0-cp37-cp37m-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp37-cp37m-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.7m, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7a4f8d1ba25c705c024059ae068b60f39dfb6025a1d7f4f3298d3e03aa88e7 |
|
MD5 | 2c5f07835b6d3779e271819d32d78287 |
|
BLAKE2b-256 | 247ca0192e2042daeb60b16ed119f51e65151332dd4817d0e6a493b8d5e6f75a |
File details
Details for the file mqt.qmap-1.8.0-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f124b00ca9670488956dce6257756d2e642e8dc7e86c116bb0652d72712bf7ed |
|
MD5 | 249421617895832f36b7fdd5b586ee64 |
|
BLAKE2b-256 | 4b70a1044279b1d58ac3843532e44fe997995366a33d2b147375cefbec45d04a |
File details
Details for the file mqt.qmap-1.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 12.4 MB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d7a9e491939d63965c0b343814b422640fbbe55e7ec362a1508c7a73231c8cf |
|
MD5 | 1f9dda3ebb4bd661e47436d4e41379eb |
|
BLAKE2b-256 | 8eaf1d77ab71b1f7c85dcd6a5d938a12c6832f06f0f94edb2dec12c3bcead490 |
File details
Details for the file mqt.qmap-1.8.0-cp36-cp36m-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: mqt.qmap-1.8.0-cp36-cp36m-macosx_10_15_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.6m, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04cab821b0dd79d6d7cd80cc3fc68d98f262c0d5c70de50058d5ebf4bba453fa |
|
MD5 | 855043c35f83182099062f7967191c24 |
|
BLAKE2b-256 | fcc8572aed29e46baa87d6e86e2205895e6d1a554bb6b603eb44f814c23660b0 |