Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

NaturalGradient

class NaturalGradient(grad_method='lin_comb', qfi_method='lin_comb_full', regularization=None, **kwargs)

GitHub

Bases: qiskit.opflow.gradients.gradient_base.GradientBase

Convert an operator expression to the first-order gradient.

Given an ill-posed inverse problem

x = arg min{||Ax-C||^2} (1)

one can use regularization schemes can be used to stabilize the system and find a numerical solution

x_lambda = arg min{||Ax-C||^2 + lambda*R(x)} (2)

where R(x) represents the penalization term.

Parameters

  • grad_method (Union[str, CircuitGradient]) – The method used to compute the state gradient. Can be either 'param_shift' or 'lin_comb' or 'fin_diff'.
  • qfi_method (Union[str, CircuitQFI]) – The method used to compute the QFI. Can be either 'lin_comb_full' or 'overlap_block_diag' or 'overlap_diag'.
  • regularization (Optional[str]) – Use the following regularization with a least square method to solve the underlying system of linear equations Can be either None or 'ridge' or 'lasso' or 'perturb_diag' 'ridge' and 'lasso' use an automatic optimal parameter search If regularization is None but the metric is ill-conditioned or singular then a least square solver is used without regularization
  • kwargs (dict) – Optional parameters for a CircuitGradient

Methods Defined Here

convert

NaturalGradient.convert(operator, params=None)

Parameters

Return type

OperatorBase

Returns

An operator whose evaluation yields the NaturalGradient.

Raises

  • TypeError – If operator does not represent an expectation value or the quantum state is not CircuitStateFn.
  • ValueError – If params contains a parameter not present in operator.
  • ValueError – If operator is not parameterized.

nat_grad_combo_fn

static NaturalGradient.nat_grad_combo_fn(x, regularization=None)

Natural Gradient Function Implementation.

Parameters

  • x (tuple) – Iterable consisting of Gradient, Quantum Fisher Information.
  • regularization (Optional[str]) – Regularization method.

Return type

ndarray

Returns

Natural Gradient.

Raises

ValueError – If the gradient has imaginary components that are non-negligible.


Attributes

grad_method

Returns CircuitGradient.

Return type

CircuitGradient

Returns

CircuitGradient.

qfi_method

Returns CircuitQFI.

Returns: CircuitQFI.

Return type

CircuitQFI

regularization

Returns the regularization option.

Returns: the regularization option.

Return type

Optional[str]

Was this page helpful?
Report a bug or request content on GitHub.