iqm.qiskit_iqm.transpiler_plugins.IQMSchedulingPlugin

iqm.qiskit_iqm.transpiler_plugins.IQMSchedulingPlugin#

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.

  • 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(pass_manager_config[, ...])

Build scheduling stage PassManager

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

Build scheduling stage PassManager

Parameters:
Return type:

PassManager