ParamShiftEstimatorGradient¶
- class ParamShiftEstimatorGradient(estimator, options=None, derivative_type=DerivativeType.REAL)[Quellcode]¶
Bases:
BaseEstimatorGradient
Compute the gradients of the expectation values by the parameter shift rule [1].
Reference: [1] Schuld, M., Bergholm, V., Gogolin, C., Izaac, J., and Killoran, N. Evaluating analytic gradients on quantum hardware, DOI
- Parameter
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
- SUPPORTED_GATES = ['x', 'y', 'z', 'h', 'rx', 'ry', 'rz', 'p', 'cx', 'cy', 'cz', 'ryy', 'rxx', 'rzz', 'rzx']¶
- derivative_type¶
Return the derivative type (real, imaginary or complex).
- Rückgabe
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.
- Rückgabe
The gradient default + estimator options.