BackendEstimator#

class qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)[ソース]#

ベースクラス: BaseEstimator[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, such as algorithms in qiskit.algorithms including VQE. 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

パラメータ:
  • backend – Required: the backend to run the primitive on

  • options – Default options.

  • abelian_grouping – Whether the observable should be grouped into commuting

  • bound_pass_manager – An optional pass manager to run after parameter binding.

  • skip_transpilation – 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

circuits#

Quantum circuits that represents quantum states.

戻り値:

The quantum circuits.

observables#

Observables to be estimated.

戻り値:

The observables.

options#

Return options values for the estimator.

戻り値:

options

parameters#

Parameters of the quantum circuits.

戻り値:

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

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

例外:

QiskitError – if the instance has been closed.

Methods

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].
パラメータ:
  • circuits (Sequence[QuantumCircuit] | QuantumCircuit) – one or more circuit objects.

  • observables (Sequence[BaseOperator | PauliSumOp | str] | BaseOperator | PauliSumOp | 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.

戻り値:

The job object of EstimatorResult.

例外:
戻り値の型:

T

set_options(**fields)#

Set options values for the estimator.

パラメータ:

**fields – The fields to update the options

set_transpile_options(**fields)[ソース]#

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