commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arne Schwarz (JIRA)" <j...@apache.org>
Subject [jira] [Created] (MATH-1142) Kalman filter gain calculation
Date Tue, 05 Aug 2014 22:51:15 GMT
Arne Schwarz created MATH-1142:
----------------------------------

             Summary: Kalman filter gain calculation
                 Key: MATH-1142
                 URL: https://issues.apache.org/jira/browse/MATH-1142
             Project: Commons Math
          Issue Type: Improvement
    Affects Versions: 3.3
            Reporter: Arne Schwarz
            Priority: Minor
             Fix For: 3.4


In the class KalmanFilter in the function correct(RealMatrix) the gain matrix currently is
calculated via first calculating the inverse of the residual covariance matrix s. I think
it would be more effective to calculate the gain by directly solving the linear system with
an QR or Cholesky decomposition.
For example like this (maybe replace "Cholesky" by "QR"):
// calculate gain matrix
// K(k) = P(k)- * H' * (H * P(k)- * H' + R)^-1
// K(k) = P(k)- * H' * S^-1
// K(k) * S = P(k)- * H'
// S' * K(k)' = H * P(k)-'
RealMatrix kalmanGain = new CholeskyDecomposition(s).getSolver().solve(measurementMatrix.multiply(errorCovariance.transpose())).transpose();




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message