Mzfit

Latest version: v0.1

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

Scan your dependencies

Page 1 of 6

2.1

Major Features and Improvements
-------------------------------

- Fixed the comparison in caching the graph (implementation detail) that leads to an error.

0.8.1

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

Major Features and Improvements
-------------------------------
- allow `FitResult` to `freeze()`, making it pickleable. The parameters
are replaced by their name, the objects such as loss and minimizer as well.
- improve the numerical integration by adding a one dimensional efficient integrator, testing for the accuracy of
multidimensional integrals. If there is a sharp peak, this maybe fails to integrate and the number of points
has to be manually raised
- add highly performant kernel density estimation (mainly contributed by Marc Steiner)
in 1 dimension which allow
for the choice of arbitrary kernels, support
boundary mirroring of the data and allow for large (millions) of data samples:
- :class:`~zfit.pdf.KDE1DimExact` for the normal density estimation
- :class:`~zfit.pdf.KDE1DimGrid` using a binning
- :class:`~zfit.pdf.KDE1DimFFT` using a binning and FFT
- :class:`~zfit.pdf.KDE1DimISJ` using a binning and an algorithm (ISJ) to solve the optimal bandwidth

For an introduction, see either :ref:`sec-kernel-density-estimation` or the tutorial :ref:`sec-components-model`

- add windows in CI

Breaking changes
------------------
- the numerical integration improved with more sensible values for tolerance. This means however that some fits will
greatly increase the runtime. To restore the old behavior globally, do
for each instance `pdf.update_integration_options(draws_per_dim=40_000, max_draws=40_000, tol=1)`
This will integrate regardless of the chosen precision and it may be non-optimal.
However, the precision estimate in the integrator is also not perfect and maybe overestimates the error, so that
the integration by default takes longer than necessary. Feel free to play around with the parameters and report back.


Bug fixes and small changes
---------------------------
- Double crystallball: move a minus sign down, vectorize the integral, fix wrong output shape of pdf
- add a minimal value in the loss to avoid NaNs when taking the log of 0
- improve feedback when taking the derivative with respect to a parameter that
a function does not depend on or if the function is purely Python.
- make parameters deletable, especially it works now to create parameters in a function only
and no NameAlreadyTakenError will be thrown.


Requirement changes
-------------------

- add TensorFlow 2.6 support (now 2.5 and 2.6 are supported)

Thanks
------
- Marc Steiner for contributing many new KDE methods!

0.7.2

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

Bug fixes and small changes
---------------------------
- fix wrong arguments to `minimize`
- make BaseMinimizer arguments optional

0.7.1

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


Bug fixes and small changes
---------------------------
- make loss callable with array arguments and therefore combatible with iminuit cost functions.
- fix a bug that allowed FitResults to be valid that are actually invalid (reported by Maxime Schubiger).

0.7.0

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

Major Features and Improvements
-------------------------------
- add Python 3.9 support
- upgrade to TensorFlow 2.5

Bug fixes and small changes
---------------------------
- Scipy minimizers with hessian arguments use now `BFGS` as default


Requirement changes
-------------------

- remove Python 3.6 support

0.6.6

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

Update ipyopt requirement < 0.12 to allow numpy compatible with TensorFlow

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.