According to your various experience, is there an industry consensus about which C++ implementation of the Levenberg-Marquardt algorithm to use ?

I came across two places where it was the C numerical recipeds version which was used, only one time where it was reimplemented from scratch, but I'd be very interested in your experiences.

(I primarly value performance and the possibility of automatic differentiation for the Jacobian. I also find it very important non to have something "boost-like" that is, a lib which is too big and fat to build for just one small functionality.)

  • 2
    $\begingroup$ The quants at my shop use MINPACK $\endgroup$
    – Attack68
    Oct 5, 2023 at 7:55
  • $\begingroup$ I have Numerical Recipes on my shelf (actually two copies for different languages) and I found it useful, but I would be surprised if it is still considered the best numeric algo book; time has moved on and there must be more modern codes by now. Would love to see other recommendations. $\endgroup$
    – nbbo2
    Oct 5, 2023 at 18:07
  • 1
    $\begingroup$ The implementations I have seen are also based on the MINPACK version. I will try to find the paper. $\endgroup$ Oct 5, 2023 at 21:00
  • $\begingroup$ @Attack68 btw what is the difference between c++minpack and minpack-2 and cminpack ? I only find c version of minpack and cminpack, and in c++minpack's page the French coder says it's better than cminpack to which he contributed as well, while minpack-2 is only for Fortran. $\endgroup$ Oct 6, 2023 at 16:40


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.