Square root cubature Kalman filter gain K_k directly without the need for a matrix inversion:
Efficient least-squares: The least-squares method is used to compute the Kalman filter gain. If we substitute the innovation covariance matrix by its square-root representation we get the following expression:
Kk (Syy,k|k-1Syy,k|k-1T) = Pxy,k|k-1
The square root cubature Kalman filter use the symbol / (as it is a common notation in Matlab), to represent the matrix right divide operator. When we perform the operation A/B, it applies the back substitution algorithm for an upper triangular matrix B and the forward sub- stitution algorithm for a lower triangular matrix B:
Kk= (Pxy,k|k-1/Syy,k|k-1T )/Syy,k|k-1
Now the it seems that the problem of matrix inversion is overcome, but I still get in this message in the Matlab command for some state estimation problems:
Warning: Matrix is singular to working precision
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate
Is this expression of the Kalman gain can hold even when Syy,k|k-1 or Syy,k|k-1T are singular or nearly singular?