NaturalGradient#

class qiskit.opflow.gradients.NaturalGradient(grad_method='lin_comb', qfi_method='lin_comb_full', regularization=None, **kwargs)[ソース]#

ベースクラス: 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.

バージョン 0.24.0 で非推奨: The class qiskit.opflow.gradients.natural_gradient.NaturalGradient is deprecated as of qiskit-terra 0.24.0. It will be removed no earlier than 3 months after the release date. For code migration guidelines, visit https://qisk.it/opflow_migration.

パラメータ:
  • 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.

戻り値:

CircuitGradient.

qfi_method#

Returns CircuitQFI.

Returns: CircuitQFI.

regularization#

Returns the regularization option.

Returns: the regularization option.

Methods

convert(operator, params=None)[ソース]#
パラメータ:
戻り値:

An operator whose evaluation yields the NaturalGradient.

例外:
  • 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.

戻り値の型:

OperatorBase

static nat_grad_combo_fn(x, regularization=None)[ソース]#

Natural Gradient Function Implementation.

パラメータ:
  • x (tuple) – Iterable consisting of Gradient, Quantum Fisher Information.

  • regularization (str | None) – Regularization method.

戻り値:

Natural Gradient.

例外:

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

戻り値の型:

ndarray