iqm.qiskit_iqm.iqm_backend.IQMTarget

iqm.qiskit_iqm.iqm_backend.IQMTarget#

class iqm.qiskit_iqm.iqm_backend.IQMTarget(architecture: DynamicQuantumArchitecture, component_to_idx: dict[str, int], include_resonators: bool, include_fake_czs: bool = True)#

Bases: Target

Transpilation target for an IQM architecture.

Contains the mapping of physical qubit name on the device to qubit index in the Target.

Parameters:
  • architecture (DynamicQuantumArchitecture) – Quantum architecture that defines the target.

  • component_to_idx (dict[str, int]) – Mapping from QPU component names to integer indices used by Qiskit to refer to them.

  • include_resonators (bool) – Whether to include MOVE gates in the target.

  • include_fake_czs (bool) – Whether to include virtual CZs that are not natively supported, but could be routed via MOVE.

Attributes

physical_qubits

Return the ordered list of physical qubits in the backend.

Methods

_add_connections_from_DQA()

Initializes the Target, making it represent the dynamic quantum architecture iqm_dqa.

restrict_to_qubits(qubits)

Generated a restricted transpilation target from this Target that only contains the given qubits.

property physical_qubits: list[str]#

Return the ordered list of physical qubits in the backend.

restrict_to_qubits(qubits: list[int] | list[str]) IQMTarget#

Generated a restricted transpilation target from this Target that only contains the given qubits.

Parameters:

qubits (list[int] | list[str]) – Qubits to restrict the target to. Can be either a list of qubit indices or qubit names.

Returns:

restricted target

Return type:

IQMTarget