lmfit - Levenberg-Marquardt least-squares minimization
lmfit is a C library for Levenberg-Marquardt least-squares minimization and curve fitting. It is mature code, based on decades-old algorithms from the FORTRAN library MINPACK.
For fitting a data set {(x_i,y_i)|i=0,1,..} by a parametric curve f(x,t), see lmcurve(3).
For fitting a data set {(x_i,y_i+-dy_i)|i=0,1,..} by a parametric curve f(x,t), see lmcurve2(3).
For generic minimization of the Eucledian norm of parametric vector, see lmmin2(3).
For the simpler legacy API without error estimates, see lmmin(3).
For an example how to use lmmin, see the source files lmcurve.h and lmcurve.c. Do not patch these files; copy and modify them to create your own, differently named version of lmcurve_data_struct, lmcurve_evaluate, and lmcurve.
For an example how to use lmmin2 for weighted data, see the source files lmcurve2.h and lmcurve2.c. Do not patch these files; copy and modify them to create your own, differently named version of lmcurve2_data_struct, lmcurve2_evaluate, and lmcurve2.
Copyright (C): 1980-1999 University of Chicago 2004-2015 Joachim Wuttke, Forschungszentrum Juelich GmbH
Software: FreeBSD License
Documentation: Creative Commons Attribution Share Alike
Homepage: https://jugit.fz-juelich.de/mlz/lmfit
Please send bug reports and suggestions to the author <j.wuttke@fz-juelich.de>.