iqm.qiskit_iqm.iqm_backend.IQMBackendBase#

class iqm.qiskit_iqm.iqm_backend.IQMBackendBase(architecture, **kwargs)#

Bases: BackendV2, ABC

Abstract base class for various IQM-specific backends.

Parameters:

architecture (QuantumArchitectureSpecification) – Description of the quantum architecture associated with the backend instance.

Initialize a BackendV2 based backend

Parameters:
  • provider – An optional backwards reference to the Provider object that the backend is from

  • name – An optional name for the backend

  • description – An optional description of the backend

  • online_date – An optional datetime the backend was brought online

  • backend_version – An optional backend version string. This differs from the version attribute as version is for the abstract Backend abstract interface version of the object while backend_version is for versioning the backend itself.

  • fields – kwargs for the values to use to override the default options.

  • architecture (QuantumArchitectureSpecification) –

Raises:

AttributeError – If a field is specified that’s outside the backend’s options

Attributes

target

A qiskit.transpiler.Target object for the backend.

architecture

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

index_to_qubit_name(index)

Given an index in the backend register return the corresponding IQM-style qubit name ('QB1', 'QB2', etc.).

qubit_name_to_index(name)

Given an IQM-style qubit name ('QB1', 'QB2', etc.) return the corresponding index in the register.

validate_compatible_architecture(architecture)

Given a quantum architecture specification returns true if its number of qubits, names of qubits and qubit connectivity matches the architecture of this backend.

property target: Target#

A qiskit.transpiler.Target object for the backend.

Return type:

Target

qubit_name_to_index(name)#

Given an IQM-style qubit name (‘QB1’, ‘QB2’, etc.) return the corresponding index in the register. Returns None is the given name does not belong to the backend.

Parameters:

name (str) –

Return type:

int | None

index_to_qubit_name(index)#

Given an index in the backend register return the corresponding IQM-style qubit name (‘QB1’, ‘QB2’, etc.). Returns None if the given index does not correspond to any qubit in the backend.

Parameters:

index (int) –

Return type:

str | None

validate_compatible_architecture(architecture)#

Given a quantum architecture specification returns true if its number of qubits, names of qubits and qubit connectivity matches the architecture of this backend.

Parameters:

architecture (QuantumArchitectureSpecification) –

Return type:

bool