Search code examples
mathmatrix-inversekalman-filter

Kalman filter innovation residual inversion


I'm trying to implement a Kalman filter in a computationally efficient way. The main issue is the inversion of the innovation residual:

  S=HPH^t+R

  K=PH^t*inv(S)

My question is, can one assume that the S matrix in positive definite? This would make inverting it more computationally efficient....


Solution

  • Yes, S is symmetric positive definite as mentioned here, and also how it can be automatically recognized:

    I find that presentation fascinating!


    EDIT: I have done a little research and it turns out one has to be very careful when implementing the Kalman-Filter in order to retain the symmetric positive definiteness. Keywords: "stabilized Kalman filter" and "Josepf form". See for example Linear-Optimal Estimation for Discrete-Time Systems, page 7 or Understanding and Applying Kalman Filtering, page 28.

    To address bits_international's comment, see Under what circumstance will a covariance matrix be positive semi-definite rather than positive definite? or page 7 in Understanding and Applying Kalman Filtering. In short, it is positive definite unless there is a linear dependence among the components.