ANN: Lmfit 0.8.0

26 views
Skip to first unread message

Matt Newville

unread,
Sep 22, 2014, 10:31:09 AM9/22/14
to SciPy Users List, lmfit-py
Hi Folks,

Lmfit 0.8.0 has been released, and is available from PyPI and github:
    https://pypi.python.org/pypi/lmfit/
    http://lmfit.github.io/lmfit-py/

Lmfit provides a high level approach of least squares minimization and curve fitting based on the routines from scipy.optimize.  The key idea is to use Parameter objects that can be bounded, fixed, or algebraically constrained in place of floating point variables.  Many additional features to make minimization problems easier and better are included.  Lmfit is MIT-licensed and a pure Python module.  It requires scipy version 0.13 or later.

Lmfit version 0.8.0 includes several bug fixes and improvements.  The most important new feature is a Model class for high level curve-fitting problems, currently emphasizing 1-D functions.  The Model class, largely the work of Daniel Allen with substantial input from Antonino Ingargiola, wraps a model function that simulates some data.  It includes methods to create parameters from function arguments, to fit to data, and to evaluate models.  More than 20 pre-built models for line shapes such as Gaussian and Exponential are included.  An important feature of Model is that they can be added together, making it very easy to construct complex models.

Automated testing with nose and Travis-CI is greatly improved.  There are over 100 tests, many of these checking the numerical results for non-trivial fits.  All of the NIST StRD datasets are tested, requiring that NIST certified values be found (with fairly loose precision) from at least one of the NIST-provided starting values.

Daniel Allen also started an IPython GUI Fitter, providing a very nice tool for fitting simple line-shapes to 1 dimensional data.

Finally, we've added a lmfit-py google group for questions about usage, discussions of design, and announcements.  We're happy to have conversations about ideas for improving lmfit, or minimization and curve-fitting routines with scipy in general, on any appropriate forum.

Thanks,

--Matt Newville
Reply all
Reply to author
Forward
0 new messages