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