iqm.qiskit_iqm.iqm_backend.IQMBackendBase#
- class iqm.qiskit_iqm.iqm_backend.IQMBackendBase(architecture: QuantumArchitectureSpecification | DynamicQuantumArchitecture, **kwargs)#
-
Abstract base class for various IQM-specific backends.
- Parameters:
architecture (Union[QuantumArchitectureSpecification, DynamicQuantumArchitecture]) – Description of the quantum architecture associated with the backend instance.
Attributes
Return the list of physical qubits in the backend.
A
qiskit.transpiler.Target
object for the backend.Return the target with MOVE gates and resonators included.
Dynamic quantum architecture of the backend instance.
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
Return the real physical target of the backend without virtual CZ gates.
Return the plugin that should be used for scheduling the circuits on this backend.
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.
restrict_to_qubits
(qubits[, ...])Generated a restricted transpilation target from this backend that only contains the given qubits.
- architecture: DynamicQuantumArchitecture#
Dynamic quantum architecture of the backend instance.
- property target: Target#
A
qiskit.transpiler.Target
object for the backend.- Return type:
Target
- get_real_target() Target #
Return the real physical target of the backend without virtual CZ gates.
- Return type:
- 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:
- 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:
- get_scheduling_stage_plugin() str #
Return the plugin that should be used for scheduling the circuits on this backend.
- Return type:
- restrict_to_qubits(qubits: list[int] | list[str], include_resonators: bool = False, include_fake_czs: bool = True) IQMTarget #
Generated a restricted transpilation target from this backend 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.
include_resonators (bool) – Whether to restrict self.target or self.target_with_resonators.
include_fake_czs (bool) – Whether to include virtual CZs that are unsupported, but could be routed via MOVE.
- Returns:
restricted target
- Return type: