ExpectationBase
class ExpectationBase
Bases: qiskit.opflow.converters.converter_base.ConverterBase
A base for Expectation value converters. Expectations are converters which enable the computation of the expectation value of an Observable with respect to some state function. They traverse an Operator tree, replacing OperatorStateFn measurements with equivalent measurements which are more amenable to computation on quantum or classical hardware. For example, if one would like to measure the expectation value of an Operator o
expressed as a sum of Paulis with respect to some state function, but only has access to diagonal measurements on Quantum hardware, we can create a measurement ~StateFn(o), use a PauliExpectation
to convert it to a diagonal measurement and circuit pre-rotations to a append to the state, and sample this circuit on Quantum hardware with a CircuitSampler. All in all, this would be: my_sampler.convert(my_expect.convert(~StateFn(o)) @ my_state).eval()
.
Methods Defined Here
compute_variance
abstract ExpectationBase.compute_variance(exp_op)
Compute the variance of the expectation estimator.
Parameters
exp_op (OperatorBase
) – The full expectation value Operator after sampling.
Return type
Union
[list
, complex
, ndarray
]
Returns
The variances or lists thereof (if exp_op contains ListOps) of the expectation value estimation.
convert
abstract ExpectationBase.convert(operator)
Accept an Operator and return a new Operator with the measurements replaced by alternate methods to compute the expectation value.
Parameters
operator (OperatorBase
) – The operator to convert.
Return type
Returns
The converted operator.