Pysindy

Latest version: v1.7.5

Safety actively analyzes 685838 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

1.3.0

Major changes
This release introduces the `ConstrainedSR3` optimizer. This is an enhanced version of the `SR3` optimizer which allows one to specify *linear equality constraints* on the learned coefficients.

For example, if you know that the equations you are trying to learn look like
text
x' = a + by
y' = c - bx

(i.e. that the coefficient on y should be the negative of the coefficient on x), you could enforce that constraint using `ConstrainedSR3`.

Additionally, `ConstrainedSR3` allows you to specify a different threshold parameter for each library function coefficient. This is an improvement on our other optimizers which all take a fixed regularization constant that is applied uniformly to all coefficients. You can use this feature to choose a higher threshold for, say, quadratic interaction terms like `x*x` or `x*y` than you do for linear terms, for example.

We also have added a [notebook](https://github.com/dynamicslab/pysindy/blob/master/examples/7_plasma_example.ipynb) demonstrating these new features on a real world plasma dataset.

Other Updates
* Fix bug with extrapolating control inputs outside of original time domain with `SINDy.simulate`
* It is now possible to specify an initial guess for coefficients with the `STLSQ` and `SR3` optimizers
* Added some fancy plots to the differentiation notebook
* Minor bug fixes

1.2.2

This release fixes a minor issue causing `SINDy.simulate` to fail when vectors of control inputs are passed in (see 94).

1.2.1

The main update in this release is the addition of two objects meant to conform to the API for [Sckit-time](https://scikit-time.github.io/): `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

1.2.0

This release implements the `SINDyDerivative` class, which allows one to use differentiation methods from the [derivative](https://derivative.readthedocs.io/en/latest/) 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](https://www.hindawi.com/journals/isrn/2011/164564/) (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](https://pysindy.readthedocs.io/en/latest/examples/5_differentation.html) comparing all the differentiation options available in PySINDy
* An example showing how to optimize parameters of `derivative` objects with cross-validation

1.1.0

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.

1.0.3

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.

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.