feat(optimal_control): implement Kalman filter module with Python bindings

- Add kalman_filter.rs with LinearKF, RTSSmoother, UKF implementations
- Add kalman_py_bindings.rs for Python API exposure
- Create tutorial notebook with 3 real-world examples (vehicle tracking, financial time series, multi-sensor fusion)
- All tests passing with excellent results (63-88% RMSE improvements)
- Fix compilation errors in py_bindings.rs (type annotations, imports)
- Successfully builds with maturin develop --release
This commit is contained in:
Melvin Alvarez
2026-01-23 18:38:02 +01:00
parent 5f6bf5798c
commit 1e88ba5bb6
7 changed files with 2370 additions and 6 deletions
+11
View File
@@ -32,9 +32,16 @@
//! 2. Upwind schemes for stability
//! 3. Iterative convergence to viscosity solution
pub mod backtest;
pub mod hjb_solver;
pub mod jump_diffusion;
pub mod kalman_filter;
#[cfg(feature = "python-bindings")]
pub mod kalman_py_bindings;
pub mod mrsjd;
pub mod ou_estimator;
#[cfg(feature = "python-bindings")]
pub mod py_bindings;
pub mod regime_switching;
pub mod viscosity;
@@ -42,6 +49,10 @@ pub use hjb_solver::{HJBConfig, HJBResult, HJBSolver};
pub use jump_diffusion::{
JumpDiffusionConfig, JumpDiffusionResult, JumpDiffusionSolver, JumpDistribution,
};
pub use kalman_filter::{
FilterResult, KalmanFilter, KalmanState, LinearObservation, LinearStateTransition,
ObservationModel, RTSSmoother, SmootherResult, StateTransitionModel, UnscentedKalmanFilter,
};
pub use mrsjd::{MRSJDConfig, MRSJDResult, MRSJDSolver, RegimeJumpParameters};
pub use regime_switching::{
RegimeParameters, RegimeSwitchingConfig, RegimeSwitchingResult, RegimeSwitchingSolver,