Releases: dynamicslab/pysindy
Expanded derivative options
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
This release enables much easier cross-validation of SINDy
models using Scikit-learn cross-validation tools. Major changes include:
t_default
parameter added to theSINDy
class. This parameter specifies the default time step that should be used whenever thet
argument of aSINDy
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
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
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
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
Remove extraneous print statement
Removes an extraneous print statement put in the code for debugging purposes.
Enable control input interpolation
- Expand allowable set of control input functions accepted by the
u
keyword argument ofSINDy.simulate
to include interpolating functions - Relax optimizer complexity test
Polish documentation
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
SINDy with control
This release adds functionality for performing SINDy with control inputs (SINDYc). It also implements concatenation of feature libraries via the + operator.
Minor changes:
- SINDy constructor properly instantiates
optimizer
,differentiation_method
, andfeature_library
- improved discrete time input handling
- Updated README
- Various documentation typos fixed