\hypertarget{classEKFfull}{
\section{EKFfull Class Reference}
\label{classEKFfull}\index{EKFfull@{EKFfull}}
}
Extended \hyperlink{classKalman}{Kalman} Filter in full matrices.  


{\tt \#include $<$libKF.h$>$}

Inheritance diagram for EKFfull:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=102pt]{classEKFfull__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for EKFfull:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=400pt]{classEKFfull__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classEKFfull_67ac4de96fd025197da767fe0472c7f7}{
\hyperlink{classEKFfull_67ac4de96fd025197da767fe0472c7f7}{EKFfull} (\hyperlink{classRV}{RV} rvx, \hyperlink{classRV}{RV} rvy, \hyperlink{classRV}{RV} rvu)}
\label{classEKFfull_67ac4de96fd025197da767fe0472c7f7}

\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
\hypertarget{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0}{
void \hyperlink{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0}{set\_\-parameters} (\hyperlink{classdiffbifn}{diffbifn} $\ast$pfxu, \hyperlink{classdiffbifn}{diffbifn} $\ast$phxu, const mat Q0, const mat R0)}
\label{classEKFfull_fc753106e0d4cf68e4f2160fd54458c0}

\begin{CompactList}\small\item\em Set nonlinear functions for mean values and covariance matrices. \item\end{CompactList}\item 
\hypertarget{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0}{
void \hyperlink{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0}{bayes} (const vec \&dt)}
\label{classEKFfull_8ca46f177e395fa714bbd8bd29ea43e0}

\begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item 
\hypertarget{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b}{
void \hyperlink{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b}{set\_\-est} (vec mu0, mat P0)}
\label{classEKFfull_7bb76ea74c144ea0b36db99f94750b7b}

\begin{CompactList}\small\item\em set estimates \item\end{CompactList}\item 
\hypertarget{classEKFfull_170a748ad944bdebb0b3073463876abe}{
const \hyperlink{classepdf}{epdf} \& \hyperlink{classEKFfull_170a748ad944bdebb0b3073463876abe}{\_\-epdf} () const }
\label{classEKFfull_170a748ad944bdebb0b3073463876abe}

\begin{CompactList}\small\item\em dummy! \item\end{CompactList}\item 
\hypertarget{classBM_0186270f75189677f390fe088a9947e9}{
virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)}
\label{classBM_0186270f75189677f390fe088a9947e9}

\begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 
virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const 
\item 
\hypertarget{classBM_cd0660f2a1a344b56ac39802708ff165}{
vec \hyperlink{classBM_cd0660f2a1a344b56ac39802708ff165}{logpred\_\-m} (const mat \&dt) const }
\label{classBM_cd0660f2a1a344b56ac39802708ff165}

\begin{CompactList}\small\item\em Matrix version of logpred. \item\end{CompactList}\item 
\hypertarget{classBM_a627c5a79cc6f5221b7e09675525e032}{
virtual \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classBM_a627c5a79cc6f5221b7e09675525e032}{predictor} (const \hyperlink{classRV}{RV} \&\hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv})}
\label{classBM_a627c5a79cc6f5221b7e09675525e032}

\begin{CompactList}\small\item\em Constructs a predictive density (marginal density on data). \item\end{CompactList}\item 
\hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{
const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const }
\label{classBM_126bd2595c48e311fc2a7ab72876092a}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{
double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const }
\label{classBM_87f4a547d2c29180be88175e5eab9c88}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{
void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)}
\label{classBM_1ffa9f23669aabecc3760c06c6987522}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false)
\end{CompactItemize}
\subsection*{Public Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}{
vec \hyperlink{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}{mu}}
\label{classKalmanFull_fb5aec635e2720cc5ac31bc01c18a68a}

\begin{CompactList}\small\item\em Mean value of the posterior density. \item\end{CompactList}\item 
\hypertarget{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}{
mat \hyperlink{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}{P}}
\label{classKalmanFull_b75dc059e84fa8ffc076203b30f926cc}

\begin{CompactList}\small\item\em Variance of the posterior density. \item\end{CompactList}\item 
\hypertarget{classKalmanFull_c17d69e125acd2673e6688fd86dd3f84}{
bool \textbf{evalll}}
\label{classKalmanFull_c17d69e125acd2673e6688fd86dd3f84}

\item 
\hypertarget{classKalmanFull_3aa4bf6128980d0627413dcf9cd07308}{
double \textbf{ll}}
\label{classKalmanFull_3aa4bf6128980d0627413dcf9cd07308}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classKalmanFull_c5353e66238ed717dba79e0499118226}{
int \textbf{dimx}}
\label{classKalmanFull_c5353e66238ed717dba79e0499118226}

\item 
\hypertarget{classKalmanFull_761fadcc12dd4cb83bb8b5e27db01947}{
int \textbf{dimy}}
\label{classKalmanFull_761fadcc12dd4cb83bb8b5e27db01947}

\item 
\hypertarget{classKalmanFull_609a4a0fcde78fd7aac2f01b34e952c9}{
int \textbf{dimu}}
\label{classKalmanFull_609a4a0fcde78fd7aac2f01b34e952c9}

\item 
\hypertarget{classKalmanFull_554de4c953761380cd5a14a02542e007}{
mat \textbf{A}}
\label{classKalmanFull_554de4c953761380cd5a14a02542e007}

\item 
\hypertarget{classKalmanFull_ac7ade2a603a1b05419e36c5aae21755}{
mat \textbf{B}}
\label{classKalmanFull_ac7ade2a603a1b05419e36c5aae21755}

\item 
\hypertarget{classKalmanFull_5a9a8326ae17b519109fcdad59ea74a3}{
mat \textbf{C}}
\label{classKalmanFull_5a9a8326ae17b519109fcdad59ea74a3}

\item 
\hypertarget{classKalmanFull_8f992a2d6b66d2e8bd9174b28cc0f074}{
mat \textbf{D}}
\label{classKalmanFull_8f992a2d6b66d2e8bd9174b28cc0f074}

\item 
\hypertarget{classKalmanFull_bbd2dab10da47237a5f0d9e55fd61f24}{
mat \textbf{R}}
\label{classKalmanFull_bbd2dab10da47237a5f0d9e55fd61f24}

\item 
\hypertarget{classKalmanFull_a8777c1fe67763395d3ddeb326239851}{
mat \textbf{Q}}
\label{classKalmanFull_a8777c1fe67763395d3ddeb326239851}

\item 
\hypertarget{classKalmanFull_905823cf4157a11b8b824e45809dac55}{
mat \textbf{\_\-Pp}}
\label{classKalmanFull_905823cf4157a11b8b824e45809dac55}

\item 
\hypertarget{classKalmanFull_b1b946b3a43f7d86cf4b6dc0dd6e3210}{
mat \textbf{\_\-Ry}}
\label{classKalmanFull_b1b946b3a43f7d86cf4b6dc0dd6e3210}

\item 
\hypertarget{classKalmanFull_c7d915386a9d60b1bc309ae9166764f6}{
mat \textbf{\_\-iRy}}
\label{classKalmanFull_c7d915386a9d60b1bc309ae9166764f6}

\item 
\hypertarget{classKalmanFull_4c8354ea4801529f3071189ddd10d760}{
mat \textbf{\_\-K}}
\label{classKalmanFull_4c8354ea4801529f3071189ddd10d760}

\item 
\hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{
\hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}}
\label{classBM_af00f0612fabe66241dd507188cdbf88}

\begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 
\hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{
double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}}
\label{classBM_5623fef6572a08c2b53b8c87b82dc979}

\begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 
\hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{
bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}}
\label{classBM_bf6fb59b30141074f8ee1e2f43d03129}

\begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save computational time. \item\end{CompactList}\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
\hypertarget{classKalmanFull_86ba216243ed95bb46d80d88775d16af}{
std::ostream \& \hyperlink{classKalmanFull_86ba216243ed95bb46d80d88775d16af}{operator$<$$<$} (std::ostream \&os, const \hyperlink{classKalmanFull}{KalmanFull} \&kf)}
\label{classKalmanFull_86ba216243ed95bb46d80d88775d16af}

\begin{CompactList}\small\item\em print elements of KF \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Extended \hyperlink{classKalman}{Kalman} Filter in full matrices. 

An approximation of the exact Bayesian filter with Gaussian noices and non-linear evolutions of their mean. 

\subsection{Member Function Documentation}
\hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{
\index{EKFfull@{EKFfull}!logpred@{logpred}}
\index{logpred@{logpred}!EKFfull@{EKFfull}}
\subsubsection[logpred]{\setlength{\rightskip}{0pt plus 5cm}virtual double BM::logpred (const vec \& {\em dt}) const\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classBM_8a8ce6df431689964c41cc6c849cfd06}


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

Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}.

Referenced by BM::logpred\_\-m().\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{
\index{EKFfull@{EKFfull}!\_\-copy\_\-@{\_\-copy\_\-}}
\index{\_\-copy\_\-@{\_\-copy\_\-}!EKFfull@{EKFfull}}
\subsubsection[\_\-copy\_\-]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf BM}$\ast$ BM::\_\-copy\_\- (bool {\em changerv} = {\tt false})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classBM_eb58c81d6a7b75b05fc6f276eed78887}


Copy function required in vectors, Arrays of \hyperlink{classBM}{BM} etc. Have to be DELETED manually! Prototype: BM$\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-()}\{\hyperlink{classBM}{BM} Tmp$\ast$=new Tmp(this$\ast$); return Tmp; \} 

Reimplemented in \hyperlink{classARX_5de61fbd4f97fa3216760b1f733f5af0}{ARX}.

Referenced by MixEF::init().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
work/git/mixpp/bdm/estim/\hyperlink{libKF_8h}{libKF.h}\item 
work/git/mixpp/bdm/estim/libKF.cpp\end{CompactItemize}
