# Package org.apache.commons.math3.fitting.leastsquares

This package provides algorithms that minimize the residuals between observations and model values.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  LeastSquaresOptimizer | An algorithm that can be applied to a non-linear least squares problem.
  LeastSquaresOptimizer.Optimum | The optimum found by the optimizer.
  LeastSquaresProblem | The data necessary to define a non-linear least squares problem.
  LeastSquaresProblem.Evaluation | An evaluation of a `LeastSquaresProblem` at a particular point.
  MultivariateJacobianFunction | A interface for functions that compute a vector of values and can compute their derivatives (Jacobian).
  ParameterValidator | Interface for validating a set of model parameters.
  ValueAndJacobianFunction | A interface for functions that compute a vector of values and can compute their derivatives (Jacobian).

- Class Summary
  Class | Description
  --- | ---
  AbstractEvaluation | An implementation of `LeastSquaresProblem.Evaluation` that is designed for extension.
  EvaluationRmsChecker | Check if an optimization has converged based on the change in computed RMS.
  GaussNewtonOptimizer | Gauss-Newton least-squares solver.
  LeastSquaresAdapter | An adapter that delegates to another implementation of `LeastSquaresProblem`.
  LeastSquaresBuilder | A mutable builder for `LeastSquaresProblem`s.
  LeastSquaresFactory | A Factory for creating `LeastSquaresProblem`s.
  LevenbergMarquardtOptimizer | This class solves a least-squares problem using the Levenberg-Marquardt algorithm.

- Enum Summary
  Enum | Description
  --- | ---
  GaussNewtonOptimizer.Decomposition | The decomposition algorithm to use to solve the normal equations.

## Package org.apache.commons.math3.fitting.leastsquares Description

This package provides algorithms that minimize the residuals between observations and model values. The `least-squares optimizers` minimize the distance (called cost or χ2) between model and observations.
Algorithms in this category need access to a problem (represented by a `LeastSquaresProblem`). Such a model predicts a set of values which the algorithm tries to match with a set of given set of observed values.
The problem can be created progressively using a `builder` or it can be created at once using a `factory`.

Since:
  3.3

Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.