It has been nearly three years since the last release of pysindy.
There were a variety of typing holes or incompatibility with
scikit-learn that required breaking backwards compatibility
to fix. Moreover, much documentation was not testable. This
meant that docs were frequently broken on backwards-incompatible
changes.
In the interim, the only solution was to use the master branch
and keep up to date with the repo changes. Now, however, there's
a place to archive old example notebooks, and enough of the
necessary incompatible changes are made. So it's possible to maintain a
2.x branch and continue to improve documentation.
TL;DR: Several new optimizers, feature library & differentiation improvements, smaller call signatures for pysindy model, simpler constraints.
What's Changed
- PyProject-centric Build System with Setuptools in #332
- Save DifferentiationMethod smoothed values in #244
- Simpler inputs in #362
- Implicit multiple trajectories in #376
- Move
unbias
argument fromSINDy.fit()
toBaseOptimizer
in #380 - BUG Fixed coef_ for sparse_indices in #385
- CLN: Remove fit_intercept in optimizers in #388
- Allow STLSQ to only sparsify/regularize a subset of indices in #408
- feat(optimizers): Enable pickling of MIOSR optimizer in #458
- Make AxesArray handle slicing correctly in #451
- Bayesian SINDy in #440
- Make TrappingSR3 a subclass of ConstrainedSR3 in #435
- Differentiation of Multidimensional Arrays in SINDyDerivative in #476
- BUG: #414 remove user warning suppression in #528
- CLN(pde_library): remove unused constructor argument in #537
- ENH: #455 Make IdentityLibrary a subclass of Polynomial Library in #533
- Trapping, extended to (a) enstrophy, and (b) local trapping in #536
- ENH: #448 print flush in #527
- CI: Add raw build and import step (should fail) in #543
- BUG #394 fix prox and regularization in #544
- ENH(sr3): refactor threshold and thresholder property in #548
- Fix ssr in #559
- Extract common functionality from
SINDy
to_BaseSINDy
in #562 - Pickle SR3 and subordinate classes in #586
- BLD: Limit numpy to <2.0 in #596
- Fix default n_subset based on replace flag (bootstrap logic) in #618
- Make FROLS.history_ as a list in #619
- Issue 386 Fix: Remove
t_default
and requiret
passed explicitly in SINDY.fit() and SINDY.score() in #628 - Move feature_names from SINDy.init() to SINDy.fit() in #635
New Contributors
- @ludgerpaehler made their first contribution in #332
- @yb6599 made their first contribution in #371
- @mikkelbue made their first contribution in #440
- @himkwtn made their first contribution in #528
- @nehalsinghmangat made their first contribution in #559
- @s-kat0 made their first contribution in #618
Full Changelog: v1.7.5...v2.0.0