./math/py-lmfit, Least-squares minimization with bounds and constraints

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3.2, Package name: py312-lmfit-1.3.2, Maintainer: prlw1

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 Parameters, and the scipy.optimize methods are
used to find the optimal values for the Parameters. The
Levenberg-Marquardt (leastsq) is the default minimization algorithm,
and provides estimated standard errors and correlations between
varied Parameters. 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 Parameters for all of these methods.

In addition, methods for explicitly calculating confidence intervals
are provided for exploring minmization problems where the approximation
of estimating Parameter uncertainties from the covariance matrix
is questionable.


Required to run:
[devel/py-setuptools] [math/py-scipy] [math/py-numpy] [math/py-asteval] [lang/python37] [math/py-uncertainties]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 609.321 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-14 08:46:10 by Thomas Klausner | Files touched by this commit (325)
Log message:
*: clean-up after python38 removal
   2024-08-02 09:39:27 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-lmfit: updated to 1.3.2

Version 1.3.2 Release Notes (July 19, 2024)
====================================================

Fixes:

-  fix typo in restoring a ``_buildmodel`` dict
-  fixes for Numpy2 support
-  ensure that correct initial params are used when re-fitting a ModeRresult
-  make sure that CompositeModels cannot have a prefix

Build, Maintenance:

- update pre-commit hooks, adding codespell exceptions
- update to latest SciPy/NumPy versions, including dependency versions for NumPy 2.
- now require asteval>=1.0 and uncertainties>=3.2.2

Version 1.3.1 Release Notes (April 19, 2024)
====================================================

Mostly fixes for bugs introduced in 1.3.0

- allow ``Model.eval_uncertainty`` to be performed with single points for ``x``
  independent variables

-  allow ``Model._parse_param`` to handle older-style passed-in 'argnames' and
   'kwargs' as for variadic function, add test

- better allow (or re-allow) Model function independent variables / keyword
  argumentss to be given non-default values at model creation time

- add ``form`` as independent variable for builtin Step, Rectangle, Thermal
  Distribution models.

- use a copy of ``sys.modules`` when iterating over it.

-  use ``Model._reprstring(long=True)`` for model ``Model.__repr__()``.

Version 1.3.0 Release Notes (April 4, 2024)
===========================================

New features:

- add ``'min_rel_change'`` as optional variable in calculation of confidence \ 
intervals with
   ``Model.conf_interval()``.

- ``Model.eval_uncertainty`` now takes an optional ``dscale`` parameter (default \ 
value of 0.01) to
   set the step size for calculating derivatives

- add calculation of ``predicted_interval`` to ``Model.eval_uncertainty``

Bug fixes/enhancements:

- restore best-fit parameter values for high accuracy values of constrained values

- improvement to Model for the difference between Parameter, "independent \ 
variable", and
  "option".  With this change, keyword arguments to model functions \ 
with non-numerice
  default values such as ``do_thing=True``, or ``form='linear'`` has those arguments
  become clearly identified as independent variables,and use the provided values as
  default values.

- better saving/loading saved states of Model now use dill, have several \ 
cleanups, and
  are now versioned for future-proofing. Also, propagate funcdets for Parameters when
  loading a Model.

- in the TNC method, ``maxfun`` is used instead of ``maxiter``.

- fix bug calculating r-squared for fits with weights

- fix bug in ``modelresult.eval_uncertainty()`` after ``load_modelresult()``

- use StringIO for ``pandas.read_json``.

- add test for MinimizerResult.uvars after successful fit

- adding an example using basinhopping, can take other methods as command-line \ 
argument

Maintenance/Deprecations:

- drop support for Python 3.7 that reached EOL on 2023-06-27

- fix tests for Python 3.12 and Python 3.13-dev

- increase minimum numpy verstio to 1.23 and scipy to 1.8.

- updates for compatibility with numpy 2.0

- the ``dill`` package is now required.

- build switchded to use pyproject.toml

- fix broken links in Examples gallery

- fix intersphinx mapping to scipy docs.
   2023-08-02 01:20:57 by Thomas Klausner | Files touched by this commit (158)
Log message:
*: remove more references to Python 3.7
   2023-07-01 10:37:47 by Thomas Klausner | Files touched by this commit (105) | Package updated
Log message:
*: restrict py-numpy users to 3.9+ in preparation for update
   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
   2022-04-10 02:57:15 by David H. Gutteridge | Files touched by this commit (18)
Log message:
Fix build breakage from py-scipy now being Python >= 3.8
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS