iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend

iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend#

class iqm.qiskit_iqm.iqm_provider.IQMFacadeBackend(client: IQMClient, **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

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 a quantum circuit or a list of quantum circuits on the IQM quantum computer represented by this backend.

run(run_input: QuantumCircuit | list[QuantumCircuit], **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.

  • timeout_seconds – Maximum time to wait for the job to finish, in seconds. If None, use the IQMClient default.

  • 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:

JobV1