IQMFakeBackend#

Module: iqm.qiskit_iqm.fake_backends.iqm_fake_backend

class iqm.qiskit_iqm.fake_backends.iqm_fake_backend.IQMFakeBackend(architecture: StaticQuantumArchitecture, error_profile: IQMErrorProfile, name: str = 'IQMFakeBackend', **kwargs)#

Bases: IQMBackendBase

Simulated backend that mimics the behaviour of IQM quantum computers.

Can be used to perform noisy gate-level simulations of quantum circuit execution on IQM hardware.

A fake backend contains information about a specific IQM system, such as the static quantum architecture (number of qubits, connectivity), and a noise model based on system parameters such as relaxation (\(T_1\)) and dephasing (\(T_2\)) times, gate infidelities, and readout errors.

Parameters:
  • architecture (StaticQuantumArchitecture) – Static quantum architecture associated with the backend instance.

  • error_profile (IQMErrorProfile) – Characteristics of a particular QPU specimen.

  • name (str)

Attributes

error_profile

Error profile of this IQM fake 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

copy_with_error_profile

New instance of IQMFakeBackend which has the same quantum architecture but a different error profile.

run

Run quantum circuits on the fake backend (by simulating them).

validate_compatible_architecture

Compare a static quantum architecture to the static architecture of the fake backend.

property error_profile: IQMErrorProfile#

Error profile of this IQM fake backend instance.

copy_with_error_profile(new_error_profile: IQMErrorProfile) IQMFakeBackend#

New instance of IQMFakeBackend which has the same quantum architecture but a different error profile.

Parameters:

new_error_profile (IQMErrorProfile)

Return type:

IQMFakeBackend

run(run_input: QuantumCircuit | list[QuantumCircuit], **options) JobV1#

Run quantum circuits on the fake backend (by simulating them).

This method will run the simulation with the noise model of the fake backend. Validity of the circuits is also checked.

Parameters:
  • run_input (QuantumCircuit | list[QuantumCircuit]) – One or more quantum circuits to simulate on the backend.

  • options – Any kwarg options to pass to the backend.

Returns:

The job object representing the run.

Raises:

ValueError – Empty list of circuits was provided.

Return type:

JobV1

validate_compatible_architecture(architecture: StaticQuantumArchitecture) bool#

Compare a static quantum architecture to the static architecture of the fake backend.

Parameters:

architecture (StaticQuantumArchitecture) – static quantum architecture to compare to

Returns:

True iff the locus components and the component connectivity in the IQMFakeBackend SQA match architecture.

Return type:

bool

Inheritance

Inheritance diagram of iqm.qiskit_iqm.fake_backends.iqm_fake_backend.IQMFakeBackend