\hypertarget{classbdm_1_1egiw}{ \section{bdm::egiw Class Reference} \label{classbdm_1_1egiw}\index{bdm::egiw@{bdm::egiw}} } {\tt \#include $<$libEF.h$>$} Inheritance diagram for bdm::egiw:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=64pt]{classbdm_1_1egiw__inherit__graph} \end{center} \end{figure} \subsection{Detailed Description} Gauss-inverse-Wishart density stored in LD form. For $p$-variate densities, given rv.count() should be $p\times$ V.rows(). \subsection*{Public Member Functions} \begin{CompactItemize} \item \hypertarget{classbdm_1_1egiw_920f21548b7a3723923dd108fe514c61}{ vec \hyperlink{classbdm_1_1egiw_920f21548b7a3723923dd108fe514c61}{sample} () const } \label{classbdm_1_1egiw_920f21548b7a3723923dd108fe514c61} \begin{CompactList}\small\item\em Returns a sample, $ x $ from density $ f_x()$. \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_df70c05f918c3a6f86d60f10c1fd6ba2}{ vec \hyperlink{classbdm_1_1egiw_df70c05f918c3a6f86d60f10c1fd6ba2}{mean} () const } \label{classbdm_1_1egiw_df70c05f918c3a6f86d60f10c1fd6ba2} \begin{CompactList}\small\item\em return expected value \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_c1ecc406613cc2341225dc10c3d3b46a}{ vec \hyperlink{classbdm_1_1egiw_c1ecc406613cc2341225dc10c3d3b46a}{variance} () const } \label{classbdm_1_1egiw_c1ecc406613cc2341225dc10c3d3b46a} \begin{CompactList}\small\item\em return expected variance (not covariance!) \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_d2075aa2306648b3e4fe40bb86628d5c}{ void \textbf{mean\_\-mat} (mat \&M, mat \&R) const } \label{classbdm_1_1egiw_d2075aa2306648b3e4fe40bb86628d5c} \item \hypertarget{classbdm_1_1egiw_bfb8e7c619b34ad804a73bff71742b5e}{ double \hyperlink{classbdm_1_1egiw_bfb8e7c619b34ad804a73bff71742b5e}{evallog\_\-nn} (const vec \&val) const } \label{classbdm_1_1egiw_bfb8e7c619b34ad804a73bff71742b5e} \begin{CompactList}\small\item\em In this instance, val= \mbox{[}theta, r\mbox{]}. For multivariate instances, it is stored columnwise val = \mbox{[}theta\_\-1 theta\_\-2 ... r\_\-1 r\_\-2 \mbox{]}. \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_41d72ba7b2abc8a9a4209ffa98ed5633}{ double \hyperlink{classbdm_1_1egiw_41d72ba7b2abc8a9a4209ffa98ed5633}{lognc} () const } \label{classbdm_1_1egiw_41d72ba7b2abc8a9a4209ffa98ed5633} \begin{CompactList}\small\item\em logarithm of the normalizing constant, $\mathcal{I}$ \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_8e610e95401a11baf34f65e16ecd87be}{ void \hyperlink{classbdm_1_1egiw_8e610e95401a11baf34f65e16ecd87be}{pow} (double p)} \label{classbdm_1_1egiw_8e610e95401a11baf34f65e16ecd87be} \begin{CompactList}\small\item\em Power of the density, used e.g. to flatten the density. \item\end{CompactList}\item \hypertarget{classbdm_1_1eEF_deef7d6273ba4d5a5cf0bbd91ec7277a}{ virtual void \hyperlink{classbdm_1_1eEF_deef7d6273ba4d5a5cf0bbd91ec7277a}{dupdate} (mat \&v)} \label{classbdm_1_1eEF_deef7d6273ba4d5a5cf0bbd91ec7277a} \begin{CompactList}\small\item\em TODO decide if it is really needed. \item\end{CompactList}\item \hypertarget{classbdm_1_1eEF_a36d06ecdd6f4c79dc122510eaccc692}{ virtual double \hyperlink{classbdm_1_1eEF_a36d06ecdd6f4c79dc122510eaccc692}{evallog} (const vec \&val) const } \label{classbdm_1_1eEF_a36d06ecdd6f4c79dc122510eaccc692} \begin{CompactList}\small\item\em Evaluate normalized log-probability. \item\end{CompactList}\item \hypertarget{classbdm_1_1eEF_79a7c8ea8c02e45d410bd1d7ffd72b41}{ virtual vec \hyperlink{classbdm_1_1eEF_79a7c8ea8c02e45d410bd1d7ffd72b41}{evallog} (const mat \&Val) const } \label{classbdm_1_1eEF_79a7c8ea8c02e45d410bd1d7ffd72b41} \begin{CompactList}\small\item\em Evaluate normalized log-probability for many samples. \item\end{CompactList}\end{CompactItemize} \begin{Indent}{\bf Constructors}\par \begin{CompactItemize} \item \hypertarget{classbdm_1_1egiw_50149cf136c9120b4fff71c117f0bb2e}{ \textbf{egiw} ()} \label{classbdm_1_1egiw_50149cf136c9120b4fff71c117f0bb2e} \item \hypertarget{classbdm_1_1egiw_79037e048e717a076f342eb1d276870e}{ \textbf{egiw} (int dimx0, \hyperlink{classldmat}{ldmat} V0, double nu0=-1.0)} \label{classbdm_1_1egiw_79037e048e717a076f342eb1d276870e} \item \hypertarget{classbdm_1_1egiw_40b04f8ef133d089c4be2c7983e18b5c}{ void \textbf{set\_\-parameters} (int dimx0, \hyperlink{classldmat}{ldmat} V0, double nu0=-1.0)} \label{classbdm_1_1egiw_40b04f8ef133d089c4be2c7983e18b5c} \end{CompactItemize} \end{Indent} \begin{Indent}{\bf Access attributes}\par \begin{CompactItemize} \item \hypertarget{classbdm_1_1egiw_15792f3112e5cf67d572f491b09324c8}{ \hyperlink{classldmat}{ldmat} \& \textbf{\_\-V} ()} \label{classbdm_1_1egiw_15792f3112e5cf67d572f491b09324c8} \item \hypertarget{classbdm_1_1egiw_ad9c539a80a552e837245ddcebcbbba4}{ const \hyperlink{classldmat}{ldmat} \& \textbf{\_\-V} () const } \label{classbdm_1_1egiw_ad9c539a80a552e837245ddcebcbbba4} \item \hypertarget{classbdm_1_1egiw_a025ee710274ca142dd0ae978735ad4a}{ double \& \textbf{\_\-nu} ()} \label{classbdm_1_1egiw_a025ee710274ca142dd0ae978735ad4a} \item \hypertarget{classbdm_1_1egiw_cf3b2bcb158c15c24788bba90e4154e4}{ const double \& \textbf{\_\-nu} () const } \label{classbdm_1_1egiw_cf3b2bcb158c15c24788bba90e4154e4} \end{CompactItemize} \end{Indent} \begin{Indent}{\bf Matematical Operations}\par \begin{CompactItemize} \item \hypertarget{classbdm_1_1epdf_b4cf45fd83cc7573ede9fe1215256058}{ virtual mat \hyperlink{classbdm_1_1epdf_b4cf45fd83cc7573ede9fe1215256058}{sample\_\-m} (int N) const } \label{classbdm_1_1epdf_b4cf45fd83cc7573ede9fe1215256058} \begin{CompactList}\small\item\em Returns N samples, $ [x_1 , x_2 , \ldots \ $ from density $ f_x(rv)$. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_34956d4dd3176eeb5937cf48a1546b62}{ virtual vec \hyperlink{classbdm_1_1epdf_34956d4dd3176eeb5937cf48a1546b62}{evallog\_\-m} (const mat \&Val) const } \label{classbdm_1_1epdf_34956d4dd3176eeb5937cf48a1546b62} \begin{CompactList}\small\item\em Compute log-probability of multiple values argument {\tt val}. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_e584eac5579c1b6384947ecf66166c77}{ virtual \hyperlink{classbdm_1_1mpdf}{mpdf} $\ast$ \hyperlink{classbdm_1_1epdf_e584eac5579c1b6384947ecf66166c77}{condition} (const \hyperlink{classbdm_1_1RV}{RV} \&\hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}) const } \label{classbdm_1_1epdf_e584eac5579c1b6384947ecf66166c77} \begin{CompactList}\small\item\em Return conditional density on the given \hyperlink{classbdm_1_1RV}{RV}, the remaining rvs will be in conditioning. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_3fb2ece54f720b62ad325e61214fa0a1}{ virtual \hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \hyperlink{classbdm_1_1epdf_3fb2ece54f720b62ad325e61214fa0a1}{marginal} (const \hyperlink{classbdm_1_1RV}{RV} \&\hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}) const } \label{classbdm_1_1epdf_3fb2ece54f720b62ad325e61214fa0a1} \begin{CompactList}\small\item\em Return marginal density on the given \hyperlink{classbdm_1_1RV}{RV}, the remainig rvs are intergrated out. \item\end{CompactList}\end{CompactItemize} \end{Indent} \begin{Indent}{\bf Connection to other classes}\par {\em Description of the random quantity via attribute {\tt rv} is optional. For operations such as sampling {\tt rv} does not need to be set. However, for {\tt marginalization} and {\tt conditioning} {\tt rv} has to be set. NB: }\begin{CompactItemize} \item \hypertarget{classbdm_1_1epdf_f423e28448dbb69ef4905295ec8de8ff}{ void \hyperlink{classbdm_1_1epdf_f423e28448dbb69ef4905295ec8de8ff}{set\_\-rv} (const \hyperlink{classbdm_1_1RV}{RV} \&rv0)} \label{classbdm_1_1epdf_f423e28448dbb69ef4905295ec8de8ff} \begin{CompactList}\small\item\em Name its rv. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_c4b863ff84c7a4882fb3ad18556027f9}{ bool \hyperlink{classbdm_1_1epdf_c4b863ff84c7a4882fb3ad18556027f9}{isnamed} () const } \label{classbdm_1_1epdf_c4b863ff84c7a4882fb3ad18556027f9} \begin{CompactList}\small\item\em True if rv is assigned. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_a4ab378d5e004c3ff3e2d4e64f7bba21}{ const \hyperlink{classbdm_1_1RV}{RV} \& \hyperlink{classbdm_1_1epdf_a4ab378d5e004c3ff3e2d4e64f7bba21}{\_\-rv} () const } \label{classbdm_1_1epdf_a4ab378d5e004c3ff3e2d4e64f7bba21} \begin{CompactList}\small\item\em Return name (fails when isnamed is false). \item\end{CompactList}\end{CompactItemize} \end{Indent} \begin{Indent}{\bf Access to attributes}\par \begin{CompactItemize} \item \hypertarget{classbdm_1_1epdf_46dfe100cd621716ee5c7ee25a20f24b}{ bool \hyperlink{classbdm_1_1epdf_46dfe100cd621716ee5c7ee25a20f24b}{dimension} () const } \label{classbdm_1_1epdf_46dfe100cd621716ee5c7ee25a20f24b} \begin{CompactList}\small\item\em Size of the random variable. \item\end{CompactList}\end{CompactItemize} \end{Indent} \subsection*{Protected Attributes} \begin{CompactItemize} \item \hypertarget{classbdm_1_1egiw_ae56852845c6af176fd9017dbebbbd52}{ \hyperlink{classldmat}{ldmat} \hyperlink{classbdm_1_1egiw_ae56852845c6af176fd9017dbebbbd52}{V}} \label{classbdm_1_1egiw_ae56852845c6af176fd9017dbebbbd52} \begin{CompactList}\small\item\em Extended information matrix of sufficient statistics. \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_447eacf19d4f4083872686f044814dc4}{ double \hyperlink{classbdm_1_1egiw_447eacf19d4f4083872686f044814dc4}{nu}} \label{classbdm_1_1egiw_447eacf19d4f4083872686f044814dc4} \begin{CompactList}\small\item\em Number of data records (degrees of freedom) of sufficient statistics. \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_23e4d78bea7e98840f3da30e76a2b57a}{ int \hyperlink{classbdm_1_1egiw_23e4d78bea7e98840f3da30e76a2b57a}{dimx}} \label{classbdm_1_1egiw_23e4d78bea7e98840f3da30e76a2b57a} \begin{CompactList}\small\item\em Dimension of the output. \item\end{CompactList}\item \hypertarget{classbdm_1_1egiw_322414c32d9a21a006a5aab0311f64fd}{ int \hyperlink{classbdm_1_1egiw_322414c32d9a21a006a5aab0311f64fd}{nPsi}} \label{classbdm_1_1egiw_322414c32d9a21a006a5aab0311f64fd} \begin{CompactList}\small\item\em Dimension of the regressor. \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_16adac20ec7fe07e1ea0b27d917788ce}{ int \hyperlink{classbdm_1_1epdf_16adac20ec7fe07e1ea0b27d917788ce}{dim}} \label{classbdm_1_1epdf_16adac20ec7fe07e1ea0b27d917788ce} \begin{CompactList}\small\item\em dimension of the random variable \item\end{CompactList}\item \hypertarget{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{ \hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}} \label{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8} \begin{CompactList}\small\item\em Description of the random variable. \item\end{CompactList}\end{CompactItemize} The documentation for this class was generated from the following files:\begin{CompactItemize} \item \hyperlink{libEF_8h}{libEF.h}\item libEF.cpp\end{CompactItemize}