You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improvements for the Paper "Depth-Optimal Synthesis of Clifford Circuits with SAT Solvers" (#304)
## Description
This PR introduces a couple of changes simultaneously that were
introduced during the work culminating in [this
paper](https://arxiv.org/abs/2305.01674). These are:
- A parallel heuristic based on vertical circuit decomposition.
- Various improvements to the symmetry breaking constraints
- Allowing for setting of solver parameters from the Python side
- Some smaller fixes and improvements
Fixes # (issue)
## Checklist:
<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->
- [x] The pull request only contains commits that are related to it.
- [x] I have added appropriate tests and documentation.
- [x] I have made sure that all CI jobs on GitHub pass.
- [x] The pull request introduces no new warnings and follows the
project's style guidelines.
Copy file name to clipboardExpand all lines: docs/source/Publications.rst
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,12 @@ Publications
4
4
*QMAP* is academic software. Thus, many of its built-in algorithms have been published as scientific papers.
5
5
See :cite:labelpar:`wille2023qmap` for a general overview of *QMAP* and its features.
6
6
7
-
If you use *QMAP* in your work, we would appreciate if you cited :cite:labelpar:`zulehnerEfficientMethodologyMapping2019` when using the heuristic mapper, :cite:labelpar:`willeMappingQuantumCircuits2019` when using the exact mapper, and :cite:labelpar:`schneider2023satEncodingOptimalClifford` when using the Clifford circuit synthesis approach.
7
+
If you use *QMAP* in your work, we would appreciate if you cited :cite:labelpar:`zulehnerEfficientMethodologyMapping2019` when using the heuristic mapper, :cite:labelpar:`willeMappingQuantumCircuits2019` when using the exact mapper, and :cite:labelpar:`schneider2023satEncodingOptimalClifford`, :cite:labelpar:`peham2023DepthOptimalSynthesis` when using the Clifford circuit synthesis approach.
8
8
Furthermore, if you use any of the particular algorithms such as
9
9
10
10
- the heuristic mapping scheme using teleportation :cite:labelpar:`hillmichExlpoitingQuantumTeleportation2021`
11
11
- the search space limitation techniques of the exact mapper (some of which are enabled per default) :cite:labelpar:`burgholzer2022limitingSearchSpace`
12
-
- the method for finding (near-)optimal subarchitectures :cite:labelpar:`peham2022OptimalSubarchitectures`
12
+
- the method for finding (near-)optimal subarchitectures :cite:labelpar:`peham2023OptimalSubarchitectures`
13
13
14
14
please consider citing their respective papers as well. A full list of related papers is given below.
Copy file name to clipboardExpand all lines: docs/source/Synthesis.ipynb
+69-1Lines changed: 69 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -191,7 +191,75 @@
191
191
"cell_type": "markdown",
192
192
"metadata": {},
193
193
"source": [
194
-
"The `include_destabilizers` flag guarantees that the unitary of the circuit is preserved during optimization."
194
+
"The `include_destabilizers` flag guarantees that the unitary of the circuit is preserved during optimization.\n",
195
+
"\n",
196
+
"By default *QMAP* generates optimal Clifford circuits with respect to the target metric. This might lead to runtime problems when trying to optimize larger circuits. When optimizing for depth, *QMAP* provides a heuristic that splits the circuits into several independent parts and optimizes them separately. This allows to optimize larger circuits while not guaranteeing that the depth-optimal circuit is synthesized.\n",
197
+
"\n",
198
+
"The heuristic synthesizer can be used as follows:"
Copy file name to clipboardExpand all lines: docs/source/library/Subarchitectures.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
Optimal Subarchitectures
2
2
========================
3
3
4
-
To compute (near-)optimal subarchitectures of quantum computing architectures with restricted connectivity as described in :cite:labelpar:`peham2022OptimalSubarchitectures` the :code:`SubarchitectureOrder` class is provided. This class has functionality to compute the quasi-order that allows for fast computation of optimal subarchitectures.
4
+
To compute (near-)optimal subarchitectures of quantum computing architectures with restricted connectivity as described in :cite:labelpar:`peham2023OptimalSubarchitectures` the :code:`SubarchitectureOrder` class is provided. This class has functionality to compute the quasi-order that allows for fast computation of optimal subarchitectures.
5
5
6
6
Note that the initial construction of the ordering might take a while for larger architectures.
0 commit comments