A few weeks ago I started a series of posts on various things you could do with a functional fold. In the first post I mentioned that the idea came from a paper by Brian Beckman on Kalman filters and folds:

This post was inspired by a paper by Brian Beckman (in progress) that shows how a Kalman filter can be implemented as a fold. From a Bayesian perspective, the thing that makes the Kalman filter work is that a certain multivariate normal model has a conjugate prior. This post shows that conjugate models more generally can be implemented as folds over the data. That’s interesting, but what does it buy you? Brian’s paper discusses this in detail, but one advantage is that it completely separates the accumulator function from the data, so the former can be tested in isolation.

At the time Brian was working on one big paper in private. This has since been split into several papers and they’re now public.

- Kalman Folding, Part 1
- Kalman Folding 2: Tracking and System Dynamics
- Kalman Folding 3: Derivations
- Kalman Folding 4: Streams and Observables
- Kalman Folding 5: Non-Linear models and the EKF
- Kalman Folding 6: ??
- Kalman Folding 7: A Small Streams Library

## One thought on “Kalman filters and functional programming”