Class GaussNewtonOptimizer
- java.lang.Object
-
- org.apache.commons.math.optimization.general.AbstractLeastSquaresOptimizer
-
- org.apache.commons.math.optimization.general.GaussNewtonOptimizer
-
- All Implemented Interfaces:
DifferentiableMultivariateVectorialOptimizer
public class GaussNewtonOptimizer extends AbstractLeastSquaresOptimizer
Gauss-Newton least-squares solver.This class solve a least-square problem by solving the normal equations of the linearized problem at each iteration. Either LU decomposition or QR decomposition can be used to solve the normal equations. LU decomposition is faster but QR decomposition is more robust for difficult problems.
- Since:
- 2.0
- Version:
- $Revision: 1073158 $ $Date: 2011-02-21 22:46:52 +0100 (lun. 21 févr. 2011) $
-
-
Field Summary
-
Fields inherited from class org.apache.commons.math.optimization.general.AbstractLeastSquaresOptimizer
checker, cols, cost, DEFAULT_MAX_ITERATIONS, jacobian, objective, point, residuals, residualsWeights, rows, targetValues, wjacobian, wresiduals
-
-
Constructor Summary
Constructors Constructor Description GaussNewtonOptimizer(boolean useLU)
Simple constructor with default settings.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VectorialPointValuePair
doOptimize()
Perform the bulk of optimization algorithm.-
Methods inherited from class org.apache.commons.math.optimization.general.AbstractLeastSquaresOptimizer
getChiSquare, getConvergenceChecker, getCovariances, getEvaluations, getIterations, getJacobianEvaluations, getMaxEvaluations, getMaxIterations, getRMS, guessParametersErrors, incrementIterationsCounter, optimize, setConvergenceChecker, setMaxEvaluations, setMaxIterations, updateJacobian, updateResidualsAndCost
-
-
-
-
Constructor Detail
-
GaussNewtonOptimizer
public GaussNewtonOptimizer(boolean useLU)
Simple constructor with default settings.The convergence check is set to a
SimpleVectorialValueChecker
and the maximal number of evaluation is set toAbstractLeastSquaresOptimizer.DEFAULT_MAX_ITERATIONS
.- Parameters:
useLU
- if true, the normal equations will be solved using LU decomposition, otherwise they will be solved using QR decomposition
-
-
Method Detail
-
doOptimize
public VectorialPointValuePair doOptimize() throws FunctionEvaluationException, OptimizationException, java.lang.IllegalArgumentException
Perform the bulk of optimization algorithm.- Specified by:
doOptimize
in classAbstractLeastSquaresOptimizer
- Returns:
- the point/value pair giving the optimal value for objective function
- Throws:
FunctionEvaluationException
- if the objective function throws one during the searchOptimizationException
- if the algorithm failed to convergejava.lang.IllegalArgumentException
- if the start point dimension is wrong
-
-