iqm.qiskit_iqm.iqm_target.IQMTarget#
- class iqm.qiskit_iqm.iqm_target.IQMTarget(description: str | None = None, num_qubits: int = 0, dt: float | None = None, granularity: int = 1, min_length: int = 1, pulse_alignment: int = 1, acquire_alignment: int = 1, qubit_properties: list | None = None, concurrent_measurements: list | None = None, *args, **kwargs)#
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 computational resonators (and MOVE gates) in the target, if present in
architecture
.include_fictional_czs (bool) – Whether to include “fictional” CZs that are not natively supported, but could be routed using MOVE.
metrics (ObservationFinder | None) – Optional calibration data and related quality metrics to improve the transpilation.
Attributes
Return the ordered list of physical qubits in the target.
Methods
_add_instructions_cz_gates
(op_loci)Adds CZ gate instructions to the Qiskit Target.
_add_instructions_from_DQA
()Initializes the Target with instructions and properties that represent the dynamic quantum architecture
iqm_dqa
._create_fictional_cz_properties
(q1, q2, res)Create
InstructionProperties
for a fictional CZ gate._create_gate_properties
(gate_name, locus)Creates InstructionProperties for a single gate on a specific locus.
_create_qubit_properties
(qubits, metrics)Creates qubit properties from the quality metrics.
_determine_fictional_cz_loci
(move_loci, cz_loci)Determine fictional CZ loci, i.e. pairs of qubits between which we can implement a CZ using MOVE gates and an intermediate computational resonator.
locus_to_idx
(locus)Map the given locus to use component indices instead of component names.
restrict_to_qubits
(qubits)Generated a restricted transpilation target from this Target that only contains the given qubits.
- locus_to_idx(locus: tuple[str, ...]) tuple[int, ...] #
Map the given locus to use component indices instead of component names.