Symfit Versions Save

Symbolic Fitting; fitting as it should be.

0.5.6

1 year ago
  • Switched scipy.integrate.odeint for the more modern scipy.integrate.solve_ivp. This greatly expands the possible ODE solvers one can use. By default, we still use odeint's LSODA with the old settings so existing code is not affected.
  • Significant clean-up of the code base by removing some features which were once introduced to support both py2.7 and py3.x.

0.5.5

2 years ago
  • Fixed critical pickling bug caused by a change in sympy's pickling (#342).
  • Minor bug fixes.

0.5.4

2 years ago
  • Changed licence from GNU to MIT.
  • Added python 3.9 support, dropped python 3.5.
  • Add jupyter latex printing.
  • Remove leastsqbound.py, adapt MINPACK minimizer to use scipy.optimize.least_squares.
  • Improved pickling.
  • Improved various tests.
  • Various bugfixes.

0.5.3

3 years ago

Bugfix release.

Most importantly this fixes the printing of HadamardPower objects, relaxes demands on the scipy version, and switches from unittest to pytest.

0.5.2

4 years ago

Symfit 0.5.2 offers a fantastic new feature: ODEModels now also accept parameter objects as initial values, allowing them to be optimized as well! Additionally it undoes some of the performance penalties that were accidentally introduced in 0.5.0-0.5.1, making it as fast again as the 0.4.x series.

Full changelog:

  • ODEModels can now use parameters for their initial values, so these can be optimized during the fitting!
  • Hessian and jacobian models are now generated lazily to prevent slow model building.
  • The output of models was a namedtuple, which has a limit to the amount of arguments in older python versions. This has therefore been replaced by a custom tuple subclass called ModelOutput.
  • Numerous small big fixes
  • Documentation improvements

0.5.1

5 years ago

Bugfix release:

  • Global likelihood fitting now works as advertised.
  • CallableNumericalModel's now only need the connectivity_mapping for non-analytical components.
  • Printing of special functions like bessel functions now works.
  • Fixed a bug in the printing of matrix multiplication.
  • General improvements to the documentation.

0.5.0

5 years ago

The long awaited symfit 0.5.0 is here. And it was worth the wait, because it has got some very significant improvements over previous versions, including:

  • Hessian minimizer trust-constr added, and all our models and objectives support hessian minimizers fully.
  • The components of models can now depend on each other, which greatly improves readability, allows for more creative definition of models, and means that expensive to calculate intermediates can be reused by other components.
  • MatrixSymbols are now supported, meaning a vast number of Matrix equations can now also be fitted with great ease.
  • Improved printing of fit results.
  • Better checking if data is provided for all variables.
  • BivariateGaussian added as a predefined distribution.
  • A whole sway of minor and mayor bug fixes.

0.4.6

5 years ago

A simple but important new version of symfit: we have made symfit multiprocessing compatible, finally delivering on that long standing promise of scalability.

0.4.5

5 years ago

Most important change is an improvement of the documentation by including examples in the docs, and the new feature CallableNumericalModel. With this feature, symfit can now also fit arbitrary python callables, while still allowing users access to the convenient symfit API.

0.4.4

5 years ago

Proudly presenting symfit 0.4.4, the best version of symfit to date.

Biggest changes:

  • Introduction of the BasinHopping minimizer, a wrapper around scipy's basinhopping.
  • Huge performance upgrade by making sure sympy code is translated to scipy compatible code only once per model.
  • Fixed an issue with using constraints and bounds at the same time.
  • parameter convenience method now allows you to set values etc immediately.