iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend#
- class iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend(client, **kwargs)#
Bases:
IQMBackend
- Facade backend for mimicking the execution of quantum circuits on IQM quantum computers. Allows to submit a
circuit to the IQM server, and if the execution was successful, performs a simulation with a respective IQM noise model locally, then returns the simulated results.
- Parameters:
client (IQMClient) – client instance for communicating with an IQM server
**kwargs – optional arguments to be passed to the parent Backend initializer
Initialize a BackendV2 based backend
- Parameters:
provider – An optional backwards reference to the
Provider
object that the backend is fromname – 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.
client (IQMClient) –
- Raises:
AttributeError – If a field is specified that’s outside the backend’s options
Attributes
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
_validate_no_empty_cregs
(circuit)Returns True if given circuit has no empty (unused) classical registers, False otherwise.
run
(run_input, **options)Run on the backend.
- run(run_input, **options)#
Run on the backend.
This method returns a
Job
object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation.- Parameters:
run_input (QuantumCircuit or Schedule or ScheduleBlock or list) – An individual or a list of
QuantumCircuit
,ScheduleBlock
, orSchedule
objects to run on the backend.options – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object.
- Returns:
The job object for the run
- Return type:
Job