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

# BackendEstimator

*class* `qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/backend_estimator.py#L91-L415)

Bases: [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.base.base_estimator.BaseEstimator")\[[`PrimitiveJob`](/docs/api/qiskit/1.2/qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](/docs/api/qiskit/1.2/qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]]

Evaluates expectation value using Pauli rotation gates.

The [`BackendEstimator`](#qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator") class is a generic implementation of the [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") (V1) interface that is used to wrap a [`BackendV2`](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2") (or [`BackendV1`](/docs/api/qiskit/1.2/qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) object in the [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1 API. It facilitates using backends that do not provide a native [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1 implementation in places that work with [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") V1. However, if you’re using a provider that has a native implementation of [`BaseEstimatorV1`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.BaseEstimatorV1") ( [`BaseEstimator`](/docs/api/qiskit/1.2/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator")) or [`BaseEstimatorV2`](/docs/api/qiskit/1.2/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.

Initialize a new BackendEstimator (V1) instance

> **Deprecated since version 1.2**
>
> The class `qiskit.primitives.backend_estimator.BackendEstimator` is deprecated as of qiskit 1.2. It will be removed no earlier than 3 months after the release date. All implementations of the BaseEstimatorV1 interface have been deprecated in favor of their V2 counterparts. The V2 alternative for the BackendEstimator class is BackendEstimatorV2.

**Parameters**

- **backend** ([*BackendV1*](/docs/api/qiskit/1.2/qiskit.providers.BackendV1 "qiskit.providers.BackendV1")  *|*[*BackendV2*](/docs/api/qiskit/1.2/qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – (required) the backend to run the primitive on
- **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *| None*) – Default options.
- **abelian\_grouping** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – Whether the observable should be grouped into commuting
- **bound\_pass\_manager** ([*PassManager*](/docs/api/qiskit/1.2/qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") *| None*) – An optional pass manager to run after parameter binding.
- **skip\_transpilation** ([*bool*](https://docs.python.org/3/library/functions.html#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.

## Attributes

### backend

Returns: The backend which this estimator object based on

### options

Return options values for the estimator.

**Returns**

options

### 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.

### transpiled\_circuits

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

**Raises**

[**QiskitError**](/docs/api/qiskit/1.2/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the instance has been closed.

## Methods

### run

`run(circuits, observables, parameter_values=None, **run_options)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/base/base_estimator.py#L121-L178)

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

```python
obs = observables[i]
```

for the state prepared by

```python
circ = circuits[i]
```

with bound parameters

```python
values = parameter_values[i]
```

**Parameters**

- **circuits** (*Sequence\[*[*QuantumCircuit*](/docs/api/qiskit/1.2/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] |* [*QuantumCircuit*](/docs/api/qiskit/1.2/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – one or more circuit objects.
- **observables** (*Sequence\[BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str)*] | BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str)) – one or more observable objects. Several formats are allowed; importantly, `str` should follow the string representation format for [`Pauli`](/docs/api/qiskit/1.2/qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") objects.
- **parameter\_values** (*Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float)*]] | Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float)*] |* [*float*](https://docs.python.org/3/library/functions.html#float) *| None*) – concrete parameters to be bound.
- **run\_options** – runtime options used for circuit execution.

**Returns**

The job object of EstimatorResult.

**Raises**

- [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError) – Invalid argument type given.
- [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – Invalid argument values given.

**Return type**

T

### set\_options

`set_options(**fields)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/base/base_primitive.py#L39-L45)

Set options values for the estimator.

**Parameters**

**\*\*fields** – The fields to update the options

### set\_transpile\_options

`set_transpile_options(**fields)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/primitives/backend_estimator.py#L162-L168)

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