Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

Estimator

class Estimator(circuits: Iterable[QuantumCircuit] | QuantumCircuit | None = None, observables: Iterable[SparsePauliOp] | SparsePauliOp | None = None, parameters: Iterable[Iterable[Parameter]] | None = None, **kwargs)

GitHub

Bases: qiskit.primitives.base.base_estimator.BaseEstimator

Aer implmentation of Estimator.

Run Options

  • shots (None or int) – The number of shots. If None and approximation is True, it calculates the exact expectation values. Otherwise, it calculates expectation values with sampling.
  • seed (int) – Set a fixed seed for the sampling.
Note

Precedence of seeding for seed_simulator is as follows:

  1. seed_simulator in runtime (i.e. in __call__())
  2. seed in runtime (i.e. in __call__())
  3. seed_simulator of backend_options.
  4. default.

seed is also used for sampling from a normal distribution when approximation is True.

Parameters

  • circuits – Quantum circuits that represent quantum states.
  • observables – Observables.
  • parameters – Parameters of quantum circuits, specifying the order in which values will be bound. Defaults to [circ.parameters for circ in circuits] The indexing is such that parameters[i, j] is the j-th formal parameter of circuits[i].
  • backend_options – Options passed to AerSimulator.
  • transpile_options – Options passed to transpile.
  • run_options – Options passed to run.
  • approximation – If True, it calculates expectation values with normal distribution approximation.
  • skip_transpilation – If True, transpilation is skipped.

Methods

close

Estimator.close()

Close the session and free resources

run

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

obs = observables[i]

for the state prepared by

circ = circuits[i]

with bound parameters

values = parameter_values[i].

Parameters

  • circuits – one or more circuit objects.
  • observables – one or more observable objects. Several formats are allowed; importantly, str should follow the string representation format for Pauli objects.
  • parameter_values – concrete parameters to be bound.
  • run_options – runtime options used for circuit execution.

Returns

The job object of EstimatorResult.

Raises

  • TypeError – Invalid argument type given.
  • ValueError – Invalid argument values given.

set_options

Estimator.set_options(**fields)

Set options values for the estimator.

Parameters

**fields – The fields to update the options


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.

Return type

Options

Returns

options

parameters

Parameters of the quantum circuits.

Returns

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

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