English
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

ReverseEstimatorGradient

class ReverseEstimatorGradient(derivative_type=DerivativeType.REAL)[source]

Bases: qiskit.algorithms.gradients.base_estimator_gradient.BaseEstimatorGradient

Estimator gradients with the classically efficient reverse mode.

Note

This gradient implementation is based on statevector manipulations and scales exponentially with the number of qubits. However, for small system sizes it can be very fast compared to circuit-based gradients.

This class implements the calculation of the expectation gradient as described in [1]. By keeping track of two statevectors and iteratively sweeping through each parameterized gate, this method scales only linearly with the number of parameters.

References:

[1]: Jones, T. and Gacon, J. “Efficient calculation of gradients in classical simulations

of variational quantum algorithms” (2020). arXiv:2009.02823.

Parameters

derivative_type (DerivativeType) – Defines whether the real, imaginary or real plus imaginary part of the gradient is returned.

Methods

run

Run the job of the estimator gradient on the given circuits.

update_default_options

Update the gradient's default options setting.

Attributes

SUPPORTED_GATES = ['rx', 'ry', 'rz', 'cp', 'crx', 'cry', 'crz']
derivative_type

Return the derivative type (real, imaginary or complex).

Return type

DerivativeType

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.

Return type

Options

Returns

The gradient default + estimator options.