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.

  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 1416643 2012-12-03 19:37:14Z tn $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private boolean` | `useLU` Indicator for using LU decomposition.

    - ### Fields inherited from class org.apache.commons.math3.optim.BaseOptimizer

      `evaluations, iterations`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GaussNewtonOptimizer(boolean useLU, ConvergenceChecker<PointVectorValuePair> checker)`
    `GaussNewtonOptimizer(ConvergenceChecker<PointVectorValuePair> checker)` Simple constructor with default settings.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PointVectorValuePair` | `doOptimize()` Performs the bulk of the optimization algorithm.

    - ### Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.jacobian.AbstractLeastSquaresOptimizer

      `computeCost, computeCovariances, computeResiduals, computeSigma, computeWeightedJacobian, getChiSquare, getRMS, getWeightSquareRoot, optimize, setCost`

    - ### Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.JacobianMultivariateVectorOptimizer

      `computeJacobian`

    - ### Methods inherited from class org.apache.commons.math3.optim.nonlinear.vector.MultivariateVectorOptimizer

      `computeObjectiveValue, getTarget, getTargetSize, getWeight`

    - ### Methods inherited from class org.apache.commons.math3.optim.BaseMultivariateOptimizer

      `getLowerBound, getStartPoint, getUpperBound`

    - ### Methods inherited from class org.apache.commons.math3.optim.BaseOptimizer

      `getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### useLU

          private final boolean useLU

      Indicator for using LU decomposition.

  - ### Constructor Detail

    - #### 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.

  - ### Method Detail

    - #### 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.

Copyright (c) 2003-2013 Apache Software Foundation