Bug#741078: ITP: lmfit-py -- Least-Squares Minimization with Constraints

Picca Frédéric-Emmanuel picca at debian.org
Sat Mar 8 08:24:07 UTC 2014


Package: wnpp
Severity: wishlist
Owner: "Picca Frédéric-Emmanuel" <picca at debian.org>

* Package name    : lmfit-py
  Version         : 0.7.4
  Upstream Author : matt.newville at gmail.com
* URL             : http://lmfit.github.io/lmfit-py/
* License         : EXPAT
  Programming Lang: Python
  Description     : Least-Squares Minimization with Constraints

 The lmfit Python package provides a simple, flexible interface to
 non-linear optimization or curve fitting problems. The package
 extends the optimization capabilities of scipy.optimize by replacing
 floating pointing values for the variables to be optimized with
 Parameter objects. These Parameters can be fixed or varied, have
 upper and/or lower bounds placed on its value, or written as an
 algebraic expression of other Parameters.
 .
 The principal advantage of using Parameters instead of simple
 variables is that the objective function does not have to be
 rewritten to reflect every change of what is varied in the fit, or
 what relationships or constraints are placed on the Parameters. This
 means a scientific programmer can write a general model that
 encapsulates the phenomenon to be optimized, and then allow user of
 that model to change what is varied and fixed, what range of values
 is acceptable for Parameters, and what constraints are placed on the
 model. The ease with which the model can be changed also allows one
 to easily test the significance of certain Parameters in a fitting
 model.
 .
 The lmfit package allows a choice of several optimization methods
 available from scipy.optimize. The default, and by far best tested
 optimization method used is the Levenberg-Marquardt algorithm from
 from MINPACK-1 as implemented in scipy.optimize.leastsq. This method
 is by far the most tested and best support method in lmfit, and much
 of this document assumes this algorithm is used unless explicitly
 stated. An important point for many scientific analysis is that this
 is only method that automatically estimates uncertainties and
 correlations between fitted variables from the covariance matrix
 calculated during the fit.
 .
 A few other optimization routines are also supported, including
 Nelder-Mead simplex downhill, Powell's method, COBYLA, Sequential
 Least Squares methods as implemented in scipy.optimize.fmin, and
 several others from scipy.optimize. In their native form, some of
 these methods setting allow upper or lower bounds on parameter
 variables, or adding constraints on fitted variables. By using
 Parameter objects, lmfit allows bounds and constraints for all of
 these methods, and makes it easy to swap between methods without
 hanging the objective function or set of Parameters.
 .
 Finally, because the approach derived from MINPACK-1 usin the
 covariance matrix to determine uncertainties is sometimes questioned
 (and sometimes rightly so), lmfit supports methods to do a brute
 force search of the confidence intervals and correlations for sets of
 parameters.

This package will be maintained under the debian-science umbrella

Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/lmfit-
py.git
Vcs-Git: git://anonscm.debian.org/debian-science/packages/lmfit-py.git



More information about the debian-science-maintainers mailing list