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 qiskit.opflow.gradients.NaturalGradient(grad_method='lin_comb', qfi_method='lin_comb_full', regularization=None, **kwargs)

GitHub

Bases: GradientBase

Deprecated: 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.

Deprecated since version 0.24.0

The class qiskit.opflow.gradients.natural_gradient.NaturalGradient is deprecated as of qiskit-terra 0.24.0. It will be removed in the Qiskit 1.0 release. For code migration guidelines, visit https://qisk.it/opflow_migration.

Parameters

  • grad_method (str |CircuitGradient) – The method used to compute the state gradient. Can be either 'param_shift' or 'lin_comb' or 'fin_diff'.
  • qfi_method (str |CircuitQFI) – The method used to compute the QFI. Can be either 'lin_comb_full' or 'overlap_block_diag' or 'overlap_diag'.
  • regularization (str | None) – 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

Attributes

grad_method

Returns CircuitGradient.

Returns

CircuitGradient.

qfi_method

Returns CircuitQFI.

Returns: CircuitQFI.

regularization

Returns the regularization option.

Returns: the regularization option.


Methods

convert

convert(operator, params=None)

Parameters

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.

Return type

OperatorBase

nat_grad_combo_fn

static nat_grad_combo_fn(x, regularization=None)

Natural Gradient Function Implementation.

Parameters

  • x (tuple) – Iterable consisting of Gradient, Quantum Fisher Information.
  • regularization (str | None) – Regularization method.

Returns

Natural Gradient.

Raises

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

Return type

ndarray

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