BaseEstimatorGradient¶
- class BaseEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)[source]¶
Bases:
ABC
Base class for an
EstimatorGradient
to compute the gradients of the expectation value.- Parameters
estimator (BaseEstimator) – The estimator used to compute the gradients.
options (Options | None) – Primitive backend runtime options used for circuit execution. The order of priority is: options in
run
method > gradient’s default options > primitive’s default setting. Higher priority setting overrides lower priority settingderivative_type (DerivativeType) –
The type of derivative. Can be either
DerivativeType.REAL
DerivativeType.IMAG
, orDerivativeType.COMPLEX
.DerivativeType.REAL
computes \(2 \mathrm{Re}[⟨ψ(ω)|O(θ)|dω ψ(ω)〉]\).DerivativeType.IMAG
computes \(2 \mathrm{Im}[⟨ψ(ω)|O(θ)|dω ψ(ω)〉]\).DerivativeType.COMPLEX
computes \(2 ⟨ψ(ω)|O(θ)|dω ψ(ω)〉\).
Defaults to
DerivativeType.REAL
, as this yields e.g. the commonly-used energy gradient and this type is the only supported type for function-level schemes like finite difference.
Methods
Run the job of the estimator gradient on the given circuits.
Update the gradient's default options setting.
Attributes
- derivative_type¶
Return the derivative type (real, imaginary or complex).
- Returns
The derivative type.
- options¶
Return the union of estimator options setting and gradient default options, where, if the same field is set in both, the gradient’s default options override the primitive’s default setting.
- Returns
The gradient default + estimator options.