iqm.qiskit_iqm.iqm_backend.IQMBackendBase#

class iqm.qiskit_iqm.iqm_backend.IQMBackendBase(architecture: DynamicQuantumArchitecture, *, metrics: ObservationFinder | None = None, name: str = 'IQMBackend', **kwargs)#

Bases: BackendV2, ABC

Abstract base class for various IQM-specific backends.

Parameters:
  • architecture (DynamicQuantumArchitecture) – Dynamic quantum architecture associated with the backend instance.

  • metrics (ObservationFinder | None) – Optional calibration data and related quality metrics for the transpilation target.

  • name (str) – Optional name for the backend instance.

Attributes

physical_qubits

Return the list of physical qubits in the backend.

target

Return the target without computational resonators.

target_with_resonators

Return the target with MOVE gates and resonators included.

name

Name of the backend.

description

Optional human-readable description.

online_date

Date that the backend came online.

backend_version

Version of the backend being provided.

Methods

get_real_target()

Return the real physical target of the backend without fictional CZ gates.

get_scheduling_stage_plugin()

Return the plugin that should be used for scheduling the circuits on this backend.

has_resonators()

True iff the backend QPU has computational resonators.

index_to_qubit_name(index)

Given a quantum register index, return the corresponding IQM-style qubit name.

qubit_name_to_index(name)

Given an IQM-style qubit name, return the corresponding index in the register.

property target: Target#

Return the target without computational resonators.

property target_with_resonators: Target#

Return the target with MOVE gates and resonators included.

Raises:

ValueError – The backend does not have resonators.

property physical_qubits: list[str]#

Return the list of physical qubits in the backend.

has_resonators() bool#

True iff the backend QPU has computational resonators.

Return type:

bool

get_real_target() Target#

Return the real physical target of the backend without fictional CZ gates.

Return type:

Target

qubit_name_to_index(name: str) int#

Given an IQM-style qubit name, return the corresponding index in the register.

Parameters:

name (str) – IQM-style qubit name (‘QB1’, ‘QB2’, etc.)

Returns:

Index of the given qubit in the quantum register.

Raises:

ValueError – Qubit name cannot be found on the backend.

Return type:

int

index_to_qubit_name(index: int) str#

Given a quantum register index, return the corresponding IQM-style qubit name.

Parameters:

index (int) – Qubit index in the quantum register.

Returns:

Corresponding IQM-style qubit name (‘QB1’, ‘QB2’, etc.).

Raises:

ValueError – Qubit index cannot be found on the backend.

Return type:

str

get_scheduling_stage_plugin() str#

Return the plugin that should be used for scheduling the circuits on this backend.

Return type:

str