Lmfit

Latest version: v1.3.1

Safety actively analyzes 623909 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

1.3.1

1.3.0

----------------------------------------------

New features:

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

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

- add calculation of ``predicted_interval`` to ``Model.eval_uncertainty`` (PR 933).


Bug fixes/enhancements:

- restore best-fit parameter values for high accuracy values of constrained values (PR 907)

- 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. (PR 941)

- 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. (PR 932, PR 934)

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

- fix bug calculating r-squared for fits with weights (PR 921, PR 923)

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

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

- add test for MinimizerResult.uvars after successful fit (PR 913)

- 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 (PR 927)

- 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. (940)

- build switchded to use pyproject.toml (928)

- fix broken links in Examples gallery

- fix intersphinx mapping to scipy docs.

1.2.2

=================================================

New features:

- add ``ModelResult.uvars`` output to a ``ModelResult`` after a successful fit
that contains ``ufloats`` from the ``uncertainties`` package which can be
used for downstream calculations that propagate the uncertainties (and
correlations) of the variable Parameters. (PR 888)

- Outputs of residual functions, including ``Model._residual``, are more
explicitly coerced to 1d-arrays of dataype Float64. This decreases the
expectation for the user-supplied code to return ndarrays, and increases the
tolerance for more "array-like" objects or ndarrays that are not Float64 or
1-dimensional. (PR 899)

- ``Model.fit`` now takes a ``coerce_farray`` option, defaulting to ``True`` to
control whether to input data and independent variables that are "array-like"
are coerced to ndarrays of datatype Float64 or Complex128. If set to
``False`` then independent data that "array-like" (``pandas.Series``, int32
arrays, etc) will be sent to the model function unaltered. The user may then
use other features of these objects, but may also need to explicitly coerce
the datatype of the result the change described above about coercing the
result causes problems. (Discussion 873; PR 899)

Bug fixes/enhancements:

- fixed bug in ``Model.make_params()`` for non-composite models that use a
prefix (Discussion 892; Issue 893; PR 895)

- fixed bug with aborted fits for several methods having incorrect or invalid
fit statistics. (Discussion 894; Issue 896; PR 897)

- ``Model.eval_uncertainty`` now correctly calculates complex (real/imaginary pairs)
uncertainties for Models that generate complex results. (Issue 900; PR 901)

- ``Model.eval`` now returns and array-like value. This adds to the coercion
features above and fixes a bug for composite models that return lists (Issue 875; PR 901)

- the HTML representation for a ``ModelResult`` or ``MinimizerResult`` are
improved, and create fewer entries in the Table of Contents for Jupyter lab.
(Issue 884; PR 883; PR 902)

1.2.2rc1

1.2.1

=================================================

Bug fixes/enhancements:

- fixed bug in ``Model.make_params()`` for initial parameter values that were
not recognized as floats such as ``np.Int64``. (Issue 871; PR 872)

- explicitly set ``maxfun`` for ``l-bfgs-b`` method when setting
``maxiter``. (Issue 864; Discussion 865; PR 866)

1.2.0

New features:

- add ``create_params`` function (PR 844)
- add ``chi2_out`` and ``nsigma`` options to ``conf_interval2d()``
- add ``ModelResult.summary()`` to return many resulting fit statistics and attributes into a JSON-able dict.
- add ``correl_table()`` function to ``lmfit.printfuncs`` and ``correl_mode`` option to ``fit_report()`` and
``ModelResult.fit_report()`` to optionally display a RST-formatted table of a correlation matrix.

Bug fixes/enhancements:

- fix bug when setting ``param.vary=True`` for a constrained parameter (Issue 859; PR 860)
- fix bug in reported uncertainties for constrained parameters by better propating uncertainties (Issue 855; PR 856)
- Coercing of user input data and independent data for ``Model`` to float64 ndarrays is somewhat less aggressive and
will not increase the precision of numpy ndarrays (see :ref:`model_data_coercion_section` for details). The resulting
calculation from a model or objective function is more aggressively coerced to float64. (Issue 850; PR 853)
- the default value of ``epsfcn`` is increased to 1.e-10 to allow for handling of data with precision less than float64
(Issue 850; PR 853)
- fix ``conf_interval2d`` to use "increase chi-square by sigma**2*reduced chi-square" to give the ``sigma``-level
probabilities (Issue 848; PR 852)
- fix reading of older ``ModelResult`` (Issue 845; included in PR 844)
- fix deepcopy of ``Parameters`` and user data (mguhyo; PR 837)
- improve ``Model.make_params`` and ``create_params`` to take optional dict of Parameter attributes (PR 844)
- fix reporting of ``nfev`` from ``least_squares`` to better reflect actual number of function calls (Issue 842; PR 844)
- fix bug in ``Model.eval`` when mixing parameters and keyword arguments (PR 844, 839)
- re-adds ``residual`` to saved ``Model`` result (PR 844, 830)
- ``ConstantModel`` and ``ComplexConstantModel`` will return an ndarray of the same shape as the independent variable
``x`` (JeppeKlitgaard, Issue 840; PR 841)
- update tests for latest versions of NumPy and SciPy.
- many fixes of doc typos and updates of dependencies, pre-commit hooks, and CI.

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.