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

# Estimator

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/primitives/estimator.py#L38-L158)

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

Reference implementation of [`BaseEstimator`](/docs/api/qiskit/1.0/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/1.0/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if some classical bits are not used for measurements.

## Attributes

### options

Return options values for the estimator.

**Returns**

options

## Methods

### run

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.0/qiskit/primitives/base/base_estimator.py#L123-L180)

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.0/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] |* [*QuantumCircuit*](/docs/api/qiskit/1.0/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.0/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.0/qiskit/primitives/base/base_primitive.py#L39-L45)

Set options values for the estimator.

**Parameters**

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