Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK. Go to the latest version

BackendEstimator

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

GitHub

Bases: BaseEstimatorV1[PrimitiveJob[EstimatorResult]]

Evaluates expectation value using Pauli rotation gates.

The BackendEstimator class is a generic implementation of the BaseEstimator interface that is used to wrap a BackendV2 (or BackendV1) object in the BaseEstimator API. It facilitates using backends that do not provide a native BaseEstimator implementation in places that work with BaseEstimator. However, if you’re using a provider that has a native implementation of BaseEstimator, 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 instance

Parameters

  • backend (BackendV1 |BackendV2) – Required: the backend to run the primitive on
  • options (dict | None) – Default options.
  • abelian_grouping (bool) – Whether the observable should be grouped into commuting
  • bound_pass_manager (PassManager | None) – An optional pass manager to run after parameter binding.
  • skip_transpilation (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 – if the instance has been closed.


Methods

run

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

GitHub

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 (Sequence[QuantumCircuit] | QuantumCircuit) – one or more circuit objects.
  • observables (Sequence[BaseOperator | str] | BaseOperator | str) – one or more observable objects. Several formats are allowed; importantly, str should follow the string representation format for Pauli objects.
  • parameter_values (Sequence[Sequence[float]] | Sequence[float] | float | None) – concrete parameters to be bound.
  • run_options – runtime options used for circuit execution.

Returns

The job object of EstimatorResult.

Raises

Return type

T

set_options

set_options(**fields)

GitHub

Set options values for the estimator.

Parameters

**fields – The fields to update the options

set_transpile_options

set_transpile_options(**fields)

GitHub

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

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