org.ddogleg.optimization.impl
Class TrustRegionLeastSquares
- java.lang.Object
-
- org.ddogleg.optimization.impl.TrustRegionLeastSquares
-
public class TrustRegionLeastSquares extends java.lang.ObjectTrust region based optimization algorithms switch between the optimal Gauss Newton step and gradient descent. A circular region is defined around the current estimate for which the Taylor series expansion is trusted. If the Gauss Newton step falls within this "trust region" then it is used, otherwise the optimal quadratic solution is found subject to the trust region's constraint.
There are several different ways for which to estimate the solution to the trust region problem. The Levenberg-Marquardt algorithm is actually a type of trust region algorithm, even though it was originally proposed before the trust region approach had been.
-
-
Constructor Summary
Constructors Constructor and Description TrustRegionLeastSquares(double maxRadius, TrustRegionStep stepAlg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublegetError()double[]getParameters()voidinitialize(double[] initial)booleanisConverged()booleanisUpdated()booleaniterate()Performs a single iteration.voidsetConvergence(double ftol, double gtol)Specify convergence tolerancesvoidsetFunction(CoupledJacobian function)
-
-
-
Constructor Detail
-
TrustRegionLeastSquares
public TrustRegionLeastSquares(double maxRadius, TrustRegionStep stepAlg)
-
-
Method Detail
-
setFunction
public void setFunction(CoupledJacobian function)
-
setConvergence
public void setConvergence(double ftol, double gtol)Specify convergence tolerances- Parameters:
gtol- absolute convergence tolerance based on gradient norm. 0<=gtol
-
initialize
public void initialize(double[] initial)
-
iterate
public boolean iterate()
Performs a single iteration.- Returns:
- true if it has converged and false if it has not.
-
getParameters
public double[] getParameters()
-
getError
public double getError()
-
isConverged
public boolean isConverged()
-
isUpdated
public boolean isUpdated()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG