org.apache.commons.math.optimization.general
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) $
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 |
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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 to
AbstractLeastSquaresOptimizer.DEFAULT_MAX_ITERATIONS
.
- Parameters:
useLU
- if true, the normal equations will be solved using LU
decomposition, otherwise they will be solved using QR decomposition
doOptimize
public VectorialPointValuePair doOptimize()
throws FunctionEvaluationException,
OptimizationException,
IllegalArgumentException
- Perform the bulk of optimization algorithm.
- Specified by:
doOptimize
in class AbstractLeastSquaresOptimizer
- Returns:
- the point/value pair giving the optimal value for objective function
- Throws:
FunctionEvaluationException
- if the objective function throws one during
the search
OptimizationException
- if the algorithm failed to converge
IllegalArgumentException
- if the start point dimension is wrong
Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.