IQMSchedulingPlugin#

Module: iqm.qiskit_iqm.transpiler_plugins

class iqm.qiskit_iqm.transpiler_plugins.IQMSchedulingPlugin(move_gate_routing: bool, optimize_sqg: bool, drop_final_rz: bool, ignore_barriers: bool, existing_move_handling: ExistingMoveHandlingOptions | None)#

Bases: PassManagerStagePlugin

Basic plugin for scheduling stage of IQM devices.

Parameters:
  • move_gate_routing (bool) – whether to include MoveGate routing in the scheduling stage.

  • optimize_sqg (bool) – Whether to include single qubit gate optimization in the scheduling stage.

  • drop_final_rz (bool) – Whether to drop trailing RZ gates in the circuit during single qubit gate optimization. Dropping them does not change the measurement outcomes, but does change the unitary propagator of the circuit.

  • ignore_barriers (bool) – Whether to ignore barriers during single qubit gate optimization.

  • existing_move_handling (ExistingMoveHandlingOptions | None) – How to handle existing MoveGates in the circuit during MoveGate routing.

Raises:

ValueError – When incompatible options are set.

Methods

pass_manager

Build scheduling stage PassManager.

pass_manager(pass_manager_config: PassManagerConfig, optimization_level: int | None = None) → PassManager#

Build scheduling stage PassManager.

Parameters:
Return type:

PassManager

Inheritance

Inheritance diagram of iqm.qiskit_iqm.transpiler_plugins.IQMSchedulingPlugin