Module optimize

Source
Expand description

Minimisation: a bounded scalar minimiser and damped Gauss-Newton (Levenberg-Marquardt) for nonlinear least squares.

  • minimize_scalar: Brent’s localmin (golden section with parabolic interpolation), Brent 1973 chapter 5, OCCT math_BrentMinimum.
  • levenberg_marquardt: minimises 1/2 ||r(x)||^2 with Moré’s column scaling (Moré, The Levenberg-Marquardt algorithm: implementation and theory, 1978) and Nielsen’s damping update. Each step solves the damped system as an augmented least-squares problem by QR rather than forming normal equations, so the Jacobian’s conditioning is not squared. A square system with a zero-residual solution makes this a solver for nonlinear equations (OCCT math_FunctionSetRoot).

Both are local methods: they find a local minimiser near the start (or inside the bracket), and say how they stopped.

Structs§

LeastSquaresMinimum
A local minimiser of 1/2 ||r(x)||^2.
LevenbergMarquardtOptions
Stopping rules and budget for levenberg_marquardt.
ScalarMinimum
A local minimum of a scalar function on an interval.

Enums§

Termination
Why levenberg_marquardt stopped.

Traits§

Residuals
A vector-valued residual function r: R^n -> R^m for levenberg_marquardt.

Functions§

levenberg_marquardt
Minimise 1/2 ||r(x)||^2 from x0 by Levenberg-Marquardt.
minimize_scalar
Minimise f on [lower, upper] by Brent’s method.