FastLevenbergMarquardt.jl

This is an extension for importing solvers from FastLevenbergMarquardt.jl into the SciML interface. Note that these solvers do not come by default, and thus one needs to install the package before using these solvers:

using Pkg
Pkg.add("FastLevenbergMarquardt")
using FastLevenbergMarquardt, NonlinearSolve

Solver API

NonlinearSolve.FastLevenbergMarquardtJLType
FastLevenbergMarquardtJL(linsolve::Symbol = :cholesky; factor = 1e-6,
    factoraccept = 13.0, factorreject = 3.0, factorupdate = :marquardt,
    minscale = 1e-12, maxscale = 1e16, minfactor = 1e-28, maxfactor = 1e32,
    autodiff = nothing)

Wrapper over FastLevenbergMarquardt.jl for solving NonlinearLeastSquaresProblem. For details about the other keyword arguments see the documentation for FastLevenbergMarquardt.jl.

Warning

This is not really the fastest solver. It is called that since the original package is called "Fast". LevenbergMarquardt() is almost always a better choice.

Arguments

  • linsolve: Linear solver to use. Can be :qr or :cholesky.

Keyword Arguments

  • autodiff: determines the backend used for the Jacobian. Note that this argument is ignored if an analytical Jacobian is passed, as that will be used instead. Defaults to nothing which means that a default is selected according to the problem specification!
Note

This algorithm is only available if FastLevenbergMarquardt.jl is installed.