#filter #data #kalman #regression #learning

recless

A Rust implementation of the recursive least squares algorithm with exponential forgetting

6 releases

Uses old Rust 2015

0.3.0 Aug 8, 2017
0.2.0 Jul 18, 2017
0.1.3 May 6, 2017

#11 in #filters

MIT/Apache

8KB
114 lines

Recursive Least Squares in Rust

This library implements the Recursive Least Squares algorithm with exponential forgetting. See Haykin's Adaptive Filter Theory for details.

It is using ndarray for its vector and matrix data structures.

Recent releases

  • 0.3.0: Dependency bump & don't choose blas backend, but let the consumer of the library decide which to link
  • 0.2.0: Bump all dependencies
  • 0.1.3:
    • the gain vector is now correctly calculated and not based on its old value;
    • the inverse correlation matrix is updated 10 times faster by moving from ?gemm to ?ger, the outer vector product;
  • 0.1.2: the inverse correlation matrix is now correctly initialized as δ^{-1} · 𝟙
  • 0.1.1: use ndarrays Zip/NdProducer functionality via the azip! macro for performance;
  • 0.1.0: initial release.

License

Dual-licensed under Apache 2.0 and MIT licenses to be compatible with the Rust project.

Dependencies

~2MB
~44K SLoC