\hypertarget{classbdm_1_1egiw}{
\section{bdm::egiw Class Reference}
\label{classbdm_1_1egiw}\index{bdm::egiw@{bdm::egiw}}
}
Gauss-inverse-Wishart density stored in LD form.  


{\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}
Collaboration diagram for bdm::egiw:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=89pt]{classbdm_1_1egiw__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classbdm_1_1egiw_a60e072c191acf65ab480deeb11c5b88}{
\hyperlink{classbdm_1_1egiw_a60e072c191acf65ab480deeb11c5b88}{egiw} (\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}, mat V0, double nu0=-1.0)}
\label{classbdm_1_1egiw_a60e072c191acf65ab480deeb11c5b88}

\begin{CompactList}\small\item\em Default constructor, if nu0$<$0 a minimal nu0 will be computed. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1egiw_bc3db93cb60dd29187eb3c6cfd557f97}{
\hyperlink{classbdm_1_1egiw_bc3db93cb60dd29187eb3c6cfd557f97}{egiw} (\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}, \hyperlink{classldmat}{ldmat} V0, double nu0=-1.0)}
\label{classbdm_1_1egiw_bc3db93cb60dd29187eb3c6cfd557f97}

\begin{CompactList}\small\item\em Full constructor for V in \hyperlink{classldmat}{ldmat} form. \item\end{CompactList}\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 $epdf(rv)$. \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_15792f3112e5cf67d572f491b09324c8}{
\hyperlink{classldmat}{ldmat} \& \hyperlink{classbdm_1_1egiw_15792f3112e5cf67d572f491b09324c8}{\_\-V} ()}
\label{classbdm_1_1egiw_15792f3112e5cf67d572f491b09324c8}

\begin{CompactList}\small\item\em returns a pointer to the internal statistics. Use with Care! \item\end{CompactList}\item 
\hypertarget{classbdm_1_1egiw_ad9c539a80a552e837245ddcebcbbba4}{
const \hyperlink{classldmat}{ldmat} \& \hyperlink{classbdm_1_1egiw_ad9c539a80a552e837245ddcebcbbba4}{\_\-V} () const }
\label{classbdm_1_1egiw_ad9c539a80a552e837245ddcebcbbba4}

\begin{CompactList}\small\item\em returns a pointer to the internal statistics. Use with Care! \item\end{CompactList}\item 
\hypertarget{classbdm_1_1egiw_a025ee710274ca142dd0ae978735ad4a}{
double \& \hyperlink{classbdm_1_1egiw_a025ee710274ca142dd0ae978735ad4a}{\_\-nu} ()}
\label{classbdm_1_1egiw_a025ee710274ca142dd0ae978735ad4a}

\begin{CompactList}\small\item\em returns a pointer to the internal statistics. Use with Care! \item\end{CompactList}\item 
\hypertarget{classbdm_1_1egiw_cf3b2bcb158c15c24788bba90e4154e4}{
const double \& \textbf{\_\-nu} () const }
\label{classbdm_1_1egiw_cf3b2bcb158c15c24788bba90e4154e4}

\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}\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 from density $epdf(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}\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 access function, possibly dangerous! \item\end{CompactList}\item 
\hypertarget{classbdm_1_1epdf_62e88cbce0ce77a8692f5e15d76e805f}{
void \hyperlink{classbdm_1_1epdf_62e88cbce0ce77a8692f5e15d76e805f}{\_\-renewrv} (const \hyperlink{classbdm_1_1RV}{RV} \&in\_\-rv)}
\label{classbdm_1_1epdf_62e88cbce0ce77a8692f5e15d76e805f}

\begin{CompactList}\small\item\em modifier function - useful when copying epdfs \item\end{CompactList}\end{CompactItemize}
\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_40b68a9c3b2120fba94cc4d2fcd291e1}{
int \hyperlink{classbdm_1_1egiw_40b68a9c3b2120fba94cc4d2fcd291e1}{xdim}}
\label{classbdm_1_1egiw_40b68a9c3b2120fba94cc4d2fcd291e1}

\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_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{
\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}{rv}}
\label{classbdm_1_1epdf_62c5b8ff71d9ebe6cd58d3c342eb1dc8}

\begin{CompactList}\small\item\em Identified of the random variable. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Gauss-inverse-Wishart density stored in LD form. 

For $p$-variate densities, given rv.count() should be $p\times$ V.rows(). 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
\hyperlink{libEF_8h}{libEF.h}\item 
libEF.cpp\end{CompactItemize}
