PySINDy is a sparse regression package with several implementations for the Sparse Identification of Nonlinear Dynamical systems (SINDy) method.
If you are using Linux or macOS you can install PySINDy with pip:
pip install pysindy
First clone this repository:
git clone https://github.com/dynamicslab/pysindy
Then, to install the package, run
pip install .
If you do not have pip you can instead use
python setup.py install
If you do not have root access, you should add the --user
option to the above lines.
The documentation for PySINDy can be found here.
We welcome contributions to PySINDy. To contribute a new feature please submit a pull request. To be accepted your code should conform to PEP8 (you may choose to use flake8 to test this before submitting your pull request). Your contributed code should pass all unit tests. Upon submission of a pull request, your code will be linted and tested automatically, but you may also choose to lint it yourself invoking
pre-commit -a -v
as well as test it yourself by running
pytest
If you find a bug in the code or want to request a new feature, please open an issue.
For help using PySINDy please consult the documentation and/or our examples, or create an issue.
- Brunton, Steven L., Joshua L. Proctor, and J. Nathan Kutz. Discovering governing equations from data by sparse identification of nonlinear dynamical systems. Proceedings of the National Academy of Sciences 113.15 (2016): 3932-3937. [DOI]
- Champion, Kathleen, Peng Zheng, Aleksandr Y. Aravkin, Steven L. Brunton, and J. Nathan Kutz. A unified sparse optimization framework to learn parsimonious physics-informed models from data. arXiv preprint arXiv:1906.10612 (2019). [arXiv]