iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend#
- class iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend(client: IQMClient, *, name: str | None = None, **kwargs)#
Bases:
IQMBackendSimulates locally the execution of quantum circuits on a remote mock IQM quantum computer.
This backend is meant to be used to run circuits on a mock IQM Server that has no real quantum hardware, and if the mock execution is successful, simulate the circuits locally using an error model that is broadly representative of the mocked QPU. Finally it returns the simulated results.
If you just want to run a local simulation, use
IQMFakeBackenddirectly.Important
When using a facade backend, the IQM Server URL of
IQMProvidershould always point to a mock environment rather than a real quantum computer, as the execution results from the server will be discarded and replaced by a locally simulated result generated by Qiskit Aer. If you use a real quantum computer with a facade backend, you will just waste your credits and/or computation time.- Parameters:
client (IQMClient) – Client instance for communicating with an IQM Server.
name (str | None) – Name of the fake backend (simulator instance) to use. If None, will be determined automatically based on the static quantum architecture of the server.
kwargs – Optional arguments to be passed to the parent class.
Attributes
nameName of the backend.
descriptionOptional human-readable description.
online_dateDate that the backend came online.
backend_versionVersion 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, *[, use_timeslot])Run a quantum circuit or a list of quantum circuits on the IQM quantum computer represented by this backend.
- run(run_input: QuantumCircuit | list[QuantumCircuit], *, use_timeslot: bool = False, **options) JobV1#
Run a quantum circuit or a list of quantum circuits on the IQM quantum computer represented by this backend.
- Parameters:
run_input (QuantumCircuit | list[QuantumCircuit]) – The circuits to run.
use_timeslot (bool) – Submits the job to the timeslot queue if set to
True. If set toFalse, the job is submitted to the normal on-demand queue.options – Keyword arguments passed on to
create_run_request(), and documented there.
- Returns:
Job object from which the results can be obtained once the execution has finished.
- Return type: