\hypertarget{namespacebdm}{ \section{bdm Namespace Reference} \label{namespacebdm}\index{bdm@{bdm}} } \subsection{Detailed Description} Space of basic BDM structures. \subsection*{Classes} \begin{CompactItemize} \item class \hyperlink{classbdm_1_1ARX}{ARX} \begin{CompactList}\small\item\em Linear Autoregressive model with Gaussian noise. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKFful__unQR}{EKFful\_\-unQR} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} filter with unknown {\tt Q} and {\tt R}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKFCh__unQ}{EKFCh\_\-unQ} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} filter in Choleski form with unknown {\tt Q}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKFCh__cond}{EKFCh\_\-cond} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} filter with unknown parameters in {\tt IM}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1KalmanFull}{KalmanFull} \begin{CompactList}\small\item\em Basic \hyperlink{classbdm_1_1Kalman}{Kalman} filter with full matrices (education purpose only)! Will be deleted soon! \item\end{CompactList}\item class \hyperlink{classbdm_1_1Kalman}{Kalman} \begin{CompactList}\small\item\em \hyperlink{classbdm_1_1Kalman}{Kalman} filter with covariance matrices in square root form. \item\end{CompactList}\item class \hyperlink{classbdm_1_1KalmanCh}{KalmanCh} \begin{CompactList}\small\item\em \hyperlink{classbdm_1_1Kalman}{Kalman} filter in square root form. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKFfull}{EKFfull} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} Filter in full matrices. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKF}{EKF} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} Filter. \item\end{CompactList}\item class \hyperlink{classbdm_1_1EKFCh}{EKFCh} \begin{CompactList}\small\item\em Extended \hyperlink{classbdm_1_1Kalman}{Kalman} Filter in Square root. \item\end{CompactList}\item class \hyperlink{classbdm_1_1KFcondQR}{KFcondQR} \begin{CompactList}\small\item\em \hyperlink{classbdm_1_1Kalman}{Kalman} Filter with conditional diagonal matrices R and Q. \item\end{CompactList}\item class \hyperlink{classbdm_1_1KFcondR}{KFcondR} \begin{CompactList}\small\item\em \hyperlink{classbdm_1_1Kalman}{Kalman} Filter with conditional diagonal matrices R and Q. \item\end{CompactList}\item class \hyperlink{classbdm_1_1PF}{PF} \begin{CompactList}\small\item\em Trivial particle filter with proposal density equal to parameter evolution model. \item\end{CompactList}\item class \hyperlink{classbdm_1_1MPF}{MPF} \begin{CompactList}\small\item\em Marginalized Particle filter. \item\end{CompactList}\item class \hyperlink{classbdm_1_1merger}{merger} \begin{CompactList}\small\item\em Function for general combination of pdfs. \item\end{CompactList}\item class \hyperlink{classbdm_1_1MixEF}{MixEF} \begin{CompactList}\small\item\em Mixture of Exponential Family Densities. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mratio}{mratio} \begin{CompactList}\small\item\em Class representing ratio of two densities which arise e.g. by applying the Bayes rule. It represents density in the form: \[ f(rv|rvc) = \frac{f(rv,rvc)}{f(rvc)} \] where $ f(rvc) = \int f(rv,rvc) d\ rv $. \item\end{CompactList}\item class \hyperlink{classbdm_1_1emix}{emix} \begin{CompactList}\small\item\em Mixture of epdfs. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mprod}{mprod} \begin{CompactList}\small\item\em Chain rule decomposition of \hyperlink{classbdm_1_1epdf}{epdf}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1eprod}{eprod} \begin{CompactList}\small\item\em Product of independent epdfs. For dependent pdfs, use \hyperlink{classbdm_1_1mprod}{mprod}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mmix}{mmix} \begin{CompactList}\small\item\em Mixture of mpdfs with constant weights, all mpdfs are of equal type. \item\end{CompactList}\item class \hyperlink{classbdm_1_1bdmroot}{bdmroot} \begin{CompactList}\small\item\em Root class of BDM objects. \item\end{CompactList}\item class \hyperlink{classbdm_1_1str}{str} \begin{CompactList}\small\item\em Structure of \hyperlink{classbdm_1_1RV}{RV} (used internally), i.e. expanded RVs. \item\end{CompactList}\item class \hyperlink{classbdm_1_1RV}{RV} \begin{CompactList}\small\item\em Class representing variables, most often random variables. \item\end{CompactList}\item class \hyperlink{classbdm_1_1fnc}{fnc} \begin{CompactList}\small\item\em Class representing function $f(x)$ of variable $x$ represented by {\tt rv}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1epdf}{epdf} \begin{CompactList}\small\item\em Probability density function with numerical statistics, e.g. posterior density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mpdf}{mpdf} \begin{CompactList}\small\item\em Conditional probability density, e.g. modeling some dependencies. \item\end{CompactList}\item class \hyperlink{classbdm_1_1datalink}{datalink} \begin{CompactList}\small\item\em DataLink is a connection between two data vectors Up and Down. \item\end{CompactList}\item class \hyperlink{classbdm_1_1datalink__m2e}{datalink\_\-m2e} \begin{CompactList}\small\item\em data link between \item\end{CompactList}\item class \hyperlink{classbdm_1_1datalink__m2m}{datalink\_\-m2m} \item class \hyperlink{classbdm_1_1logger}{logger} \begin{CompactList}\small\item\em Class for storing results (and semi-results) of an experiment. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mepdf}{mepdf} \begin{CompactList}\small\item\em Unconditional \hyperlink{classbdm_1_1mpdf}{mpdf}, allows using \hyperlink{classbdm_1_1epdf}{epdf} in the role of \hyperlink{classbdm_1_1mpdf}{mpdf}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1compositepdf}{compositepdf} \begin{CompactList}\small\item\em Abstract composition of pdfs, will be used for specific classes this abstract class is common to \hyperlink{classbdm_1_1epdf}{epdf} and \hyperlink{classbdm_1_1mpdf}{mpdf}. \item\end{CompactList}\item class \hyperlink{classbdm_1_1DS}{DS} \begin{CompactList}\small\item\em Abstract class for discrete-time sources of data. \item\end{CompactList}\item class \hyperlink{classbdm_1_1BM}{BM} \begin{CompactList}\small\item\em Bayesian Model of a system, i.e. all uncertainty is modeled by probabilities. \item\end{CompactList}\item class \hyperlink{classbdm_1_1BMcond}{BMcond} \begin{CompactList}\small\item\em Conditional Bayesian Filter. \item\end{CompactList}\item class \hyperlink{classbdm_1_1MemDS}{MemDS} \begin{CompactList}\small\item\em Memory storage of off-line data column-wise. \item\end{CompactList}\item class \hyperlink{classbdm_1_1ArxDS}{ArxDS} \begin{CompactList}\small\item\em Generator of \hyperlink{classbdm_1_1ARX}{ARX} data. \item\end{CompactList}\item class \textbf{ARXDS} \item class \textbf{stateDS} \item class \hyperlink{classbdm_1_1eEF}{eEF} \begin{CompactList}\small\item\em General conjugate exponential family posterior density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mEF}{mEF} \begin{CompactList}\small\item\em Exponential family model. \item\end{CompactList}\item class \hyperlink{classbdm_1_1BMEF}{BMEF} \begin{CompactList}\small\item\em Estimator for Exponential family. \item\end{CompactList}\item class \hyperlink{classbdm_1_1enorm}{enorm} \begin{CompactList}\small\item\em Gaussian density with positive definite (decomposed) covariance matrix. \item\end{CompactList}\item class \hyperlink{classbdm_1_1egiw}{egiw} \begin{CompactList}\small\item\em Gauss-inverse-Wishart density stored in LD form. \item\end{CompactList}\item class \hyperlink{classbdm_1_1eDirich}{eDirich} \begin{CompactList}\small\item\em Dirichlet posterior density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1multiBM}{multiBM} \begin{CompactList}\small\item\em Estimator for Multinomial density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1egamma}{egamma} \begin{CompactList}\small\item\em Gamma posterior density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1eigamma}{eigamma} \begin{CompactList}\small\item\em Inverse-Gamma posterior density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1euni}{euni} \begin{CompactList}\small\item\em Uniform distributed density on a rectangular support. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mlnorm}{mlnorm} \begin{CompactList}\small\item\em Normal distributed linear function with linear function of mean value;. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mlstudent}{mlstudent} \item class \hyperlink{classbdm_1_1mgamma}{mgamma} \begin{CompactList}\small\item\em Gamma random walk. \item\end{CompactList}\item class \hyperlink{classbdm_1_1migamma}{migamma} \begin{CompactList}\small\item\em Inverse-Gamma random walk. \item\end{CompactList}\item class \hyperlink{classbdm_1_1mgamma__fix}{mgamma\_\-fix} \begin{CompactList}\small\item\em Gamma random walk around a fixed point. \item\end{CompactList}\item class \hyperlink{classbdm_1_1migamma__fix}{migamma\_\-fix} \begin{CompactList}\small\item\em Inverse-Gamma random walk around a fixed point. \item\end{CompactList}\item class \hyperlink{classbdm_1_1eEmp}{eEmp} \begin{CompactList}\small\item\em Weighted empirical density. \item\end{CompactList}\item class \hyperlink{classbdm_1_1constfn}{constfn} \begin{CompactList}\small\item\em class representing function $f(x) = a$, here {\tt rv} is empty \item\end{CompactList}\item class \hyperlink{classbdm_1_1linfn}{linfn} \begin{CompactList}\small\item\em Class representing function $f(x) = Ax+B$. \item\end{CompactList}\item class \hyperlink{classbdm_1_1diffbifn}{diffbifn} \begin{CompactList}\small\item\em Class representing a differentiable function of two variables $f(x,u)$. \item\end{CompactList}\item class \hyperlink{classbdm_1_1bilinfn}{bilinfn} \begin{CompactList}\small\item\em Class representing function $f(x,u) = Ax+Bu$. \item\end{CompactList}\item class \hyperlink{classbdm_1_1memlog}{memlog} \begin{CompactList}\small\item\em Logging into matrices in data format in memory. \item\end{CompactList}\item class \hyperlink{classbdm_1_1dirfilelog}{dirfilelog} \begin{CompactList}\small\item\em Logging into dirfile with buffer in memory. \item\end{CompactList}\item class \textbf{UIFile} \item class \hyperlink{classbdm_1_1UIbuilder}{UIbuilder} \begin{CompactList}\small\item\em Builds computational object from a UserInfo structure. \item\end{CompactList}\item class \textbf{UIexternal} \item class \textbf{UIinternal} \end{CompactItemize} \subsection*{Typedefs} \begin{CompactItemize} \item \hypertarget{namespacebdm_547ee25cd5e6bae90105936ec4264257}{ typedef std::map$<$ string, int $>$ \textbf{RVmap}} \label{namespacebdm_547ee25cd5e6bae90105936ec4264257} \item \hypertarget{namespacebdm_4dc620a66ce2fcd4c5f42a03a3909b7c}{ typedef map$<$ const string, const \hyperlink{classbdm_1_1UIbuilder}{UIbuilder} $\ast$ $>$ \hyperlink{namespacebdm_4dc620a66ce2fcd4c5f42a03a3909b7c}{UImap}} \label{namespacebdm_4dc620a66ce2fcd4c5f42a03a3909b7c} \begin{CompactList}\small\item\em Internal structure mapping strings to UIBuilder objects. \item\end{CompactList}\end{CompactItemize} \subsection*{Enumerations} \begin{CompactItemize} \item enum \textbf{MixEF\_\-METHOD} \{ \textbf{EM} = 0, \textbf{QB} = 1 \} \item enum \hyperlink{namespacebdm_33aac0be76ded31d2e3081c5a3f6c418}{RESAMPLING\_\-METHOD} \{ \textbf{MULTINOMIAL} = 0, \textbf{STRATIFIED} = 1, \textbf{SYSTEMATIC} = 3 \} \begin{CompactList}\small\item\em Switch between various resampling methods. \item\end{CompactList}\end{CompactItemize} \subsection*{Functions} \begin{CompactItemize} \item double \hyperlink{namespacebdm_384d37434e33cef41e2785e247b5d4d6}{egiw\_\-bestbelow} (\hyperlink{classbdm_1_1egiw}{egiw} Eg, \hyperlink{classbdm_1_1egiw}{egiw} Eg0, double Egll, ivec \&indeces) \begin{CompactList}\small\item\em Return the best structure. \item\end{CompactList}\item \hypertarget{namespacebdm_1d111e8cdcd92244244a44f6b4af397c}{ std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const \hyperlink{classbdm_1_1KalmanFull}{KalmanFull} \&kf)} \label{namespacebdm_1d111e8cdcd92244244a44f6b4af397c} \item \hypertarget{namespacebdm_8b6bce32bf990bf76d04935f391751b3}{ Array$<$ string $>$ \textbf{RV\_\-NAMES} (RV\_\-BUFFER\_\-STEP)} \label{namespacebdm_8b6bce32bf990bf76d04935f391751b3} \item \hypertarget{namespacebdm_515ed01e2a44f57223293a8e5d98cfc1}{ ivec \textbf{RV\_\-SIZES} (RV\_\-BUFFER\_\-STEP)} \label{namespacebdm_515ed01e2a44f57223293a8e5d98cfc1} \item \hypertarget{namespacebdm_35914b7631534d21c50a9e1b70146da0}{ std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, const \hyperlink{classbdm_1_1RV}{RV} \&rv)} \label{namespacebdm_35914b7631534d21c50a9e1b70146da0} \item \hypertarget{namespacebdm_b9016687c0e874ca5cdcf75ae28811aa}{ \hyperlink{classbdm_1_1RV}{RV} \hyperlink{namespacebdm_b9016687c0e874ca5cdcf75ae28811aa}{concat} (const \hyperlink{classbdm_1_1RV}{RV} \&rv1, const \hyperlink{classbdm_1_1RV}{RV} \&rv2)} \label{namespacebdm_b9016687c0e874ca5cdcf75ae28811aa} \begin{CompactList}\small\item\em Concat two random variables. \item\end{CompactList}\item \hypertarget{namespacebdm_9a39066aa68568b4b97f8d3103c8699c}{ {\footnotesize template$<$class sq\_\-T$>$ }\\std::ostream \& \textbf{operator$<$$<$} (std::ostream \&os, \hyperlink{classbdm_1_1mlnorm}{mlnorm}$<$ sq\_\-T $>$ \&ml)} \label{namespacebdm_9a39066aa68568b4b97f8d3103c8699c} \item \hypertarget{namespacebdm_c8d6de8f4e080550406df7c1600117fe}{ \textbf{UIREGISTER} (UIexternal)} \label{namespacebdm_c8d6de8f4e080550406df7c1600117fe} \item \hypertarget{namespacebdm_3a4ea5a3dc0198c5df3795970e82d629}{ \textbf{UIREGISTER} (UIinternal)} \label{namespacebdm_3a4ea5a3dc0198c5df3795970e82d629} \item \hypertarget{namespacebdm_f420706e534b420cf6561aa529be9a9e}{ void \hyperlink{namespacebdm_f420706e534b420cf6561aa529be9a9e}{UI\_\-DBG} (Setting \&S, const string \&spc)} \label{namespacebdm_f420706e534b420cf6561aa529be9a9e} \begin{CompactList}\small\item\em \mbox{[}Debugging\mbox{]} Print values in current S to cout \item\end{CompactList}\item \hypertarget{namespacebdm_b547b14af614cba1ab6c8942dde34462}{ {\footnotesize template$<$class T$>$ }\\void \hyperlink{namespacebdm_b547b14af614cba1ab6c8942dde34462}{UIbuild} (Setting \&S, T $\ast$\&ret)} \label{namespacebdm_b547b14af614cba1ab6c8942dde34462} \begin{CompactList}\small\item\em Prototype of a UI builder. Return value is by the second argument since it type checking via {\tt dynamic\_\-cast}. \item\end{CompactList}\item \hypertarget{namespacebdm_0760231b120a0b42f80b09515456d57b}{ {\footnotesize template$<$class T$>$ }\\void \hyperlink{namespacebdm_0760231b120a0b42f80b09515456d57b}{UIcall} (Setting \&S, void($\ast$func)(Setting \&, T), T Tmp)} \label{namespacebdm_0760231b120a0b42f80b09515456d57b} \begin{CompactList}\small\item\em Auxiliary function allowing recursivity in S (too complex, remove?). \item\end{CompactList}\end{CompactItemize} \subsection*{Variables} \begin{CompactItemize} \item \hypertarget{namespacebdm_356cbfd6e12dc4b6680fa82dd35063fb}{ const int \textbf{RV\_\-BUFFER\_\-STEP} = 1} \label{namespacebdm_356cbfd6e12dc4b6680fa82dd35063fb} \item \hypertarget{namespacebdm_c83cfa7ad40f4622cb17af4b80f09d45}{ RVmap \textbf{RV\_\-MAP}} \label{namespacebdm_c83cfa7ad40f4622cb17af4b80f09d45} \item \hypertarget{namespacebdm_bdd4760f14ec7d6fea083aa2170f6236}{ \hyperlink{classbdm_1_1RV}{RV} \hyperlink{namespacebdm_bdd4760f14ec7d6fea083aa2170f6236}{RV0} = \hyperlink{classbdm_1_1RV}{RV}()} \label{namespacebdm_bdd4760f14ec7d6fea083aa2170f6236} \begin{CompactList}\small\item\em Default empty \hyperlink{classbdm_1_1RV}{RV} that can be used as default argument. \item\end{CompactList}\item \hypertarget{namespacebdm_58a0ee51fd426e38101eb99e7c42a65e}{ ivec \textbf{RV\_\-SIZES}} \label{namespacebdm_58a0ee51fd426e38101eb99e7c42a65e} \item \hypertarget{namespacebdm_81ac40e336bdac971cd2e60fe2fb2deb}{ Array$<$ string $>$ \textbf{RV\_\-NAMES}} \label{namespacebdm_81ac40e336bdac971cd2e60fe2fb2deb} \item \hypertarget{namespacebdm_96288dbda6916cd442af735f66a9f40b}{ Uniform\_\-RNG \hyperlink{namespacebdm_96288dbda6916cd442af735f66a9f40b}{UniRNG}} \label{namespacebdm_96288dbda6916cd442af735f66a9f40b} \begin{CompactList}\small\item\em Global Uniform\_\-RNG. \item\end{CompactList}\item \hypertarget{namespacebdm_c959a7382efbcc31af4b58cf0f0f951a}{ Normal\_\-RNG \hyperlink{namespacebdm_c959a7382efbcc31af4b58cf0f0f951a}{NorRNG}} \label{namespacebdm_c959a7382efbcc31af4b58cf0f0f951a} \begin{CompactList}\small\item\em Global Normal\_\-RNG. \item\end{CompactList}\item \hypertarget{namespacebdm_2828dc833cc283a1fb39a5e8dc06518f}{ Gamma\_\-RNG \hyperlink{namespacebdm_2828dc833cc283a1fb39a5e8dc06518f}{GamRNG}} \label{namespacebdm_2828dc833cc283a1fb39a5e8dc06518f} \begin{CompactList}\small\item\em Global Gamma\_\-RNG. \item\end{CompactList}\item \hypertarget{namespacebdm_edbf34217028dd95a3680c346af85fea}{ \hyperlink{namespacebdm_4dc620a66ce2fcd4c5f42a03a3909b7c}{UImap} \hyperlink{namespacebdm_edbf34217028dd95a3680c346af85fea}{\_\-\_\-uimap\_\-\_\-}} \label{namespacebdm_edbf34217028dd95a3680c346af85fea} \begin{CompactList}\small\item\em global map of UIbulder names to instances of UIbuilders. Created by UIREGISTER macro \item\end{CompactList}\end{CompactItemize} \subsection{Function Documentation} \hypertarget{namespacebdm_384d37434e33cef41e2785e247b5d4d6}{ \index{bdm@{bdm}!egiw\_\-bestbelow@{egiw\_\-bestbelow}} \index{egiw\_\-bestbelow@{egiw\_\-bestbelow}!bdm@{bdm}} \subsubsection[egiw\_\-bestbelow]{\setlength{\rightskip}{0pt plus 5cm}double bdm::egiw\_\-bestbelow (egiw {\em Eg}, \/ egiw {\em Eg0}, \/ double {\em Egll}, \/ ivec \& {\em indeces})}} \label{namespacebdm_384d37434e33cef41e2785e247b5d4d6} Return the best structure. \begin{Desc} \item[Parameters:] \begin{description} \item[{\em Eg}]a copy of GiW density that is being examined \item[{\em Eg0}]a copy of prior GiW density before estimation \item[{\em Egll}]likelihood of the current Eg \item[{\em indeces}]current indeces \end{description} \end{Desc} \begin{Desc} \item[Returns:]best likelihood in the structure below the given one \end{Desc} References ldmat::\_\-D(), ldmat::\_\-L(), bdm::egiw::\_\-V(), ldmat::ldform(), bdm::egiw::lognc(), and ldmat::rows(). Referenced by bdm::ARX::structure\_\-est().