\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}
