Estimator
class Estimator(circuits: Iterable[QuantumCircuit] | QuantumCircuit | None = None, observables: Iterable[SparsePauliOp] | SparsePauliOp | None = None, parameters: Iterable[Iterable[Parameter]] | None = None, **kwargs)
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.
Precedence of seeding for seed_simulator
is as follows:
seed_simulator
in runtime (i.e. in__call__()
)seed
in runtime (i.e. in__call__()
)seed_simulator
ofbackend_options
.- 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 thatparameters[i, j]
is the j-th formal parameter ofcircuits[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 forPauli
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
parameters
Parameters of the quantum circuits.
Returns
Parameters, where parameters[i][j]
is the j-th parameter of the i-th circuit.