QuantumInstance

class QuantumInstance(backend, shots=1024, seed_simulator=None, max_credits=10, basis_gates=None, coupling_map=None, initial_layout=None, pass_manager=None, seed_transpiler=None, optimization_level=None, backend_options=None, noise_model=None, timeout=None, wait=5, skip_qobj_validation=True, measurement_error_mitigation_cls=None, cals_matrix_refresh_period=30, measurement_error_mitigation_shots=None, job_callback=None)[source]

Quantum Backend including execution setting.

Quantum Instance holds a Qiskit Terra backend as well as configuration for circuit transpilation and execution. When provided to an Aqua algorithm the algorithm will execute the circuits it needs to run using the instance.

Parameters
  • backend (BaseBackend) – Instance of selected backend

  • shots (int, optional) – Number of repetitions of each circuit, for sampling

  • seed_simulator (int, optional) – Random seed for simulators

  • max_credits (int, optional) – Maximum credits to use

  • basis_gates (list[str], optional) – List of basis gate names supported by the target. Default: [‘u1’, ‘u2’, ‘u3’, ‘cx’, ‘id’]

  • coupling_map (CouplingMap or list[list]) – Coupling map (perhaps custom) to target in mapping

  • initial_layout (Layout or dict or list, optional) – Initial layout of qubits in mapping

  • pass_manager (PassManager, optional) – Pass manager to handle how to compile the circuits

  • seed_transpiler (int, optional) – The random seed for circuit mapper

  • optimization_level (int, optional) – How much optimization to perform on the circuits. Higher levels generate more optimized circuits, at the expense of longer transpilation time.

  • backend_options (dict, optional) – All running options for backend, please refer to the provider of the backend for information as to what options it supports.

  • noise_model (qiskit.provider.aer.noise.noise_model.NoiseModel, optional) – noise model for simulator

  • timeout (float, optional) – Seconds to wait for job. If None, wait indefinitely.

  • wait (float, optional) – Seconds between queries for job result

  • skip_qobj_validation (bool, optional) – Bypass Qobj validation to decrease circuit processing time during submission to backend.

  • measurement_error_mitigation_cls (Callable, optional) – The approach to mitigate measurement errors. Qiskit Ignis provides fitter classes for this functionality and CompleteMeasFitter from qiskit.ignis.mitigation.measurement module can be used here. (TensoredMeasFitter is not supported).

  • cals_matrix_refresh_period (int, optional) – How often to refresh the calibration matrix in measurement mitigation. in minutes

  • measurement_error_mitigation_shots (int, optional) – The number of shots number for building calibration matrix. If None, the main shots parameter value is used.

  • job_callback (Callable, optional) – Optional user supplied callback which can be used to monitor job progress as jobs are submitted for processing by an Aqua algorithm. The callback is provided the following arguments: job_id, job_status, queue_position, job

Raises
  • AquaError – the shots exceeds the maximum number of shots

  • AquaError – set noise model but the backend does not support that

  • AquaError – set backend_options but the backend does not support that

Attributes

QuantumInstance.BACKEND_CONFIG

QuantumInstance.BACKEND_OPTIONS

QuantumInstance.BACKEND_OPTIONS_QASM_ONLY

QuantumInstance.COMPILE_CONFIG

QuantumInstance.NOISE_CONFIG

QuantumInstance.QJOB_CONFIG

QuantumInstance.RUN_CONFIG

QuantumInstance.backend

Return BaseBackend backend object.

QuantumInstance.backend_config

Getter of backend_config.

QuantumInstance.backend_name

Return backend name.

QuantumInstance.backend_options

Getter of backend_options.

QuantumInstance.cals_matrix_refresh_period

returns matrix refresh period

QuantumInstance.circuit_summary

Getter of circuit summary.

QuantumInstance.compile_config

Getter of compile_config.

QuantumInstance.is_local

Return True if backend is a local backend.

QuantumInstance.is_simulator

Return True if backend is a simulator.

QuantumInstance.is_statevector

Return True if backend is a statevector-type simulator.

QuantumInstance.measurement_error_mitigation_cls

returns measurement error mitigation cls

QuantumInstance.measurement_error_mitigation_shots

returns measurement error mitigation shots

QuantumInstance.noise_config

Getter of noise_config.

QuantumInstance.qjob_config

Getter of qjob_config.

QuantumInstance.run_config

Getter of run_config.

QuantumInstance.skip_qobj_validation

checks if skip qobj validation

Methods

QuantumInstance.assemble(circuits)

assemble circuits

QuantumInstance.cals_matrix([qubit_index])

Get the stored calibration matrices and its timestamp.

QuantumInstance.execute(circuits[, …])

A wrapper to interface with quantum backend.

QuantumInstance.maybe_refresh_cals_matrix([…])

Calculate the time difference from the query of last time.

QuantumInstance.set_config(**kwargs)

Set configurations for the quantum instance.

QuantumInstance.transpile(circuits)

A wrapper to transpile circuits to allow algorithm access the transpiled circuits.