Class GateCommutationPass

java.lang.Object
com.quantum4j.transpile.passes.GateCommutationPass
All Implemented Interfaces:
TranspilerPass

public final class GateCommutationPass extends Object implements TranspilerPass
Local commutation optimizer. Safely bubbles commuting gates earlier in the circuit without crossing non-commuting operations or measurements. Conservative rules:
  • Single-qubit gates on different qubits commute.
  • RZ on control commutes with CX(control,target).
  • RX on target commutes with CX(control,target).
  • Never move across measurements.
  • Constructor Details

    • GateCommutationPass

      public GateCommutationPass()
      Create the gate commutation pass.
  • Method Details

    • name

      public String name()
      Description copied from interface: TranspilerPass
      Human-readable name of this pass (for logging, debugging, profiling).
      Specified by:
      name in interface TranspilerPass
      Returns:
      pass identifier
    • apply

      public QuantumCircuit apply(QuantumCircuit circuit)
      Description copied from interface: TranspilerPass
      Apply this pass to the given circuit and return a new circuit. Implementations should not mutate the input circuit.
      Specified by:
      apply in interface TranspilerPass
      Parameters:
      circuit - input circuit (not mutated)
      Returns:
      transformed circuit