---
title: BackendEstimatorV2 (v1.1)
description: API reference for qiskit.primitives.BackendEstimatorV2 in qiskit v1.1
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.1/qiskit.primitives.BackendEstimatorV2
---

# BackendEstimatorV2

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.1/qiskit/primitives/backend_estimator_v2.py#L74-L390)

Bases: [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.base.base_estimator.BaseEstimatorV2")

Evaluates expectation values for provided quantum circuit and observable combinations

The [`BackendEstimatorV2`](#qiskit.primitives.BackendEstimatorV2 "qiskit.primitives.BackendEstimatorV2") class is a generic implementation of the [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") interface that is used to wrap a [`BackendV2`](/docs/api/qiskit/1.1/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") (or [`BackendV1`](/docs/api/qiskit/1.1/qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) object in the [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") API. It facilitates using backends that do not provide a native [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") implementation in places that work with [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2"). However, if you’re using a provider that has a native implementation of [`BaseEstimatorV2`](/docs/api/qiskit/1.1/qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.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()`](#qiskit.primitives.BackendEstimatorV2.run "qiskit.primitives.BackendEstimatorV2.run") method can be given a sequence of pubs to run in one call.

The options for [`BackendEstimatorV2`](#qiskit.primitives.BackendEstimatorV2 "qiskit.primitives.BackendEstimatorV2") consist of the following items.

- `default_precision`: The default precision to use if none are specified in [`run()`](#qiskit.primitives.BackendEstimatorV2.run "qiskit.primitives.BackendEstimatorV2.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*](/docs/api/qiskit/1.1/qiskit.providers.BackendV1 "qiskit.providers.BackendV1")  *|*[*BackendV2*](/docs/api/qiskit/1.1/qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – The backend to run the primitive on.
- **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#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](https://github.com/Qiskit/qiskit/tree/stable/1.1/qiskit/primitives/backend_estimator_v2.py#L142-L151)

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*](https://docs.python.org/3/library/functions.html#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](/docs/api/qiskit/1.1/qiskit.primitives.PrimitiveJob "qiskit.primitives.PrimitiveJob")\[[PrimitiveResult](/docs/api/qiskit/1.1/qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](/docs/api/qiskit/1.1/qiskit.primitives.PubResult "qiskit.primitives.PubResult")]]
