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>.