-adjoint-lowering¶
Lower adjoint regions containing a single quantum operations.
-cancel-inverses¶
Perform removal of chained operations that are inverses.
-combine-global-phases¶
Scope-wise merging of global phase operators (safe).
-convert-quantum-to-llvm¶
Perform a dialect conversion from Quantum to LLVM (QIR).
Options¶
-use-array-backed-registers : Use the array-backed-registers conversion pattern for quantum.insert ops.
-cp-global-memref¶
Copy global memrefs before returning from C interface.
-decompose-lowering¶
Replace quantum operations with compiled decomposition rules.
-disentangle-cnot¶
Replace a CNOT gate with two single qubit gates whenever possible.
Options¶
-emit-FSM-state-remark : Whether to emit the state analysis result from the simple states propagation FSM onto the gate operations.
-disentangle-swap¶
Replace a SWAP gate with single qubit gates and a shorter SWAPZ gates whenever possible.
Options¶
-emit-FSM-state-remark : Whether to emit the state analysis result from the simple states propagation FSM onto the gate operations.
-dynamic-one-shot¶
Apply the dynamic one-shot transform.
-emit-catalyst-py-interface¶
Emit catalyst python’s default interface.
-graph-decomposition¶
Decompose gates using an MLIR-native graph-based framework.
Options¶
-gate-set : The accepted gates to decompose to.
-fixed-decomps : Maps an operator to a decomposition rule that will be applied.
-alt-decomps : Maps an operator to a `|` separated list of alternative decomposition rules that will be considered alongside any built-in rules for the operator.
-bytecode-rules : A path to a bytecode file of compiled decomposition rules.
-gridsynth¶
Perform Ross-Selinger/Gridsynth decomposition.
Options¶
-epsilon : Maximum error tolerance for per-gate discretization.
-ppr-basis : Whether to decompose into the PPR basis set instead of the standard Clifford+T basis set.
-ions-decomposition¶
Decompose the gates to the set {RX, RY, MS}
-loop-boundary¶
Perform loop boundary optimization to eliminate the redundancy of operations on loop boundary.
-merge-rotations¶
Perform merging of chained rotation gates about the same axis.
-split-multiple-tapes¶
Given a qnode containing multiple tapes, split each tape into its own function.
-split-non-commuting¶
Split quantum functions non-commuting observables into multiple executions.
Options¶
-grouping-strategy : Grouping strategy for observables. "" (default) assigns each observable its own group. "wires" groups observables on non-overlapping wires.
-split-to-single-terms¶
Split quantum functions into single-term observables.