---
title: Estimator (v0.46)
description: API reference for qiskit.primitives.Estimator in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.primitives.Estimator
---

# Estimator

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

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/primitives/estimator.py)

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

Reference implementation of [`BaseEstimator`](/docs/api/qiskit/0.46/qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator").

**Run Options**

- **shots** (None or int) – The number of shots. If None, it calculates the exact expectation values. Otherwise, it samples from normal distributions with standard errors as standard deviations using normal distribution approximation.
- **seed** (np.random.Generator or int) – Set a fixed seed or generator for the normal distribution. If shots is None, this option is ignored.

**Parameters**

**options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict) *| None*) – Default options.

**Raises**

[**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if some classical bits are not used for measurements.

## Attributes

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

**Returns**

options

### parameters

Parameters of the quantum circuits.

**Returns**

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

## Methods

### run

`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

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

for the state prepared by

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

with bound parameters

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

> **Deprecated since version 0.46.0**
>
> Implicit conversion from a `PauliList` to a `SparsePauliOp` with `coeffs=1` in the `observables` arguments is deprecated as of Qiskit 0.46 and will be removed in Qiskit 1.0. You should explicitly convert to a `SparsePauli` using `SparsePauliOp(pauli_list)` to avoid this warning.

**Parameters**

- **circuits** (*Sequence\[*[*QuantumCircuit*](/docs/api/qiskit/0.46/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] |* [*QuantumCircuit*](/docs/api/qiskit/0.46/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – one or more circuit objects.
- **observables** (*Sequence\[BaseOperator |* [*PauliSumOp*](/docs/api/qiskit/0.46/qiskit.opflow.primitive_ops.PauliSumOp "qiskit.opflow.primitive_ops.PauliSumOp")  *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str)*] | BaseOperator |* [*PauliSumOp*](/docs/api/qiskit/0.46/qiskit.opflow.primitive_ops.PauliSumOp "qiskit.opflow.primitive_ops.PauliSumOp")  *|*[*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/0.46/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)`

Set options values for the estimator.

**Parameters**

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