KalmanCh Class Reference

Kalman filter in square root form. More...

#include <libKF.h>

Inheritance diagram for KalmanCh:

Inheritance graph
[legend]
Collaboration diagram for KalmanCh:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 KalmanCh (RV rvx0, RV rvy0, RV rvu0)
 Default constructor.
void set_parameters (const mat &A0, const mat &B0, const mat &C0, const mat &D0, const chmat &R0, const chmat &Q0)
 Set parameters with check of relevance.
void set_est (const vec &mu0, const chmat &P0)
 Set estimate values, used e.g. in initialization.
void bayes (const vec &dt)
 Here dt = [yt;ut] of appropriate dimensions.
const epdf_epdf () const
 access function
const enorm< chmat > * _e () const
 Returns a pointer to the epdf representing posterior density on parameters. Use with care!
mat & __K ()
 access function
vec _dP ()
 access function
virtual void bayesB (const mat &Dt)
 Batch Bayes rule (columns of Dt are observations).
virtual double logpred (const vec &dt) const
vec logpred_m (const mat &dt) const
 Matrix version of logpred.
virtual epdfpredictor (const RV &rv) const
 Constructs a predictive density (marginal density on data).
const RV_rv () const
 access function
double _ll () const
 access function
void set_evalll (bool evl0)
 access function
virtual BM_copy_ (bool changerv=false)

Protected Attributes

mat preA
 pre array (triangular matrix)
mat postA
 post array (triangular matrix)
RV rvy
 Indetifier of output rv.
RV rvu
 Indetifier of exogeneous rv.
int dimx
 cache of rv.count()
int dimy
 cache of rvy.count()
int dimu
 cache of rvu.count()
mat A
 Matrix A.
mat B
 Matrix B.
mat C
 Matrix C.
mat D
 Matrix D.
chmat Q
 Matrix Q in square-root form.
chmat R
 Matrix R in square-root form.
enorm< chmatest
 posterior density on $x_t$
enorm< chmatfy
 preditive density on $y_t$
mat _K
 placeholder for Kalman gain
vec & _yp
 cache of fy.mu
chmat_Ry
 cache of fy.R
vec & _mu
 cache of est.mu
chmat_P
 cache of est.R
RV rv
 Random variable of the posterior.
double ll
 Logarithm of marginalized data likelihood.
bool evalll
 If true, the filter will compute likelihood of the data record and store it in ll . Set to false if you want to save computational time.


Detailed Description

Kalman filter in square root form.

Member Function Documentation

void KalmanCh::bayes ( const vec &  dt  )  [virtual]

Here dt = [yt;ut] of appropriate dimensions.

The following equality hold::

\[ \left[\begin{array}{cc} R^{0.5}\\ P_{t|t-1}^{0.5}C' & P_{t|t-1}^{0.5}CA'\\ & Q^{0.5}\end{array}\right]<\mathrm{orth.oper.}>=\left[\begin{array}{cc} R_{y}^{0.5} & KA'\\ & P_{t+1|t}^{0.5}\\ \\\end{array}\right]\]

Thus this object evaluates only predictors! Not filtering densities.

Reimplemented from Kalman< chmat >.

Reimplemented in EKFCh.

References chmat::_Ch(), Kalman< chmat >::_K, Kalman< chmat >::_mu, Kalman< chmat >::_P, Kalman< chmat >::_Ry, Kalman< chmat >::_yp, Kalman< chmat >::A, Kalman< chmat >::B, Kalman< chmat >::C, Kalman< chmat >::D, Kalman< chmat >::dimu, Kalman< chmat >::dimx, Kalman< chmat >::dimy, BM::evalll, eEF::evallog(), Kalman< chmat >::fy, BM::ll, postA, and preA.

virtual double BM::logpred ( const vec &  dt  )  const [inline, virtual, inherited]

Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out.

Reimplemented in ARX, MixEF, and multiBM.

Referenced by BM::logpred_m().

virtual BM* BM::_copy_ ( bool  changerv = false  )  [inline, virtual, inherited]

Copy function required in vectors, Arrays of BM etc. Have to be DELETED manually! Prototype: BM* _copy_(){BM Tmp*=new Tmp(this*); return Tmp; }

Reimplemented in ARX, and BMEF.


The documentation for this class was generated from the following files:

Generated on Thu Jan 15 10:51:17 2009 for mixpp by  doxygen 1.5.6