#[non_exhaustive]pub enum StandardPass {
Show 57 variants
RebaseCustomViaTK2,
AutoRebase(AutoRebase),
AutoSquash(AutoSquash),
CommuteThroughMultis,
DecomposeArbitrarilyControlledGates,
DecomposeBoxes(DecomposeBoxes),
DecomposeMultiQubitsCX,
DecomposeSingleQubitsTK1,
PeepholeOptimise2Q(PeepholeOptimise2Q),
RebaseTket,
RebaseUFR,
RemoveRedundancies,
SynthesiseTK,
SynthesiseTket,
SynthesiseOQC,
SquashTK1,
SquashRzPhasedX,
FlattenRegisters,
DelayMeasures(DelayMeasures),
ZZPhaseToRz,
RemoveDiscarded,
SimplifyMeasured,
RemoveBarriers,
RemovePhaseOps,
DecomposeBridges,
KAKDecomposition(KAKDecomposition),
ThreeQubitSquash(ThreeQubitSquash),
FullPeepholeOptimise(FullPeepholeOptimise),
ComposePhasePolyBoxes(ComposePhasePolyBoxes),
EulerAngleReduction(EulerAngleReduction),
RoutingPass(RoutingPass),
CustomRoutingPass(CustomRoutingPass),
PlacementPass(PlacementPass),
NaivePlacementPass(NaivePlacementPass),
RenameQubitsPass(RenameQubitsPass),
CliffordSimp(CliffordSimp),
DecomposeSwapsToCXs(DecomposeSwapsToCXs),
DecomposeSwapsToCircuit(DecomposeSwapsToCircuit),
OptimisePhaseGadgets(OptimisePhaseGadgets),
OptimisePairwiseGadgets,
PauliSimp(PauliSynthesisConfig),
PauliExponentials(PauliSynthesisConfig),
GuidedPauliSimp(PauliSynthesisConfig),
SimplifyInitial(SimplifyInitial),
FullMappingPass(FullMappingPass),
DefaultMappingPass(DefaultMappingPass),
CXMappingPass(CXMappingPass),
PauliSquash(PauliSynthesisConfig),
ContextSimp(ContextSimp),
DecomposeTK2(DecomposeTK2),
CnXPairwiseDecomposition,
RemoveImplicitQubitPermutation,
NormaliseTK2,
RoundAngles(RoundAngles),
GreedyPauliSimp(GreedyPauliSimp),
RxFromSX,
FlattenRelabelRegistersPass(FlattenRelabelRegistersPass),
}Expand description
A serialized standard pass.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RebaseCustomViaTK2
A convenience custom rebase that targets TK2.
AutoRebase(AutoRebase)
Automatically rebase to a given gate set.
AutoSquash(AutoSquash)
Automatically squash single-qubit gates.
CommuteThroughMultis
Commute multi-qubit gates past other operations.
DecomposeArbitrarilyControlledGates
Decompose arbitrarily controlled gates.
DecomposeBoxes(DecomposeBoxes)
Decompose generic boxes using filters.
DecomposeMultiQubitsCX
Decompose multi-qubit CX boxes.
DecomposeSingleQubitsTK1
Decompose single-qubit TK1 boxes.
PeepholeOptimise2Q(PeepholeOptimise2Q)
Two-qubit peephole optimiser.
RebaseTket
Rebase to TKET’s default gate set.
RebaseUFR
Rebase to the UFR gate set.
RemoveRedundancies
Remove redundant operations.
SynthesiseTK
Synthesis pass for TK gate set.
SynthesiseTket
Synthesis pass for TKET gate set.
SynthesiseOQC
Synthesis pass targeting OQC hardware.
SquashTK1
Squash TK1 gates.
SquashRzPhasedX
Squash Rz/PhasedX patterns.
FlattenRegisters
Flatten registers.
DelayMeasures(DelayMeasures)
Delay measurements.
ZZPhaseToRz
Convert ZZPhase into Rz rotations.
RemoveDiscarded
Remove discarded outputs.
SimplifyMeasured
Simplify measured wires.
RemoveBarriers
Remove explicit barrier operations.
RemovePhaseOps
Remove phase-only operations.
DecomposeBridges
Decompose bridge gadgets.
KAKDecomposition(KAKDecomposition)
Run the KAK decomposition.
ThreeQubitSquash(ThreeQubitSquash)
Squash arbitrary three-qubit unitaries.
FullPeepholeOptimise(FullPeepholeOptimise)
Full peephole optimisation.
ComposePhasePolyBoxes(ComposePhasePolyBoxes)
Compose Phase-Polynomial boxes.
EulerAngleReduction(EulerAngleReduction)
Reduce Euler angles for single qubits.
RoutingPass(RoutingPass)
Standard routing pipeline.
CustomRoutingPass(CustomRoutingPass)
Custom routing configuration.
PlacementPass(PlacementPass)
Configure placements explicitly.
NaivePlacementPass(NaivePlacementPass)
Naive placement pass.
RenameQubitsPass(RenameQubitsPass)
Rename qubits.
CliffordSimp(CliffordSimp)
Clifford simplification.
DecomposeSwapsToCXs(DecomposeSwapsToCXs)
Decompose swaps into CXs.
DecomposeSwapsToCircuit(DecomposeSwapsToCircuit)
Decompose swaps into custom circuits.
OptimisePhaseGadgets(OptimisePhaseGadgets)
Optimise phase gadgets.
OptimisePairwiseGadgets
Optimise pairwise gadgets.
PauliSimp(PauliSynthesisConfig)
Pauli simplification.
PauliExponentials(PauliSynthesisConfig)
Pauli exponentials synthesis.
GuidedPauliSimp(PauliSynthesisConfig)
Guided Pauli simplification.
SimplifyInitial(SimplifyInitial)
Simplify initial states.
FullMappingPass(FullMappingPass)
Full mapping pipeline.
DefaultMappingPass(DefaultMappingPass)
Default mapping pipeline.
CXMappingPass(CXMappingPass)
CX-focused mapping pipeline.
PauliSquash(PauliSynthesisConfig)
Pauli squashing.
ContextSimp(ContextSimp)
Context simplification.
DecomposeTK2(DecomposeTK2)
Decompose TK2 gates.
CnXPairwiseDecomposition
Pairwise decomposition of CnX.
RemoveImplicitQubitPermutation
Remove implicit permutation annotations.
NormaliseTK2
Normalise TK2 parameters.
RoundAngles(RoundAngles)
Round angles to coarse precision.
GreedyPauliSimp(GreedyPauliSimp)
Greedy Pauli simplification with heuristics.
RxFromSX
RX synthesis from SX.
FlattenRelabelRegistersPass(FlattenRelabelRegistersPass)
Flatten and relabel registers.
Trait Implementations§
Source§impl Clone for StandardPass
impl Clone for StandardPass
Source§fn clone(&self) -> StandardPass
fn clone(&self) -> StandardPass
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more