Pysindy

Latest version: v1.7.5

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

Scan your dependencies

Page 3 of 6

1.5.1

This release fixes a minor bug in the README file which prevented the previous release from being properly deployed to PyPI.

1.5

This release introduces a wide range of new and advanced functionality for PySINDy users, which enables the identification of implicit differential equations (SINDy-PI), partial differential equations (PDE-FIND), and weak-formulation differential equations for both ODEs and PDEs. Several new sparse regression optimizers are added, system identification with inequality constraints is now implemented, and ensembling methods are available with all the optimizers, significantly improving performance on noisy data. We include several new Jupyter notebook examples where these advanced features are explained and used for system identification, and additionally revamp a number of existing example notebooks.

References
- Please see [this paper](https://arxiv.org/abs/2111.08481) for an overview of all the new tools available in this new release.
- See [this Youtube playlist](https://www.youtube.com/playlist?list=PLN90bHJU-JLoOfEk0KyBs2qLTV7OkMZ25) for tips on using pysindy in practice and examples of new functionality.

Other updates
- Added a `TensoredLibrary` class which allows one to combine two feature libraries together by taking all possible pairs of terms and use multiplication syntax like `PolynomialLibrary() * FourierLibrary()`.
- Additionally, we implement a `GeneralizedLibrary` class for concatenating and tensoring N different feature libraries together. Also allows each of the feature libraries to only use a subset of the input variables, and users can specify which of the libraries to tensor product together, for maximum flexibility (see Issue 134).
- All optimizers now have the `normalize_columns` parameter, which normalizes each column of the feature library to magnitude 1 before performing the optimization. This often helps on systems with a wide range of scales.
- The scikit-learn bug mentioned in Issues 124, 129, 130, and 131 is now fixed, so users can use PySINDy with scikit-learn versions >= 1.0.
- The `normalize` option previously provided by our optimizers is deprecated. Please use the `normalize_columns` argument instead.
- A large number of common ODEs have been added to the utils/odes.py file for reuse, and we would be happy if users would like to add additional systems.
- PySINDy has switched default ODE solvers from `odeint` to `solve_ivp`. Note that `solve_ivp` defaults to the RK45 numerical solver. To reproduce old examples that used `odeint`, use `solve_ivp` with the following argument: method='LSODA', `atol` and `rtol` below 1e-12. This is the default behavior when calling `SINDy.simulate`.

1.4.3

This release simply moves `cvxpy` from an optional dependency to a required one. This package is needed to use the `TrappingSR3` optimizer.

1.4.2

This version removes auxiliary data files needed only for examples to make PySINDy small enough to deploy on PyPI.

1.4.1

This release fixes a minor bug in the README file which prevented the previous release from being properly deployed to PyPI.

1.4.0

This release introduces the `TrappingSINDy` optimizer, which "enables the identification of models that, by construction, only produce bounded trajectories." To use `TrappingSINDy` you will need to install the [cvxpy](https://www.cvxpy.org/) package.
It includes a new notebook where `TrappingSINDy` is applied to standard fluid dynamics problems.

Please see [this paper](https://arxiv.org/abs/2105.01843) for more details about the new method.

**Starting with this release, PySINDy will begin requiring Python 3.7 or above.**

Other updates
* Bug fix for `SINDy.simulate` for discrete systems with multiple control inputs

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.