sspy
serves as a Python library to bring together implementations of solving state space models, particularly methods that learn system dynamics. The library is being implemented as part of an ongoing survey into learning state space dynamics. At present, the basic utilities for working with state space implementing filters and smoothers are being implemented. Later, implementations of papers will be added and benchmarked.
This repository is primarily hosted and maintained on GitLab with the GitHub-hosted repository serving as a secondary remote. Issues, comments and pull requests may be made via either repository.
The base of this library is inspired by the EKF/UKF Toolbox for MATLAB by Särkkä, Hartikainen, and Solin.
- Kalman filters
- Linear-discrete KF
- First-order extended KF
- Second-order extended KF
- Unscented KF
- Rauch-Tung-Striebel (/Kalman) smoothers
- Linear-discrete RTS
- First-order extended RTS
- Second-order extended RTS
- Unscented RTS
- Dynamic function evaluation, taking method handles, lambda expressions or linear systems as numpy matrices and applying it to column vector and control
- Unscented transform
- Basic estimate plotting
- Noisy and noiseless system model generators
This list is vague, while the review is in development.
- Sequential Monte Carlo / particle filters smoothers
- Kernel-embedded conditional distributions
- Gaussian process state space models
- "Deep" implementations
- e.g. Kalman VAEs, Backprop KF
- Implicit models
These libraries are more complete at present, but do not cover the intended scope.