diff --git a/releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml b/releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml index 8b94170701f6..b89a622987d0 100644 --- a/releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml +++ b/releasenotes/notes/peephole-before-routing-c3d184b740bb7a8b.yaml @@ -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.