org.apache.commons.math3.optimization.general
Class GaussNewtonOptimizer
java.lang.Object
org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateVectorOptimizer<DifferentiableMultivariateVectorFunction>
org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer
org.apache.commons.math3.optimization.general.GaussNewtonOptimizer
- All Implemented Interfaces:
- BaseMultivariateVectorOptimizer<DifferentiableMultivariateVectorFunction>, BaseOptimizer<PointVectorValuePair>, DifferentiableMultivariateVectorOptimizer
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:
- $Id: GaussNewtonOptimizer.java 1244107 2012-02-14 16:17:55Z erans $
Field Summary |
private boolean |
useLU
Indicator for using LU decomposition. |
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()
- Simple constructor with default settings.
The normal equations will be solved using LU decomposition and the
convergence check is set to a
SimpleVectorValueChecker
with default tolerances.
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)
- Simple constructor with default settings.
The convergence check is set to a
SimpleVectorValueChecker
with default tolerances.
- Parameters:
useLU
- If true
, the normal equations will be solved
using LU decomposition, otherwise they will be solved using QR
decomposition.
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()
- Perform the bulk of the optimization algorithm.
- Specified by:
doOptimize
in class BaseAbstractMultivariateVectorOptimizer<DifferentiableMultivariateVectorFunction>
- Returns:
- the point/value pair giving the optimal value for the
objective function.
Copyright (c) 2003-2013 Apache Software Foundation