lmfit is a Python library for Least-Squares Minimization with Bounds and Constraints.
A library for least-squares minimization and data fitting in Python. Built on top of scipy.optimize
, lmfit provides a Parameter
object which can be set as fixed or free, can have upper and/or lower bounds, or can be written in terms of algebraic constraints of other Parameters
. The user writes a function to be minimized as a function of these Parameter
s, and the scipy.optimize
methods are used to find the optimal values for the Parameter
s. The Levenberg-Marquardt (leastsq) is the default minimization algorithm, and provides estimated standard errors and correlations between varied Parameter
s. Other minimization methods, including Nelder-Mead’s downhill simplex, Powell’s method, BFGS, Sequential Least Squares, and others are also supported. Bounds and contraints can be placed on Parameter
s for all of these methods.