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