iqm.iqm_client.transpile.transpile_insert_moves#
- iqm.iqm_client.transpile.transpile_insert_moves(circuit: Circuit, arch: DynamicQuantumArchitecture, existing_moves: ExistingMoveHandlingOptions | None = None, qubit_mapping: dict[str, str] | None = None) Circuit #
Inserts MOVEs to the circuit according to a given architecture specification.
The function does nothing if the given architecture specification does not support MOVE gates. Note that this method assumes that the circuit is already transpiled to a coupling map/architecture where the resonator has been abstracted away, i.e. the edges of the coupling map that contain resonators are replaced by edges between the other qubit and all qubits that can be moved to that resonator.
- Parameters:
circuit (Circuit) – The circuit to add MOVE instructions to.
arch (DynamicQuantumArchitecture) – Restrictions of the target device
existing_moves (ExistingMoveHandlingOptions | None) – Specifies how to deal with existing MOVE instruction, If None, the function will use ExistingMoveHandlingOptions.REMOVE with a user warning if there are move instructions in the circuit.
qubit_mapping (dict[str, str] | None) – Mapping of logical qubit names to physical qubit names. Can be set to
None
if allcircuits
already use physical qubit names.
- Return type: