Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK Go to the latest version
Important

IBM Quantum Platform is moving and this version will be sunset on July 1. To get started on the new platform, read the migration guide.

BackendEstimatorV2

class qiskit.primitives.BackendEstimatorV2(*, backend, options=None)

GitHub

Bases: BaseEstimatorV2

Evaluates expectation values for provided quantum circuit and observable combinations

The BackendEstimatorV2 class is a generic implementation of the BaseEstimatorV2 interface that is used to wrap a BackendV2 (or BackendV1) object in the BaseEstimatorV2 API. It facilitates using backends that do not provide a native BaseEstimatorV2 implementation in places that work with BaseEstimatorV2. However, if you’re using a provider that has a native implementation of BaseEstimatorV2, 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.

This class does not perform any measurement or gate mitigation, and, presently, is only compatible with Pauli-based observables.

Each tuple of (circuit, observables, <optional> parameter values, <optional> precision), called an estimator primitive unified bloc (PUB), produces its own array-based result. The run() method can be given a sequence of pubs to run in one call.

The options for BackendEstimatorV2 consist of the following items.

  • default_precision: The default precision to use if none are specified in run(). Default: 0.015625 (1 / sqrt(4096)).
  • abelian_grouping: Whether the observables should be grouped into sets of qubit-wise commuting observables. Default: True.
  • seed_simulator: The seed to use in the simulator. If None, a random seed will be used. Default: None.

Parameters

  • backend (BackendV1 |BackendV2) – The backend to run the primitive on.
  • options (dict | None) – The options to control the default precision (default_precision), the operator grouping (abelian_grouping), and the random seed for the simulator (seed_simulator).

Attributes

backend

Returns the backend which this sampler object based on.

options

Return the options


Methods

run

run(pubs, *, precision=None)

GitHub

Estimate expectation values for each provided pub (Primitive Unified Bloc).

Parameters

  • pubs (Iterable[EstimatorPubLike]) – An iterable of pub-like objects, such as tuples (circuit, observables) or (circuit, observables, parameter_values).
  • precision (float | None) – The target precision for expectation value estimates of each run Estimator Pub that does not specify its own precision. If None the estimator’s default precision value will be used.

Returns

A job object that contains results.

Return type

PrimitiveJob[PrimitiveResult[PubResult]]

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