Releases: tBuLi/symfit
symfit 0.5.6
- Switched
scipy.integrate.odeint
for the more modernscipy.integrate.solve_ivp
. This greatly expands the possible ODE solvers one can use. By default, we still useodeint
'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.
symfit 0.5.5
- Fixed critical pickling bug caused by a change in sympy's pickling (#342).
- Minor bug fixes.
symfit 0.5.4
- 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.
symfit 0.5.3
Bugfix release.
Most importantly this fixes the printing of HadamardPower
objects, relaxes demands on the scipy version, and switches from unittest to pytest.
symfit 0.5.2
Symfit 0.5.2 offers a fantastic new feature: ODEModel
s 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
symfit 0.5.1
Bugfix release:
- Global likelihood fitting now works as advertised.
CallableNumericalModel
's now only need theconnectivity_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.
symfit 0.5.0
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.
symfit 0.4.6
A simple but important new version of symfit
: we have made symfit
multiprocessing compatible, finally delivering on that long standing promise of scalability.
symfit 0.4.5
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.
symfit 0.4.4
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.