NonlinearSolve.jl icon indicating copy to clipboard operation
NonlinearSolve.jl copied to clipboard

Inexact Newton Steps in Levenberg Marquardt

Open avik-pal opened this issue 1 year ago • 2 comments

See the last part of http://ceres-solver.org/nnls_solving.html#levenberg-marquardt. This is basically already there and this is mostly a internal solver selection mechanism:

  1. Add a forcing function to LM
  2. Add a newton_step = Val(:exact) / Val(:inexact) option. Set it to nothing by default
  3. Default to exact for factorization, else inexact
  4. Inexact Newton is just setting the tolerance correctly in dolinsolve.

avik-pal avatar Dec 12 '23 03:12 avik-pal

https://www.sciencedirect.com/science/article/pii/S0377042705007958

avik-pal avatar Jan 15 '24 16:01 avik-pal

With the redesign this is very easy to do now, we need to add forcing terms to the newton-style descent algorithms and all algorithms will be able to use it

avik-pal avatar Mar 22 '24 13:03 avik-pal