类 NonLinearConjugateGradientOptimizer.IdentityPreconditioner

java.lang.Object
org.hipparchus.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.IdentityPreconditioner
所有已实现的接口:
Preconditioner
封闭类:
NonLinearConjugateGradientOptimizer

public static class NonLinearConjugateGradientOptimizer.IdentityPreconditioner extends Object implements Preconditioner
默认身份预处理器。
  • 构造器详细资料

    • IdentityPreconditioner

      public IdentityPreconditioner()
      空构造函数。

      这个构造函数并非必需,但可以防止在JDK 18及更高版本中出现虚假的javadoc警告。

      从以下版本开始:
      3.0
  • 方法详细资料

    • precondition

      public double[] precondition(double[] variables, double[] r)
      对搜索方向进行预处理。

      返回的经过预处理的搜索方向必须快速计算,否则算法性能将急剧下降。一个经典的方法是仅计算海森矩阵的对角元素,并且如果这些元素都是正的,则将原始搜索方向除以这些元素。如果其中至少有一个是负的,则更安全的做法是返回原始搜索方向的克隆,就好像海森矩阵是单位矩阵一样。这种简化选择的基本原理是,负的对角元素意味着当前点远离最优点,此时预处理将不会有效。

      指定者:
      precondition 在接口中 Preconditioner
      参数:
      variables - 计算搜索方向的当前点
      r - 原始搜索方向(即梯度的相反方向)
      返回:
      H-1r的近似,其中H是目标函数的海森矩阵