\hypertarget{classbdm_1_1mratio}{
\section{bdm::mratio Class Reference}
\label{classbdm_1_1mratio}\index{bdm::mratio@{bdm::mratio}}
}
{\tt \#include $<$emix.h$>$}

Inheritance diagram for bdm::mratio:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=64pt]{classbdm_1_1mratio__inherit__graph}
\end{center}
\end{figure}


\subsection{Detailed Description}
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 $. 

In particular this type of arise by conditioning of a mixture model.

At present the only supported operation is \hyperlink{classbdm_1_1mratio_3a2cbce8c61ca9f592d9c2220f7c1204}{evallogcond()}. \subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classbdm_1_1mratio_0ff56d13f9515d7e5f23b7a4cc5529b4}{mratio} (const \hyperlink{classbdm_1_1epdf}{epdf} $\ast$nom0, const \hyperlink{classbdm_1_1RV}{RV} \&rv, bool copy=false)
\item 
\hypertarget{classbdm_1_1mratio_3a2cbce8c61ca9f592d9c2220f7c1204}{
double \hyperlink{classbdm_1_1mratio_3a2cbce8c61ca9f592d9c2220f7c1204}{evallogcond} (const vec \&val, const vec \&cond)}
\label{classbdm_1_1mratio_3a2cbce8c61ca9f592d9c2220f7c1204}

\begin{CompactList}\small\item\em Shortcut for conditioning and evaluation of the internal \hyperlink{classbdm_1_1epdf}{epdf}. In some cases, this operation can be implemented efficiently. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mratio_c8b39fea586d4258bb3c881406edaf15}{
void \hyperlink{classbdm_1_1mratio_c8b39fea586d4258bb3c881406edaf15}{ownnom} ()}
\label{classbdm_1_1mratio_c8b39fea586d4258bb3c881406edaf15}

\begin{CompactList}\small\item\em Object takes ownership of nom and will destroy it. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mratio_c0cc0b25dbdc54751466616655454c5c}{
\hyperlink{classbdm_1_1mratio_c0cc0b25dbdc54751466616655454c5c}{$\sim$mratio} ()}
\label{classbdm_1_1mratio_c0cc0b25dbdc54751466616655454c5c}

\begin{CompactList}\small\item\em Default destructor. \item\end{CompactList}\end{CompactItemize}
\begin{Indent}{\bf Matematical operations}\par
\begin{CompactItemize}
\item 
virtual vec \hyperlink{classbdm_1_1mpdf_f0c1db6fcbb3aae2dd6123884457a367}{samplecond} (const vec \&cond)
\begin{CompactList}\small\item\em Returns a sample from the density conditioned on {\tt cond}, $x \sim epdf(rv|cond)$. \item\end{CompactList}\item 
virtual mat \hyperlink{classbdm_1_1mpdf_afe4185b26baeb03688202e254d3b005}{samplecond\_\-m} (const vec \&cond, int N)
\begin{CompactList}\small\item\em Returns. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_db94784a9aacf74c65c5a014f6743530}{
virtual void \hyperlink{classbdm_1_1mpdf_db94784a9aacf74c65c5a014f6743530}{condition} (const vec \&cond)}
\label{classbdm_1_1mpdf_db94784a9aacf74c65c5a014f6743530}

\begin{CompactList}\small\item\em Update {\tt ep} so that it represents this \hyperlink{classbdm_1_1mpdf}{mpdf} conditioned on {\tt rvc} = cond. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_0b0ed1ed663071bb7cf4a1349eb94fcb}{
virtual vec \hyperlink{classbdm_1_1mpdf_0b0ed1ed663071bb7cf4a1349eb94fcb}{evallogcond\_\-m} (const mat \&Dt, const vec \&cond)}
\label{classbdm_1_1mpdf_0b0ed1ed663071bb7cf4a1349eb94fcb}

\begin{CompactList}\small\item\em Matrix version of evallogcond. \item\end{CompactList}\end{CompactItemize}
\end{Indent}
\begin{Indent}{\bf Access to attributes}\par
\begin{CompactItemize}
\item 
\hypertarget{classbdm_1_1mpdf_5571482d150fbcb72cc36f6694ce1a10}{
\hyperlink{classbdm_1_1RV}{RV} \textbf{\_\-rv} ()}
\label{classbdm_1_1mpdf_5571482d150fbcb72cc36f6694ce1a10}

\item 
\hypertarget{classbdm_1_1mpdf_26001264236846897bd11e4baad47245}{
\hyperlink{classbdm_1_1RV}{RV} \textbf{\_\-rvc} ()}
\label{classbdm_1_1mpdf_26001264236846897bd11e4baad47245}

\item 
\hypertarget{classbdm_1_1mpdf_1c2bae3e1e90874e72941863974ec0ed}{
int \textbf{dimension} ()}
\label{classbdm_1_1mpdf_1c2bae3e1e90874e72941863974ec0ed}

\item 
\hypertarget{classbdm_1_1mpdf_35e135910aed187b7290742f50e61bc8}{
int \textbf{dimensionc} ()}
\label{classbdm_1_1mpdf_35e135910aed187b7290742f50e61bc8}

\item 
\hypertarget{classbdm_1_1mpdf_1892fe3933488942253679f068e9e7f6}{
\hyperlink{classbdm_1_1epdf}{epdf} \& \textbf{\_\-epdf} ()}
\label{classbdm_1_1mpdf_1892fe3933488942253679f068e9e7f6}

\item 
\hypertarget{classbdm_1_1mpdf_05e843fd11c410a99dad2b88c55aca80}{
\hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \textbf{\_\-e} ()}
\label{classbdm_1_1mpdf_05e843fd11c410a99dad2b88c55aca80}

\end{CompactItemize}
\end{Indent}
\begin{Indent}{\bf Connection to other objects}\par
\begin{CompactItemize}
\item 
\hypertarget{classbdm_1_1mpdf_7631a5570e4ade1420065e8df78f4401}{
void \textbf{set\_\-rvc} (const \hyperlink{classbdm_1_1RV}{RV} \&rvc0)}
\label{classbdm_1_1mpdf_7631a5570e4ade1420065e8df78f4401}

\item 
\hypertarget{classbdm_1_1mpdf_18ac26bc2f96ae01ef4eb06178abbd75}{
void \textbf{set\_\-rv} (const \hyperlink{classbdm_1_1RV}{RV} \&rv0)}
\label{classbdm_1_1mpdf_18ac26bc2f96ae01ef4eb06178abbd75}

\item 
\hypertarget{classbdm_1_1mpdf_f8e3798150b42fd1f3e16ddbbe0e7045}{
bool \textbf{isnamed} ()}
\label{classbdm_1_1mpdf_f8e3798150b42fd1f3e16ddbbe0e7045}

\end{CompactItemize}
\end{Indent}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classbdm_1_1mratio_f31caba90a2aa10fbf7631832404fe54}{
const \hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \hyperlink{classbdm_1_1mratio_f31caba90a2aa10fbf7631832404fe54}{nom}}
\label{classbdm_1_1mratio_f31caba90a2aa10fbf7631832404fe54}

\begin{CompactList}\small\item\em Nominator in the form of \hyperlink{classbdm_1_1mpdf}{mpdf}. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mratio_7daa5d02d3a3be9d15fd4156d886ed88}{
\hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \hyperlink{classbdm_1_1mratio_7daa5d02d3a3be9d15fd4156d886ed88}{den}}
\label{classbdm_1_1mratio_7daa5d02d3a3be9d15fd4156d886ed88}

\begin{CompactList}\small\item\em Denominator in the form of \hyperlink{classbdm_1_1epdf}{epdf}. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mratio_51bfe6675e724f7fbeaaeacce5a9f9b8}{
bool \hyperlink{classbdm_1_1mratio_51bfe6675e724f7fbeaaeacce5a9f9b8}{destroynom}}
\label{classbdm_1_1mratio_51bfe6675e724f7fbeaaeacce5a9f9b8}

\begin{CompactList}\small\item\em flag for destructor \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mratio_cda5bd23ba60146d69e1f804ff7710c7}{
\hyperlink{classbdm_1_1datalink__m2e}{datalink\_\-m2e} \hyperlink{classbdm_1_1mratio_cda5bd23ba60146d69e1f804ff7710c7}{dl}}
\label{classbdm_1_1mratio_cda5bd23ba60146d69e1f804ff7710c7}

\begin{CompactList}\small\item\em \hyperlink{classbdm_1_1datalink}{datalink} between conditional and nom \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_7c1900976ff13dbc09c9729b3bbff9e6}{
int \hyperlink{classbdm_1_1mpdf_7c1900976ff13dbc09c9729b3bbff9e6}{dimc}}
\label{classbdm_1_1mpdf_7c1900976ff13dbc09c9729b3bbff9e6}

\begin{CompactList}\small\item\em dimension of the condition \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_5a5f08950daa08b85b01ddf4e1c36288}{
\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1mpdf_5a5f08950daa08b85b01ddf4e1c36288}{rvc}}
\label{classbdm_1_1mpdf_5a5f08950daa08b85b01ddf4e1c36288}

\begin{CompactList}\small\item\em random variable in condition \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_5eea43c56d38e4441bfb30270db949c0}{
\hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \hyperlink{classbdm_1_1mpdf_5eea43c56d38e4441bfb30270db949c0}{ep}}
\label{classbdm_1_1mpdf_5eea43c56d38e4441bfb30270db949c0}

\begin{CompactList}\small\item\em pointer to internal \hyperlink{classbdm_1_1epdf}{epdf} \item\end{CompactList}\end{CompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classbdm_1_1mratio_0ff56d13f9515d7e5f23b7a4cc5529b4}{
\index{bdm::mratio@{bdm::mratio}!mratio@{mratio}}
\index{mratio@{mratio}!bdm::mratio@{bdm::mratio}}
\subsubsection[mratio]{\setlength{\rightskip}{0pt plus 5cm}bdm::mratio::mratio (const {\bf epdf} $\ast$ {\em nom0}, \/  const {\bf RV} \& {\em rv}, \/  bool {\em copy} = {\tt false})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classbdm_1_1mratio_0ff56d13f9515d7e5f23b7a4cc5529b4}


Default constructor. By default, the given \hyperlink{classbdm_1_1epdf}{epdf} is not copied! It is assumed that this function will be used only temporarily. 

References bdm::epdf::\_\-rv(), den, destroynom, bdm::mpdf::ep, bdm::RV::length(), bdm::epdf::marginal(), nom, bdm::mpdf::rvc, bdm::epdf::set\_\-rv(), and bdm::RV::subt().

\subsection{Member Function Documentation}
\hypertarget{classbdm_1_1mpdf_f0c1db6fcbb3aae2dd6123884457a367}{
\index{bdm::mratio@{bdm::mratio}!samplecond@{samplecond}}
\index{samplecond@{samplecond}!bdm::mratio@{bdm::mratio}}
\subsubsection[samplecond]{\setlength{\rightskip}{0pt plus 5cm}virtual vec bdm::mpdf::samplecond (const vec \& {\em cond})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classbdm_1_1mpdf_f0c1db6fcbb3aae2dd6123884457a367}


Returns a sample from the density conditioned on {\tt cond}, $x \sim epdf(rv|cond)$. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cond}]is numeric value of {\tt rv} \end{description}
\end{Desc}


References bdm::mpdf::condition(), bdm::mpdf::ep, and bdm::epdf::sample().

Referenced by bdm::MPF$<$ BM\_\-T $>$::bayes(), bdm::PF::bayes(), and bdm::ArxDS::step().\hypertarget{classbdm_1_1mpdf_afe4185b26baeb03688202e254d3b005}{
\index{bdm::mratio@{bdm::mratio}!samplecond\_\-m@{samplecond\_\-m}}
\index{samplecond\_\-m@{samplecond\_\-m}!bdm::mratio@{bdm::mratio}}
\subsubsection[samplecond\_\-m]{\setlength{\rightskip}{0pt plus 5cm}virtual mat bdm::mpdf::samplecond\_\-m (const vec \& {\em cond}, \/  int {\em N})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classbdm_1_1mpdf_afe4185b26baeb03688202e254d3b005}


Returns. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em N}]samples from the density conditioned on {\tt cond}, $x \sim epdf(rv|cond)$. \item[{\em cond}]is numeric value of {\tt rv} \item[{\em ll}]is a return value of log-likelihood of the sample. \end{description}
\end{Desc}


References bdm::mpdf::condition(), bdm::epdf::dimension(), bdm::mpdf::ep, and bdm::epdf::sample().

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
\hyperlink{emix_8h}{emix.h}\end{CompactItemize}
