Skip to content

Commit

Permalink
Update releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
mtreinish authored Jul 31, 2024
1 parent a28a564 commit 6eaed5d
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ features_transpiler:
circuit and replaces them with two single-qubit unitaries, if possible without introducing errors, i.e.
the two-qubit gate/unitary is actually a (kronecker) product of single-qubit unitaries.
- |
In addition,
the passes :class:`.Collect2qBlocks`, :class:`.ConsolidateBlocks` and :class:`.Split2QUnitaries` are
added to the `init` stage of the preset pass managers with optimization level 2 and optimization level 3
if the pass managers target a :class:`.Target` that has a discrete basis gate set, i.e. all basis gates
have are not parameterized. The modification of the `init` stage should allow for a more efficient routing
for quantum circuits that (a) contain two-qubit unitaries/gates that are actually a product of single-qubit gates
or (b) contain multiple two-qubit gates in a continuous block of two-qubit gates. In the former case,
the routing of the two-qubit gate can simply be skipped as no real interaction between a pair of qubits
occurs. In the latter case, the lookahead space of routing algorithms is not 'polluted' by superfluous
two-qubit gates, i.e. for routing it is sufficient to only consider one single two-qubit gate per
continuous block of two-qubit gates.
The passes :class:`.Collect2qBlocks`, :class:`.ConsolidateBlocks` and :class:`.Split2QUnitaries` have been
added to the ``init`` stage of the preset pass managers with optimization level 2 and optimization level 3.
The modification of the `init` stage should allow for a more efficient routing for quantum circuits that either:
* contain two-qubit unitaries/gates that are actually a product of single-qubit gates
* contain multiple two-qubit gates in a continuous block of two-qubit gates.
In the former case, the routing of the two-qubit gate can simply be skipped as no real interaction
between a pair of qubits occurs. In the latter case, the lookahead space of routing algorithms is not
'polluted' by superfluous two-qubit gates, i.e. for routing it is sufficient to only consider one single
two-qubit gate per continuous block of two-qubit gates. These passes are not run if the pass
managers target a :class:`.Target` that has a discrete basis gate set, i.e. all basis gates have are not
parameterized.

0 comments on commit 6eaed5d

Please sign in to comment.