Skip to content

Commit

Permalink
Incorporated second round of Lukas' comment.
Browse files Browse the repository at this point in the history
  • Loading branch information
pehamTom committed Sep 13, 2022
1 parent 5344688 commit 38bbd7c
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
9 changes: 5 additions & 4 deletions docs/source/Mapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,11 @@ Consider the following circuit.
Now assume this circuit shall be mapped to a 4-qubit architecture defined by the following coupling map:

.. image:: /images/linear_arch.svg
:width: 80%
:alt: 5-qubit Architecture
:width: 60%
:alt: 4-qubit Architecture
:align: center

|
In *QMAP* this architecture can be manually defined.

Expand Down Expand Up @@ -97,8 +98,8 @@ Since every additional gate increases the probability of errors, this is a very

Keeping the number of additionally introduced gates as small as possible is key for ensuring the successful execution of the quantum circuit. Finding an optimal mapping for a quantum circuit is an NP-hard problem :cite:labelpar:`boteaComplexityQuantumCircuit2018`.
*QMAP* offers two dedicated techniques for tackling that problem:
- An *exact* mapping approach (based on :cite:labelpar:`willeMappingQuantumCircuits2019, burgholzer2022limitingSearchSpace`) that guarantees (gate-optimal) solutions and is typically suitable for up to 8 qubits.
- A *heuristic* mapping approach (based on :cite:labelpar:`zulehnerEfficientMethodologyMapping2019, hillmichExlpoitingQuantumTeleportation2021`) that allows to determine efficient mapping solutions in a scalable fashion for up to hundreds of qubits.
- An *exact* mapping approach (based on :cite:labelpar:`willeMappingQuantumCircuits2019`, :cite:labelpar:`burgholzer2022limitingSearchSpace`) that guarantees (gate-optimal) solutions and is typically suitable for up to 8 qubits.
- A *heuristic* mapping approach (based on :cite:labelpar:`zulehnerEfficientMethodologyMapping2019`, :cite:labelpar:`hillmichExlpoitingQuantumTeleportation2021`) that allows to determine efficient mapping solutions in a scalable fashion for up to hundreds of qubits.

Exact Mapping
#############
Expand Down
2 changes: 2 additions & 0 deletions docs/source/Publications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ Publications

If you use *QMAP* in your work, we would appreciate if you cited :cite:labelpar:`zulehnerEfficientMethodologyMapping2019` when using the heuristic mapper and :cite:labelpar:`willeMappingQuantumCircuits2019` when using the exact mapper.
Furthermore, if you use any of the particular algorithms such as

- the heuristic mapping scheme using teleportation :cite:labelpar:`hillmichExlpoitingQuantumTeleportation2021`
- the search space limitation techniques of the exact mapper (some of which are enabled per default) :cite:labelpar:`burgholzer2022limitingSearchSpace`

please consider citing their respective papers as well. A full list of related papers is given below.

.. bibliography::
5 changes: 3 additions & 2 deletions docs/source/install/Developers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ A C++ compiler supporting *C++17* and a minimum CMake version of *3.14* is requi

:code:`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 <https://github.com/Z3Prover/z3>`_ 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:
In order to build the exact mapping tool and for the Python bindings to work, the SMT Solver `Z3 >= 4.8.15 <https://github.com/Z3Prover/z3>`_ 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: :code:`sudo apt-get install libz3-dev`
- Under macOS: :code:`brew install z3`
Expand Down Expand Up @@ -95,7 +95,8 @@ Then, the test executables :code:`qmap_heuristic_test` and :code:`qmap_exact_tes

.. code-block:: console
$ cmake --build build --config Release --target qmap_test
$ cmake --build build --config Release --target qmap_heuristic_test
$ cmake --build build --config Release --target qmap_exact_test
From there, the tests can be started by simply calling

Expand Down

0 comments on commit 38bbd7c

Please sign in to comment.