\hypertarget{classbdm_1_1mratio}{
\section{bdm::mratio Class Reference}
\label{classbdm_1_1mratio}\index{bdm::mratio@{bdm::mratio}}
}
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 $.  


{\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}
Collaboration diagram for bdm::mratio:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=148pt]{classbdm_1_1mratio__coll__graph}
\end{center}
\end{figure}
\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} \&\hyperlink{classbdm_1_1mpdf_9bcfb45435d30983f436d41c298cbb51}{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}\item 
virtual vec \hyperlink{classbdm_1_1mpdf_e4848a428d8ef0549c6e4a9ed386d9f2}{samplecond} (const vec \&cond, double \&ll)
\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_ee26963a637b2ea1fb1933652981e652}{samplecond\_\-m} (const vec \&cond, vec \&ll, 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}\item 
\hypertarget{classbdm_1_1mpdf_b3aba7311038bf990d706a64cab60cf8}{
\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1mpdf_b3aba7311038bf990d706a64cab60cf8}{\_\-rvc} () const }
\label{classbdm_1_1mpdf_b3aba7311038bf990d706a64cab60cf8}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_222d5280e309c5a053ba73841e98c151}{
\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1mpdf_222d5280e309c5a053ba73841e98c151}{\_\-rv} () const }
\label{classbdm_1_1mpdf_222d5280e309c5a053ba73841e98c151}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_1892fe3933488942253679f068e9e7f6}{
\hyperlink{classbdm_1_1epdf}{epdf} \& \hyperlink{classbdm_1_1mpdf_1892fe3933488942253679f068e9e7f6}{\_\-epdf} ()}
\label{classbdm_1_1mpdf_1892fe3933488942253679f068e9e7f6}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_05e843fd11c410a99dad2b88c55aca80}{
\hyperlink{classbdm_1_1epdf}{epdf} $\ast$ \hyperlink{classbdm_1_1mpdf_05e843fd11c410a99dad2b88c55aca80}{\_\-e} ()}
\label{classbdm_1_1mpdf_05e843fd11c410a99dad2b88c55aca80}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize}
\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 datalink between conditional and nom \item\end{CompactList}\item 
\hypertarget{classbdm_1_1mpdf_9bcfb45435d30983f436d41c298cbb51}{
\hyperlink{classbdm_1_1RV}{RV} \hyperlink{classbdm_1_1mpdf_9bcfb45435d30983f436d41c298cbb51}{rv}}
\label{classbdm_1_1mpdf_9bcfb45435d30983f436d41c298cbb51}

\begin{CompactList}\small\item\em modeled random variable \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{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{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 den, destroynom, bdm::RV::length(), bdm::epdf::marginal(), nom, and bdm::mpdf::rvc.

\subsection{Member Function Documentation}
\hypertarget{classbdm_1_1mpdf_e4848a428d8ef0549c6e4a9ed386d9f2}{
\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}, \/  double \& {\em ll})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classbdm_1_1mpdf_e4848a428d8ef0549c6e4a9ed386d9f2}


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} \item[{\em ll}]is a return value of log-likelihood of the sample. \end{description}
\end{Desc}


Reimplemented in \hyperlink{classbdm_1_1mprod_1a37c2aaba8bde7fce5351c39b6e1168}{bdm::mprod}.

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

Referenced by bdm::MPF$<$ BM\_\-T $>$::bayes(), bdm::PF::bayes(), and bdm::ArxDS::step().\hypertarget{classbdm_1_1mpdf_ee26963a637b2ea1fb1933652981e652}{
\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}, \/  vec \& {\em ll}, \/  int {\em N})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual, inherited\mbox{]}}}}
\label{classbdm_1_1mpdf_ee26963a637b2ea1fb1933652981e652}


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::RV::count(), bdm::mpdf::ep, bdm::epdf::evallog(), bdm::mpdf::rv, 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}
