DriftCapture · function

levenbergMarquardt

Levenberg–Marquardt over x, in place: the Gauss–Newton step with damping · diag(JᵀJ) added, the damping raised where a step would cost more and lowered where it pays, which is the whole reason it is not Gauss–Newton — a step that overshoots is rejected rather than taken, and a start far from the answer is where that decides between converging and diverging.

Explained in DriftCapture.

function levenbergMarquardt(problem: LeastSquares, x: Float64Array, options?: FitOptions):
import { levenbergMarquardt } from '@driftengine/capture';

Parameters

ParameterTypeDescription
problemLeastSquares
xFloat64Array
options?FitOptions