Skip to content

Releases: dynamicslab/pysindy

Scikit-time objects

19 Sep 00:52
Compare
Choose a tag to compare

The main update in this release is the addition of two objects meant to conform to the API for Sckit-time: SINDyEstimator and SINDyModel. We also added a notebook showing how these two objects may be used.

We also made some other minor changes:

  • Add support for vector arguments for control inputs to SINDy.simulate (previously control inputs had to be callable)
  • Removed extraneous n_jobs parameter from the SINDy class
  • Added tests for SR3 trimming options
  • Updated some docstrings
  • Restructure examples/README content
  • Minor formatting updates for the new version of black

Expanded derivative options

30 Aug 01:06
e4f7b47
Compare
Choose a tag to compare

This release implements the SINDyDerivative class, which allows one to use differentiation methods from the derivative package. This will enable the application of SINDy to much noisier datasets.

Note that PySINDy now requires the derivative package.

derivative includes the following numerical differentiation techniques:

  • Spectral derivatives (via the FFT)
  • Spline-based derivatives
  • Finite differences of arbitrary order
  • Polynomial least-squares (Savitzky-Golay)
  • Total variation regularized derivative (the method recommended in the original SINDy paper)

This release also contains some improvements to the documentation:

  • Example using SINDyDerivative in the Feature Overview notebook
  • A new notebook comparing all the differentiation options available in PySINDy
  • An example showing how to optimize parameters of derivative objects with cross-validation

Cross-validation

15 Jul 23:56
b88cc80
Compare
Choose a tag to compare

This release enables much easier cross-validation of SINDy models using Scikit-learn cross-validation tools. Major changes include:

  • t_default parameter added to the SINDy class. This parameter specifies the default time step that should be used whenever the t argument of a SINDy method is not used.
  • New notebook demonstrating cross-validation and other examples combining Scikit-learn and PySINDy objects.

More details can be found in #84.

Bug fix: Require Scikit-learn 0.23

07 Jul 17:43
a3b2796
Compare
Choose a tag to compare

PySINDy now requires Scikit-learn version 0.23 instead of 0.21. There are also some minor bug fixes included in this release related to checking when optimizers have been fit.

Bug fix: Make scoring consistent with sklearn

30 Jun 17:17
Compare
Choose a tag to compare

This release makes the SINDy.score function better conform to the call signature of metrics from sklearn.metrics. Resolves #80.

Bug fix: Make compatible with sklearn 0.21

23 Jun 18:35
Compare
Choose a tag to compare

Fixes a minor bug in the CustomLibrary class for earlier releases of Scikit-learn (e.g. 0.21). Scikit-learn version 0.23 (the latest version) does not have this issue.

First official PySINDy release

18 May 18:06
Compare
Choose a tag to compare

This is PySINDy's first major release, including source code, documentation-generating scripts, examples, unit tests, and a markdown version of the PySINDy JOSS submission. This release includes a DOI via Zenodo:

DOI

Remove extraneous print statement

04 May 23:23
Compare
Choose a tag to compare
Pre-release

Removes an extraneous print statement put in the code for debugging purposes.

Enable control input interpolation

04 May 23:06
Compare
Choose a tag to compare
Pre-release
  • Expand allowable set of control input functions accepted by the u keyword argument of SINDy.simulate to include interpolating functions
  • Relax optimizer complexity test

Polish documentation

04 May 21:12
Compare
Choose a tag to compare
Polish documentation Pre-release
Pre-release

Documentation improvements:

  • Fixed formatting of class attributes on documentation site
  • Better code formatting for SINDy method docstrings
  • Add missing class attributes to docstrings

Code improvements:

  • More robust complexity test
  • Add missing attributes to SINDy class, optimizers, and feature libraries