[
https://issues.apache.org/jira/browse/MATH-1142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Neidhart resolved MATH-1142.
-----------------------------------
Resolution: Fixed
Fixed in commit d5f586bd4e1a20fc09a33aaa5c2b9320f4a2aa72.
Thanks for the report!
> 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
> Labels: performance
> Fix For: 3.4
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> 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.3.4#6332)