类 NonLinearConjugateGradientOptimizer.IdentityPreconditioner
java.lang.Object
org.hipparchus.optim.nonlinear.scalar.gradient.NonLinearConjugateGradientOptimizer.IdentityPreconditioner
- 所有已实现的接口:
-
Preconditioner
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是目标函数的海森矩阵
-