Arne, I think you are correct.
On Mon, Aug 4, 2014 at 7:34 AM, Arne Schwarz <[email protected]> wrote: > 2014-08-04 13:43 GMT+02:00 Gilles <[email protected]>: > > On Sun, 3 Aug 2014 18:18:24 +0200, Arne Schwarz wrote: > >> > >> Hi, > >> > >> I saw that to calculate the gain matrix the actual inverse of the > >> residual covariance matrix is calculated. Wouldn't it be faster to use > >> for example a Cholesky decomposition to solve the linear system? Since > >> a covariance matrix is always symmetric and at least positive > >> semi-definite. > > > > > > Reading the code (in class "MatrixUtils"), it looks like QR decomposition > > is used; any problem with that choice? > > > > Regards, > > Gilles > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > What I meant was these lines in class "KalmanFilter": > > 363 // invert S > 364 RealMatrix invertedS = MatrixUtils.inverse(s); > 365 > 366 // Inn = z(k) - H * xHat(k)- > 367 RealVector innovation = > z.subtract(measurementMatrix.operate(stateEstimation)); > 368 > 369 // calculate gain matrix > 370 // K(k) = P(k)- * H' * (H * P(k)- * H' + R)^-1 > 371 // K(k) = P(k)- * H' * S^-1 > 372 RealMatrix kalmanGain = > errorCovariance.multiply(measurementMatrixT).multiply(invertedS); > > I thought it would be better to directly solve the system an not > calculate the inverse separately, but I may be wrong. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
