iqm.qiskit_iqm.fake_backends.iqm_fake_backend.IQMFakeBackend#
- class iqm.qiskit_iqm.fake_backends.iqm_fake_backend.IQMFakeBackend(architecture, error_profile, name='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 quantum architecture (number of qubits, connectivity), the native gate set, 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 (QuantumArchitectureSpecification) – Quantum architecture associated with the backend instance.
error_profile (IQMErrorProfile) – Characteristics of a particular QPU specimen.
name (str) –
Initialize a BackendV2 based backend
- Parameters:
provider – An optional backwards reference to the
Provider
object that the backend is fromname (str) – 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 asversion
is for the abstractBackend
abstract interface version of the object whilebackend_version
is for versioning the backend itself.fields – kwargs for the values to use to override the default options.
architecture (QuantumArchitectureSpecification) –
error_profile (IQMErrorProfile) –
- Raises:
AttributeError – If a field is specified that’s outside the backend’s options
Attributes
Error profile of this instance of IQM fake backend
The maximum number of circuits (or Pulse schedules) that can be run in a single job.
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
_create_noise_model
(architecture, error_profile)Builds a noise model from the attributes.
_default_options
()Return the default options
_validate_architecture_and_error_profile
(...)Verifies that the parameters of the QPU error profile match the constraints of its quantum architecture.
copy_with_error_profile
(new_error_profile)Return another instance of IQMFakeBackend, which has the same quantum architecture but a different error profile.
run
(run_input, **options)Run run_input on the fake backend using a simulator.
- property error_profile: IQMErrorProfile#
Error profile of this instance of IQM fake backend
- copy_with_error_profile(new_error_profile)#
Return another instance of IQMFakeBackend, which has the same quantum architecture but a different error profile.
- Parameters:
new_error_profile (IQMErrorProfile) –
- Return type:
- property max_circuits: int | None#
The maximum number of circuits (or Pulse schedules) that can be run in a single job.
If there is no limit this will return None
- run(run_input, **options)#
Run run_input on the fake backend using a simulator.
This method runs circuit jobs (an individual or a list of QuantumCircuit ) and returns a
JobV1
object.It will run the simulation with a noise model of the fake backend (e.g. Adonis).
- 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 – If empty list of circuits is provided.
- Return type: