org.apache.commons.math.optimization.general
public class GaussNewtonOptimizer extends AbstractLeastSquaresOptimizer
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.
Modifier and Type | Field and Description |
---|---|
private boolean |
useLU
Indicator for using LU decomposition.
|
checker, cols, cost, DEFAULT_MAX_ITERATIONS, jacobian, objective, point, residuals, residualsWeights, rows, targetValues, wjacobian, wresiduals
Constructor and Description |
---|
GaussNewtonOptimizer(boolean useLU)
Simple constructor with default settings.
|
Modifier and Type | Method and Description |
---|---|
VectorialPointValuePair |
doOptimize()
Perform the bulk of optimization algorithm.
|
getChiSquare, getConvergenceChecker, getCovariances, getEvaluations, getIterations, getJacobianEvaluations, getMaxEvaluations, getMaxIterations, getRMS, guessParametersErrors, incrementIterationsCounter, optimize, setConvergenceChecker, setMaxEvaluations, setMaxIterations, updateJacobian, updateResidualsAndCost
public GaussNewtonOptimizer(boolean useLU)
The convergence check is set to a SimpleVectorialValueChecker
and the maximal number of evaluation is set to
AbstractLeastSquaresOptimizer.DEFAULT_MAX_ITERATIONS
.
useLU
- if true, the normal equations will be solved using LU
decomposition, otherwise they will be solved using QR decompositionpublic VectorialPointValuePair doOptimize() throws FunctionEvaluationException, OptimizationException, IllegalArgumentException
doOptimize
in class AbstractLeastSquaresOptimizer
FunctionEvaluationException
- if the objective function throws one during
the searchOptimizationException
- if the algorithm failed to convergeIllegalArgumentException
- if the start point dimension is wrongCopyright (c) 2003-2013 Apache Software Foundation