org.apache.commons.math3.optim.nonlinear.vector.jacobian
Class GaussNewtonOptimizer
java.lang.Object
org.apache.commons.math3.optim.BaseOptimizer<PAIR>
org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointVectorValuePair>
org.apache.commons.math3.optim.nonlinear.vector.MultivariateVectorOptimizer
org.apache.commons.math3.optim.nonlinear.vector.JacobianMultivariateVectorOptimizer
org.apache.commons.math3.optim.nonlinear.vector.jacobian.AbstractLeastSquaresOptimizer
org.apache.commons.math3.optim.nonlinear.vector.jacobian.GaussNewtonOptimizer
public class GaussNewtonOptimizer
- extends AbstractLeastSquaresOptimizer
Gauss-Newton least-squares solver.
Constraints are not supported: the call to
optimize
will throw
MathUnsupportedOperationException
if bounds are passed to it.
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:
- $Id: GaussNewtonOptimizer.java 1458323 2013-03-19 14:51:30Z erans $
Field Summary |
private boolean |
useLU
Indicator for using LU decomposition. |
Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.jacobian.AbstractLeastSquaresOptimizer |
computeCost, computeCovariances, computeResiduals, computeSigma, computeWeightedJacobian, getChiSquare, getRMS, getWeightSquareRoot, optimize, parseOptimizationData, setCost |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
useLU
private final boolean useLU
- Indicator for using LU decomposition.
GaussNewtonOptimizer
public GaussNewtonOptimizer(ConvergenceChecker<PointVectorValuePair> checker)
- Simple constructor with default settings.
The normal equations will be solved using LU decomposition.
- Parameters:
checker
- Convergence checker.
GaussNewtonOptimizer
public GaussNewtonOptimizer(boolean useLU,
ConvergenceChecker<PointVectorValuePair> checker)
- Parameters:
useLU
- If true
, the normal equations will be solved
using LU decomposition, otherwise they will be solved using QR
decomposition.checker
- Convergence checker.
doOptimize
public PointVectorValuePair doOptimize()
- Performs the bulk of the optimization algorithm.
- Specified by:
doOptimize
in class BaseOptimizer<PointVectorValuePair>
- Returns:
- the point/value pair giving the optimal value of the
objective function.
checkParameters
private void checkParameters()
- Throws:
MathUnsupportedOperationException
- if bounds were passed to the
optimize
method.
Copyright (c) 2003-2013 Apache Software Foundation