\hypertarget{classKalmanCh}{ \section{KalmanCh Class Reference} \label{classKalmanCh}\index{KalmanCh@{KalmanCh}} } \hyperlink{classKalman}{Kalman} filter in square root form. {\tt \#include $<$libKF.h$>$} Inheritance diagram for KalmanCh:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=95pt]{classKalmanCh__inherit__graph} \end{center} \end{figure} Collaboration diagram for KalmanCh:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=400pt]{classKalmanCh__coll__graph} \end{center} \end{figure} \subsection*{Public Member Functions} \begin{CompactItemize} \item \hypertarget{classKalmanCh_d11f110cccaa66177514632d37b086bb}{ \hyperlink{classKalmanCh_d11f110cccaa66177514632d37b086bb}{KalmanCh} (\hyperlink{classRV}{RV} rvx0, \hyperlink{classRV}{RV} rvy0, \hyperlink{classRV}{RV} rvu0)} \label{classKalmanCh_d11f110cccaa66177514632d37b086bb} \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item \hypertarget{classKalmanCh_92fb227287af05c9f0078d523c7c9793}{ void \hyperlink{classKalmanCh_92fb227287af05c9f0078d523c7c9793}{set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const \hyperlink{classchmat}{chmat} \&R0, const \hyperlink{classchmat}{chmat} \&Q0)} \label{classKalmanCh_92fb227287af05c9f0078d523c7c9793} \begin{CompactList}\small\item\em Set parameters with check of relevance. \item\end{CompactList}\item \hypertarget{classKalmanCh_b261b20f6210d4c85131d33302df0adc}{ void \hyperlink{classKalmanCh_b261b20f6210d4c85131d33302df0adc}{set\_\-est} (const vec \&mu0, const \hyperlink{classchmat}{chmat} \&P0)} \label{classKalmanCh_b261b20f6210d4c85131d33302df0adc} \begin{CompactList}\small\item\em Set estimate values, used e.g. in initialization. \item\end{CompactList}\item void \hyperlink{classKalmanCh_cca758192846940409822b9bd778d4e1}{bayes} (const vec \&dt) \begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item \hypertarget{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{ const \hyperlink{classepdf}{epdf} \& \hyperlink{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{\_\-epdf} () const } \label{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe} \begin{CompactList}\small\item\em access function \item\end{CompactList}\item \hypertarget{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{ mat \& \hyperlink{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{\_\-\_\-K} ()} \label{classKalman_980fcd41c6c548c5da7b8b67c8e6da79} \begin{CompactList}\small\item\em access function \item\end{CompactList}\item \hypertarget{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{ vec \hyperlink{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{\_\-dP} ()} \label{classKalman_ac9540f3850b74d89a5fe4db6fc358ce} \begin{CompactList}\small\item\em access function \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*{Protected Attributes} \begin{CompactItemize} \item \hypertarget{classKalmanCh_94ee9da75b0e0f632e4a354988ca3798}{ mat \hyperlink{classKalmanCh_94ee9da75b0e0f632e4a354988ca3798}{preA}} \label{classKalmanCh_94ee9da75b0e0f632e4a354988ca3798} \begin{CompactList}\small\item\em pre array (triangular matrix) \item\end{CompactList}\item \hypertarget{classKalmanCh_0d31a26dc72b5846cfe5af3ccb63ac87}{ mat \hyperlink{classKalmanCh_0d31a26dc72b5846cfe5af3ccb63ac87}{postA}} \label{classKalmanCh_0d31a26dc72b5846cfe5af3ccb63ac87} \begin{CompactList}\small\item\em post array (triangular matrix) \item\end{CompactList}\item \hypertarget{classKalman_7501230c2fafa3655887d2da23b3184c}{ \hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}} \label{classKalman_7501230c2fafa3655887d2da23b3184c} \begin{CompactList}\small\item\em Indetifier of output rv. \item\end{CompactList}\item \hypertarget{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{ \hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu}} \label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498} \begin{CompactList}\small\item\em Indetifier of exogeneous rv. \item\end{CompactList}\item \hypertarget{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{ int \hyperlink{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{dimx}} \label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb} \begin{CompactList}\small\item\em cache of rv.count() \item\end{CompactList}\item \hypertarget{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{ int \hyperlink{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{dimy}} \label{classKalman_ba17b956df1e38b31fbbc299c8213b6a} \begin{CompactList}\small\item\em cache of rvy.count() \item\end{CompactList}\item \hypertarget{classKalman_b0153795a1444b6968a86409c778d9ce}{ int \hyperlink{classKalman_b0153795a1444b6968a86409c778d9ce}{dimu}} \label{classKalman_b0153795a1444b6968a86409c778d9ce} \begin{CompactList}\small\item\em cache of rvu.count() \item\end{CompactList}\item \hypertarget{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{ mat \hyperlink{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{A}} \label{classKalman_5e02efe86ee91e9c74b93b425fe060b9} \begin{CompactList}\small\item\em Matrix A. \item\end{CompactList}\item \hypertarget{classKalman_dc87704284a6c0bca13bf51f4345a50a}{ mat \hyperlink{classKalman_dc87704284a6c0bca13bf51f4345a50a}{B}} \label{classKalman_dc87704284a6c0bca13bf51f4345a50a} \begin{CompactList}\small\item\em Matrix B. \item\end{CompactList}\item \hypertarget{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{ mat \hyperlink{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{C}} \label{classKalman_86a805cd6515872d1132ad0d6eb5dc13} \begin{CompactList}\small\item\em Matrix C. \item\end{CompactList}\item \hypertarget{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{ mat \hyperlink{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{D}} \label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1} \begin{CompactList}\small\item\em Matrix D. \item\end{CompactList}\item \hypertarget{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{ \hyperlink{classchmat}{chmat} \hyperlink{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{Q}} \label{classKalman_9b69015c800eb93f3ee49da23a6f55d9} \begin{CompactList}\small\item\em Matrix Q in square-root form. \item\end{CompactList}\item \hypertarget{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{ \hyperlink{classchmat}{chmat} \hyperlink{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{R}} \label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec} \begin{CompactList}\small\item\em Matrix R in square-root form. \item\end{CompactList}\item \hypertarget{classKalman_5568c74bac67ae6d3b1061dba60c9424}{ \hyperlink{classenorm}{enorm}$<$ \hyperlink{classchmat}{chmat} $>$ \hyperlink{classKalman_5568c74bac67ae6d3b1061dba60c9424}{est}} \label{classKalman_5568c74bac67ae6d3b1061dba60c9424} \begin{CompactList}\small\item\em posterior density on \$x\_\-t\$ \item\end{CompactList}\item \hypertarget{classKalman_e580ab06483952bd03f2e651763e184f}{ \hyperlink{classenorm}{enorm}$<$ \hyperlink{classchmat}{chmat} $>$ \hyperlink{classKalman_e580ab06483952bd03f2e651763e184f}{fy}} \label{classKalman_e580ab06483952bd03f2e651763e184f} \begin{CompactList}\small\item\em preditive density on \$y\_\-t\$ \item\end{CompactList}\item \hypertarget{classKalman_d422f51467c7a06174af2476d2826132}{ mat \hyperlink{classKalman_d422f51467c7a06174af2476d2826132}{\_\-K}} \label{classKalman_d422f51467c7a06174af2476d2826132} \begin{CompactList}\small\item\em placeholder for \hyperlink{classKalman}{Kalman} gain \item\end{CompactList}\item \hypertarget{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{ vec \& \hyperlink{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{\_\-yp}} \label{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd} \begin{CompactList}\small\item\em cache of fy.mu \item\end{CompactList}\item \hypertarget{classKalman_45c9f928d2d62e0c884900fb3380f904}{ \hyperlink{classchmat}{chmat} \& \hyperlink{classKalman_45c9f928d2d62e0c884900fb3380f904}{\_\-Ry}} \label{classKalman_45c9f928d2d62e0c884900fb3380f904} \begin{CompactList}\small\item\em cache of fy.R \item\end{CompactList}\item \hypertarget{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{ vec \& \hyperlink{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{\_\-mu}} \label{classKalman_fe803a81d2d847b0b1db3c6b29c18061} \begin{CompactList}\small\item\em cache of est.mu \item\end{CompactList}\item \hypertarget{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{ \hyperlink{classchmat}{chmat} \& \hyperlink{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{\_\-P}} \label{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf} \begin{CompactList}\small\item\em cache of est.R \item\end{CompactList}\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{Detailed Description} \hyperlink{classKalman}{Kalman} filter in square root form. \subsection{Member Function Documentation} \hypertarget{classKalmanCh_cca758192846940409822b9bd778d4e1}{ \index{KalmanCh@{KalmanCh}!bayes@{bayes}} \index{bayes@{bayes}!KalmanCh@{KalmanCh}} \subsubsection[bayes]{\setlength{\rightskip}{0pt plus 5cm}void KalmanCh::bayes (const vec \& {\em dt})\hspace{0.3cm}{\tt \mbox{[}virtual\mbox{]}}}} \label{classKalmanCh_cca758192846940409822b9bd778d4e1} Here dt = \mbox{[}yt;ut\mbox{]} 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 \hyperlink{classKalman_7750ffd73f261828a32c18aaeb65c75c}{Kalman$<$ chmat $>$}. Reimplemented in \hyperlink{classEKFCh_96f6edda324a0b7ef8b4e86cc7af60c1}{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::evalpdflog(), Kalman$<$ chmat $>$::fy, BM::ll, postA, preA, and chmat::to\_\-mat().\hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{ \index{KalmanCh@{KalmanCh}!logpred@{logpred}} \index{logpred@{logpred}!KalmanCh@{KalmanCh}} \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{KalmanCh@{KalmanCh}!\_\-copy\_\-@{\_\-copy\_\-}} \index{\_\-copy\_\-@{\_\-copy\_\-}!KalmanCh@{KalmanCh}} \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}