Skip to main content

A tool for Quantum Circuit Mapping

Project description

PyPI OS License: MIT CI Bindings codecov

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:

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) via
    pip 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 constraints
    • commander: use commander encoding for at-most-one and exactly-one constraints
    • bimander: 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 variables
    • logarithm: each group contains at most log2 of the total variables
    • fixed2: each group contains exactly two variables
    • fixed3: 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 space
    • coupling_limit (default): calculate the max swaps per layer based on the longest path of current choice of qubits, or if use_subsets is disabled considers the whole architecture
    • increasing: start with 0 swaps and geometrically increase the number of swaps per layer
    • custom: set a custom limit, needs the swap_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. via
    export 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 object
    qc::QuantumComputation qc{};
    std::string circ = "<PATH_TO_CIRCUIT_FILE>";
    qc.import(circ);
    
  • Import architecture file into a Architecture object
    Architecture arch{};
    std::string cm = "<PATH_TO_ARCH_FILE>";
    arch.loadCouplingMap(cm);
    
  • (Optional) Import calibration file into arch object
    std::string cal = "<PATH_TO_CAL_FILE>";
    arch.loadCalibrationData(cal);
    
  • Depending on Method, instantiate a HeuristicMapper or ExactMapper object with the circuit and the architecture
    HeuristicMapper mapper(qc, arch);
    
    or
    ExactMapper 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 the build/src directory
  • the heuristic mapper commandline executable qmap_heuristic in the build/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 the build/test directory
  • the exact library libqmap_exact_lib.a (Unix) / qmap_exact_lib.lib (Windows) in the build/src directory (only available if Z3 is found)
  • the exact mapper commandline executable qmap_exact in the build/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 the build/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


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

Uploaded Source

Built Distributions

mqt.qmap-1.8.0-cp310-cp310-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

mqt.qmap-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mqt.qmap-1.8.0-cp310-cp310-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mqt.qmap-1.8.0-cp310-cp310-macosx_10_15_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

mqt.qmap-1.8.0-cp39-cp39-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.9 Windows x86-64

mqt.qmap-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mqt.qmap-1.8.0-cp39-cp39-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mqt.qmap-1.8.0-cp39-cp39-macosx_10_15_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

mqt.qmap-1.8.0-cp38-cp38-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.8 Windows x86-64

mqt.qmap-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mqt.qmap-1.8.0-cp38-cp38-macosx_11_0_arm64.whl (6.9 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

mqt.qmap-1.8.0-cp38-cp38-macosx_10_15_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

mqt.qmap-1.8.0-cp37-cp37m-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.7m Windows x86-64

mqt.qmap-1.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

mqt.qmap-1.8.0-cp37-cp37m-macosx_10_15_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

mqt.qmap-1.8.0-cp36-cp36m-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.6m Windows x86-64

mqt.qmap-1.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

mqt.qmap-1.8.0-cp36-cp36m-macosx_10_15_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.6m macOS 10.15+ x86-64

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

Hashes for mqt.qmap-1.8.0.tar.gz
Algorithm Hash digest
SHA256 7d7af58b60aa4fe046eabeaa1478b5c19d35b097e7f5a4c51c15d1419b8b0996
MD5 56c505aea90418eee7d4257848f69799
BLAKE2b-256 6a430f5536a30e86256f5e77c967ef51ee65838ed44be4a27678d00eec5f5386

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e73dc646274201198c4019ce488a61025a5649bfdbc4800ad9b884e9a641fe6
MD5 c892eb369d407ee749be98244683e824
BLAKE2b-256 c9577336b178132452f11946f64b9541d11f174b767cd35a4bd8332e8d4f11d5

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46bd2e3f70a4e7881c805813e63bbb45efc361db913d877868c5c1b83a070745
MD5 be0978f643fcbaeb6716b62c92bc0025
BLAKE2b-256 4c8f84adb0ffe08536d27b5bcfaf8409173c9d7acdea1a775a5c5bc21db00dd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4073a4922cabe3801ca21022609f67097f6745611404f1bb7c951265097d8ee4
MD5 14c83e02dfe7efc48c84331dd51fbc7f
BLAKE2b-256 9a052f16536af38e4efd9cec725ec37652effb04057240823517e125ac24c3dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 63545925ccf32109b350dce4581a3e2d693814aff751d62b902f660e2c8bc8dd
MD5 5c0e02822b726d123ff26ccdb10732b2
BLAKE2b-256 67451c38a058704102940110790a13c90390661b45b4f060d635429fde6da9fc

See more details on using hashes here.

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

Hashes for mqt.qmap-1.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 065f3f9bf0105503096c5beaf43d6f01b32740a998c6eb2866eab0cc6db59cf8
MD5 e3a1feaa94dcbea1821fe78cfecae8d9
BLAKE2b-256 e09aa79fdbd90b3aaf2ba8d7a4b6a06b13032d04833db9ae5c9f9dba840863a5

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dcd6aa1b1de2ea7f430732eefbd393dd10c8fce836fe7e4e6e5d3fe25c18d17
MD5 384142dc14a68ae6a0f0af7f2e94e9c4
BLAKE2b-256 936be4dd9b6d50e1cb914a453d2668241e9d6b84fc1dd1c3de3cdb76ce90bd8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 682769a9afa1a171a3683fab7d8519bb94c758fe8851a7c115a88299753deee8
MD5 c86b0dee12fa40af29b478ab6e480a00
BLAKE2b-256 3e74950eb01f7afbebd33d4cb1fc05fb56247438d4663f8c904fb8de9a823986

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1d9cdf09dc7bc09be2128b31314449d188870337cae87513ed48ea513e8637d0
MD5 bd199a51f3300f75f32a22e9b1b92f72
BLAKE2b-256 aee20b709be5746e91fe3c9fc8cfb5ca91c587bdcb78f74d32389dcb78ea341f

See more details on using hashes here.

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

Hashes for mqt.qmap-1.8.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e147f933ad65551772be0c401c4cb2a2d37e70f70cbf8a6ebbbd219730dbe803
MD5 504543c175f2026f6934e91bda53a5c9
BLAKE2b-256 2b32bbbecd3e9f163f135a48a781af1c0233a6d99f1802a38aafbcf363895449

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93b6dd859e260ac7b26b6fdd8efc876734b8e57401ec53ecaa29d7f23b353057
MD5 bf0af297ffa13c1de60839050728d274
BLAKE2b-256 49036a9762cfa09cc57aaff823ae997f34edf5fc69ce1920ab432991e431b426

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 498adae5e6d607a4d5c36232381dfd4ab64b4918c445c81929c740b366f4d037
MD5 7aa5e21030d89f38eb8e8d57cbbfae8c
BLAKE2b-256 f36aa054d13a243ad176afadb7d8f051a58e6a5ffdf254d3f0ab7a5b57a8f99d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 21d0c489d77d1f0690ab8ca1207d4e9ef9d7773ca1ee00f98fa4b632d3994a88
MD5 4554a0bf15e964c55ab219a197994873
BLAKE2b-256 1d0f3992dc81d661f02e484e8dc823e503c420c7d919258bd50b22e713bd7cfd

See more details on using hashes here.

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

Hashes for mqt.qmap-1.8.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 411c36ffd6d3367274b825ef6d2de0c80e20aca4f775bd52ac2d2649c98e1f06
MD5 15c6e42cd6453de52286579a397e57f1
BLAKE2b-256 cab2280ab69194ff0f234622efd794da8877be1e4a3ddb042bf4ab07e3ddd684

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 732a5f22975242c0118d85c9b13c66bf3a0124a02af291acc62f2fafb52cde0a
MD5 29c8126eeeea4494c670c822a109b913
BLAKE2b-256 bf9e940078a0f10c4a92fa1d2f0f99a627c62a4f5eb8db3c055913ce7dd99e4b

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2e7a4f8d1ba25c705c024059ae068b60f39dfb6025a1d7f4f3298d3e03aa88e7
MD5 2c5f07835b6d3779e271819d32d78287
BLAKE2b-256 247ca0192e2042daeb60b16ed119f51e65151332dd4817d0e6a493b8d5e6f75a

See more details on using hashes here.

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

Hashes for mqt.qmap-1.8.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f124b00ca9670488956dce6257756d2e642e8dc7e86c116bb0652d72712bf7ed
MD5 249421617895832f36b7fdd5b586ee64
BLAKE2b-256 4b70a1044279b1d58ac3843532e44fe997995366a33d2b147375cefbec45d04a

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d7a9e491939d63965c0b343814b422640fbbe55e7ec362a1508c7a73231c8cf
MD5 1f9dda3ebb4bd661e47436d4e41379eb
BLAKE2b-256 8eaf1d77ab71b1f7c85dcd6a5d938a12c6832f06f0f94edb2dec12c3bcead490

See more details on using hashes here.

File details

Details for the file mqt.qmap-1.8.0-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mqt.qmap-1.8.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 04cab821b0dd79d6d7cd80cc3fc68d98f262c0d5c70de50058d5ebf4bba453fa
MD5 855043c35f83182099062f7967191c24
BLAKE2b-256 fcc8572aed29e46baa87d6e86e2205895e6d1a554bb6b603eb44f814c23660b0

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