Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

BackendEstimator

BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)

GitHub(opens in a new tab)

Bases: qiskit.primitives.base.base_estimator.BaseEstimator

Evaluates expectation value using Pauli rotation gates.

The BackendEstimator class is a generic implementation of the BaseEstimator interface that is used to wrap a BackendV2 (or BackendV1) object in the BaseEstimator API. It facilitates using backends that do not provide a native BaseEstimator implementation in places that work with BaseEstimator, such as algorithms in qiskit.algorithms including VQE. However, if you’re using a provider that has a native implementation of BaseEstimator, it is a better choice to leverage that native implementation as it will likely include additional optimizations and be a more efficient implementation. The generic nature of this class precludes doing any provider- or backend-specific optimizations.

Initalize a new BackendEstimator instance

Parameters

  • backend (BackendV1 |BackendV2) – Required: the backend to run the primitive on
  • options (dict | None) – Default options.
  • abelian_grouping (bool) – Whether the observable should be grouped into commuting
  • bound_pass_manager (PassManager | None) – An optional pass manager to run after parameter binding.
  • skip_transpilation (bool) – If this is set to True the internal compilation of the input circuits is skipped and the circuit objects will be directly executed when this object is called.

Methods

close

BackendEstimator.close()

Close the session and free resources

run

BackendEstimator.run(circuits, observables, parameter_values=None, **run_options)

Run the job of the estimation of expectation value(s).

circuits, observables, and parameter_values should have the same length. The i-th element of the result is the expectation of observable

obs = observables[i]

for the state prepared by

circ = circuits[i]

with bound parameters

values = parameter_values[i].

Parameters

  • circuits – one or more circuit objects.
  • observables – one or more observable objects. Several formats are allowed; importantly, str should follow the string representation format for Pauli objects.
  • parameter_values – concrete parameters to be bound.
  • run_options – runtime options used for circuit execution.

Returns

The job object of EstimatorResult.

Raises

  • TypeError – Invalid argument type given.
  • ValueError – Invalid argument values given.

set_options

BackendEstimator.set_options(**fields)

Set options values for the estimator.

Parameters

**fields – The fields to update the options

set_transpile_options

BackendEstimator.set_transpile_options(**fields)

Set the transpiler options for transpiler. :param **fields: The fields to update the options


Attributes

backend

Returns: The backend which this estimator object based on

Return type

BackendV1 | BackendV2

circuits

Quantum circuits that represents quantum states.

Returns

The quantum circuits.

observables

Observables to be estimated.

Returns

The observables.

options

Return options values for the estimator.

Return type

Options

Returns

options

parameters

Parameters of the quantum circuits.

Returns

Parameters, where parameters[i][j] is the j-th parameter of the i-th circuit.

preprocessed_circuits

Transpiled quantum circuits produced by preprocessing :returns: List of the transpiled quantum circuit

transpile_options

Return the transpiler options for transpiling the circuits.

Return type

Options

transpiled_circuits

Transpiled quantum circuits. :returns: List of the transpiled quantum circuit

Raises

QiskitError – if the instance has been closed.

Was this page helpful?
Report a bug or request content on GitHub.