类 SequentialGaussNewtonOptimizer
java.lang.Object
org.hipparchus.optim.nonlinear.vector.leastsquares.SequentialGaussNewtonOptimizer
- 所有已实现的接口:
-
LeastSquaresOptimizer
顺序高斯-牛顿最小二乘求解器。
该类通过在每次迭代中解决线性化问题的正规方程来解决最小二乘问题。
-
嵌套类概要
从接口继承的嵌套类/接口 org.hipparchus.optim.nonlinear.vector.leastsquares.LeastSquaresOptimizer
LeastSquaresOptimizer.Optimum
-
构造器概要
构造器说明创建一个顺序高斯牛顿优化器。SequentialGaussNewtonOptimizer
(MatrixDecomposer decomposer, boolean formNormalEquations, LeastSquaresProblem.Evaluation evaluation) 创建一个顺序高斯牛顿优化器,该优化器使用给定的矩阵分解算法来解决正规方程。 -
方法概要
修饰符和类型方法说明获取矩阵分解算法。获取优化器使用的先前评估。boolean
获取正规方程是否明确形成。解决非线性最小二乘问题。toString()
withAPrioriData
(RealVector aPrioriState, RealMatrix aPrioriCovariance) 从先验状态和协方差配置。withAPrioriData
(RealVector aPrioriState, RealMatrix aPrioriCovariance, double relativeSymmetryThreshold, double absolutePositivityThreshold) 从先验状态和协方差配置。withDecomposer
(MatrixDecomposer newDecomposer) 配置矩阵分解算法。withEvaluation
(LeastSquaresProblem.Evaluation previousEvaluation) 配置优化器使用的先前评估。withFormNormalEquations
(boolean newFormNormalEquations) 配置正规方程是否应明确形成。
-
构造器详细资料
-
SequentialGaussNewtonOptimizer
public SequentialGaussNewtonOptimizer()创建一个顺序高斯牛顿优化器。算法的默认设置是使用QR分解,不形成正规方程,并且没有先前的评估
-
SequentialGaussNewtonOptimizer
public SequentialGaussNewtonOptimizer(MatrixDecomposer decomposer, boolean formNormalEquations, LeastSquaresProblem.Evaluation evaluation) 创建一个顺序高斯牛顿优化器,该优化器使用给定的矩阵分解算法来解决正规方程。使用
decomposer
来解决JTJx=JTr。- 参数:
-
decomposer
- 要使用的分解算法。 -
formNormalEquations
- 正规方程是否应明确形成。如果true
,则decomposer
用于解决JTJx=JTr,否则decomposer
用于解决Jx=r。如果decomposer
只能解决方阵系统,则此参数应为true
。 -
evaluation
- 先前计算的旧评估,如果没有先前的评估则为null。
-
-
方法详细资料
-
getDecomposer
获取矩阵分解算法。- 返回:
- 分解算法。
-
withDecomposer
配置矩阵分解算法。- 参数:
-
newDecomposer
- 要使用的分解算法。 - 返回:
- 一个新实例。
-
isFormNormalEquations
public boolean isFormNormalEquations()获取正规方程是否明确形成。- 返回:
-
正规方程是否应明确形成。如果
true
,则decomposer
用于解决JTJx=JTr,否则decomposer
用于解决Jx=r。
-
withFormNormalEquations
配置正规方程是否明确形成。- 参数:
-
newFormNormalEquations
- 正规方程是否应明确形成。如果true
,则decomposer
用于解决JTJx=JTr,否则decomposer
用于解决Jx=r。如果decomposer
只能解决方阵系统,则此参数应为true
。 - 返回:
- 一个新实例。
-
getOldEvaluation
获取优化器使用的先前评估。- 返回:
- 先前的评估。
-
withEvaluation
public SequentialGaussNewtonOptimizer withEvaluation(LeastSquaresProblem.Evaluation previousEvaluation) 配置优化器使用的先前评估。此构建方法使用完整评估来检索先验数据。请注意,由于
withAPrioriData(RealVector, RealMatrix)
生成了一个虚假评估并调用此方法,因此应调用withAPrioriData(RealVector, RealMatrix)
或withEvaluation(LeastSquaresProblem.Evaluation)
,但不应同时调用两者,因为最后调用的一个将覆盖先前的一个。- 参数:
-
previousEvaluation
- 优化器使用的先前评估。 - 返回:
- 一个新实例。
-
withAPrioriData
public SequentialGaussNewtonOptimizer withAPrioriData(RealVector aPrioriState, RealMatrix aPrioriCovariance) 从先验状态和协方差配置。此构建方法生成一个虚假评估并调用
withEvaluation(LeastSquaresProblem.Evaluation)
,因此应调用withAPrioriData(RealVector, RealMatrix)
或withEvaluation(LeastSquaresProblem.Evaluation)
,但不应同时调用两者,因为最后调用的一个将覆盖先前的一个。使用Cholesky分解来从先验协方差计算加权雅可比。此方法使用分解的默认阈值。
- 参数:
-
aPrioriState
- 要使用的先验状态 -
aPrioriCovariance
- 要使用的先验协方差 - 返回:
- 一个新实例。
- 另请参阅:
-
withAPrioriData
public SequentialGaussNewtonOptimizer withAPrioriData(RealVector aPrioriState, RealMatrix aPrioriCovariance, double relativeSymmetryThreshold, double absolutePositivityThreshold) 从先验状态和协方差配置。此构建方法生成一个虚假评估并调用
withEvaluation(LeastSquaresProblem.Evaluation)
,因此应调用withAPrioriData(RealVector, RealMatrix)
或withEvaluation(LeastSquaresProblem.Evaluation)
,但不应同时调用两者,因为最后调用的一个将覆盖先前的一个。使用Cholesky分解来从先验协方差计算加权雅可比。
- 参数:
-
aPrioriState
- 要使用的先验状态 -
aPrioriCovariance
- 要使用的先验协方差 -
relativeSymmetryThreshold
- Cholesky分解阈值,超过该阈值则认为非对角线元素差异太大,矩阵不对称 -
absolutePositivityThreshold
- Cholesky分解阈值,低于该阈值则认为对角线元素为零,矩阵不正定 - 返回:
- 一个新实例。
- 从以下版本开始:
- 2.3
-
optimize
解决非线性最小二乘问题。- 指定者:
-
optimize
在接口中LeastSquaresOptimizer
- 参数:
-
lsp
- 问题定义,包括模型函数和收敛标准。 - 返回:
- 最优解。
-
toString
-