Iminuit

Latest version: v2.30.1

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

Scan your dependencies

Page 7 of 13

2.8.3

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

New features
~~~~~~~~~~~~
- ``util.propagate`` now discriminates between diverging derivates (using the value NaN
for the derivate) and non-converging derivatives (using the best value computed so far
for the derivative)

Documentation
~~~~~~~~~~~~~
- Fixes for faulty LaTeX rendering in some tutorials

Other
~~~~~
- Support cross-compiling of ARM on Conda, by henryiii

2.8.2

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

Fixes
~~~~~
- ``Minuit.draw_mncontour`` can now be used by passing a single float to keyword ``cl``,
in addition to passing a list of floats
- Use ``pybind11::ssize_t`` everywhere instead of non-standard ``ssize_t`` to fix
compilation against Python-3.10 on Windows, co-authored with cgohlke

Documentation
~~~~~~~~~~~~~
- Docstring improved for ``Minuit.mncontour``, advice added on how to draw closed curve
with points returned by ``Minuit.mncontour``
- Docstring improved for ``Minuit.draw_mncontour``, parameters and returned objects are
now properly documented

2.8.1

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

Other
~~~~~
- henryiii added Apple Silicon wheels
- odidev added Linux aarch64 wheels

2.8.0

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

Minor API change
~~~~~~~~~~~~~~~~
- ``Minuit.mncontour`` now raises ``RuntimeError`` instead of ``ValueError`` if it is
not called at a valid minimum point

New features
~~~~~~~~~~~~
- ``Minuit.mncontour`` can now be called at any point without running a minimiser before,
similar to ``Minuit.minos``

Fixes
~~~~~
- ``Minuit.mncontour`` used to fail if called twice in a row

2.7.0

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

Minor API change
~~~~~~~~~~~~~~~~
- If ``Minuit.hesse`` is called when ``Minuit.fmin`` is ``None``, an instance
``Minuit.fmin`` is now created. If Hesse fails, the code does not raise an exception
anymore, since now the error state can be accessed as usual from the ``Minuit.fmin``
object. Users who relied on the exception should check ``Minuit.fmin`` from now on.

New features
~~~~~~~~~~~~
- ``Minuit.scipy`` can be used to minimise with SciPy algorithms. These may succeed
when ``Minuit.migrad`` fails and support additional features. Some algorithms
allow one to pass a function that returns the Hessian matrix (which may be computed
analytically or via automatic differentiation provided by other libraries like JAX).
Other algorithms support minimisation under arbitrary non-linear constraints.
- ``util.FMin`` has new html/text representations; the field ``Valid parameters`` was
removed, a title with the name of the minimisation method was added
- ``Minuit.tol`` now accepts the values 0 and ``None``, the latter resets the default
- Builtin cost functions now support models that return arrays in long double precision
``float128``. In this case, all computations inside the cost function are also done in
higher precision.
- Builtin cost functions now raise a warning if the user-defined model does not return
a numpy array

Fixes
~~~~~
- Calling ``Minuit.migrad`` with a call limit under some circumstances used much more
calls than expected and did not report that the call limit was reached
(patch submitted to ROOT)
- ``Minuit.hesse`` no longer sets the status of the FunctionMinimum unconditionally
to valid if it was invalid before
- Repeated calls to ``Minuit.hesse`` no longer accumulate calls and eventually exhaust
the call limit, the call counter is now properly reset
- Calling ``Minuit.minos`` repeatedly now does not recompute the Hessian and avoids
a bug that used to exhaust the call limit before in this case

Documentation
~~~~~~~~~~~~~
- Tutorial notebooks are now fully integrated into the HTML documentation
- A tutorial on using constrained minimisation from SciPy for HEP task was added

Other
~~~~~
- ``util.BasicView`` is now a proper abstract base class

2.6.1

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

Fixes
~~~~~
- Calling ``Minuit.fixed[...] = False`` on parameter that was not fixed before
lead to undefined behaviour in Minuit2 C++ code (patch submitted to ROOT)

Other
~~~~~
- Upgrade Minuit2 C++ code to latest ROOT master with simplified internal class
structure and class tags replaced with enums

Page 7 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.