\hypertarget{classmprod}{ \section{mprod Class Reference} \label{classmprod}\index{mprod@{mprod}} } Chain rule decomposition of \hyperlink{classepdf}{epdf}. {\tt \#include $<$emix.h$>$} Inheritance diagram for mprod:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=91pt]{classmprod__inherit__graph} \end{center} \end{figure} Collaboration diagram for mprod:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=102pt]{classmprod__coll__graph} \end{center} \end{figure} \subsection*{Public Member Functions} \begin{CompactItemize} \item \hypertarget{classmprod_419b303581a91ad85200bdcb4b3186f4}{ \hyperlink{classmprod_419b303581a91ad85200bdcb4b3186f4}{mprod} (Array$<$ \hyperlink{classmpdf}{mpdf} $\ast$ $>$ mFacs)} \label{classmprod_419b303581a91ad85200bdcb4b3186f4} \begin{CompactList}\small\item\em Constructor from list of mFacs,. \item\end{CompactList}\item \hypertarget{classmprod_f5e1075f133f203113d92084b4a47c28}{ double \hyperlink{classmprod_f5e1075f133f203113d92084b4a47c28}{evallogcond} (const vec \&val, const vec \&cond)} \label{classmprod_f5e1075f133f203113d92084b4a47c28} \begin{CompactList}\small\item\em Shortcut for conditioning and evaluation of the internal \hyperlink{classepdf}{epdf}. In some cases, this operation can be implemented efficiently. \item\end{CompactList}\item vec \hyperlink{classmprod_a48887eb8738a9e5550bfc38eb8e9d68}{samplecond} (const vec \&cond, double \&ll) \begin{CompactList}\small\item\em Returns the required moment of the \hyperlink{classepdf}{epdf}. \item\end{CompactList}\item \hypertarget{classmprod_e171c40e210539c2af01d6237785620b}{ mat \textbf{samplecond} (const vec \&cond, vec \&ll, int N)} \label{classmprod_e171c40e210539c2af01d6237785620b} \item \hyperlink{classRV}{RV} \hyperlink{classcompositepdf_635d219fb3e32852400d6f98aa4bdc93}{getrv} (bool checkoverlap=false) \begin{CompactList}\small\item\em find common rv, flag \item\end{CompactList}\item \hypertarget{classcompositepdf_5a4479785c1fdb2cc351fbea07b899ac}{ void \hyperlink{classcompositepdf_5a4479785c1fdb2cc351fbea07b899ac}{setrvc} (const \hyperlink{classRV}{RV} \&\hyperlink{classmpdf_f6687c07ff07d47812dd565368ca59eb}{rv}, \hyperlink{classRV}{RV} \&\hyperlink{classmpdf_acb7dda792b3cd5576f39fa3129abbab}{rvc})} \label{classcompositepdf_5a4479785c1fdb2cc351fbea07b899ac} \begin{CompactList}\small\item\em common rvc of all mpdfs is written to rvc \item\end{CompactList}\item virtual mat \hyperlink{classmpdf_b1dae6171ee39a6a05976c7b1007a3c5}{samplecond\_\-m} (const vec \&cond, vec \&ll, int N) \begin{CompactList}\small\item\em Returns. \item\end{CompactList}\item \hypertarget{classmpdf_0f95a0cc6ab40611f46804682446ed83}{ virtual void \hyperlink{classmpdf_0f95a0cc6ab40611f46804682446ed83}{condition} (const vec \&cond)} \label{classmpdf_0f95a0cc6ab40611f46804682446ed83} \begin{CompactList}\small\item\em Update {\tt ep} so that it represents this \hyperlink{classmpdf}{mpdf} conditioned on {\tt rvc} = cond. \item\end{CompactList}\item \hypertarget{classmpdf_95fcff214848f66f1b489459370573fa}{ virtual vec \hyperlink{classmpdf_95fcff214848f66f1b489459370573fa}{evallogcond\_\-m} (const mat \&Dt, const vec \&cond)} \label{classmpdf_95fcff214848f66f1b489459370573fa} \begin{CompactList}\small\item\em Matrix version of evallogcond. \item\end{CompactList}\item \hypertarget{classmpdf_15ef062183b1ccdf794732d5fa0b77cd}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_15ef062183b1ccdf794732d5fa0b77cd}{\_\-rvc} () const } \label{classmpdf_15ef062183b1ccdf794732d5fa0b77cd} \begin{CompactList}\small\item\em access function \item\end{CompactList}\item \hypertarget{classmpdf_71256ffb5fbd08f41d650e606a5bd585}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_71256ffb5fbd08f41d650e606a5bd585}{\_\-rv} () const } \label{classmpdf_71256ffb5fbd08f41d650e606a5bd585} \begin{CompactList}\small\item\em access function \item\end{CompactList}\item \hypertarget{classmpdf_e17780ee5b2cfe05922a6c56af1462f8}{ \hyperlink{classepdf}{epdf} \& \hyperlink{classmpdf_e17780ee5b2cfe05922a6c56af1462f8}{\_\-epdf} ()} \label{classmpdf_e17780ee5b2cfe05922a6c56af1462f8} \begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize} \subsection*{Protected Attributes} \begin{CompactItemize} \item \hypertarget{classmprod_0883ce383e8475546df138719918f70e}{ Array$<$ \hyperlink{classepdf}{epdf} $\ast$ $>$ \hyperlink{classmprod_0883ce383e8475546df138719918f70e}{epdfs}} \label{classmprod_0883ce383e8475546df138719918f70e} \begin{CompactList}\small\item\em pointers to epdfs - shortcut to \hyperlink{classcompositepdf_637877061b917a16a0421bb5c4cd480d}{mpdfs()}.\hyperlink{classmpdf_e17780ee5b2cfe05922a6c56af1462f8}{\_\-epdf()} \item\end{CompactList}\item \hypertarget{classmprod_5334777dda3dad9b9fa73e22e8d0f24c}{ Array$<$ \hyperlink{classdatalink__m2m}{datalink\_\-m2m} $\ast$ $>$ \hyperlink{classmprod_5334777dda3dad9b9fa73e22e8d0f24c}{dls}} \label{classmprod_5334777dda3dad9b9fa73e22e8d0f24c} \begin{CompactList}\small\item\em Data link for each mpdfs. \item\end{CompactList}\item \hypertarget{classcompositepdf_c1646fe41ff5934d010e54ccaa46133f}{ int \hyperlink{classcompositepdf_c1646fe41ff5934d010e54ccaa46133f}{n}} \label{classcompositepdf_c1646fe41ff5934d010e54ccaa46133f} \begin{CompactList}\small\item\em Number of mpdfs in the composite. \item\end{CompactList}\item \hypertarget{classcompositepdf_637877061b917a16a0421bb5c4cd480d}{ Array$<$ \hyperlink{classmpdf}{mpdf} $\ast$ $>$ \hyperlink{classcompositepdf_637877061b917a16a0421bb5c4cd480d}{mpdfs}} \label{classcompositepdf_637877061b917a16a0421bb5c4cd480d} \begin{CompactList}\small\item\em Elements of composition. \item\end{CompactList}\item \hypertarget{classmpdf_f6687c07ff07d47812dd565368ca59eb}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_f6687c07ff07d47812dd565368ca59eb}{rv}} \label{classmpdf_f6687c07ff07d47812dd565368ca59eb} \begin{CompactList}\small\item\em modeled random variable \item\end{CompactList}\item \hypertarget{classmpdf_acb7dda792b3cd5576f39fa3129abbab}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_acb7dda792b3cd5576f39fa3129abbab}{rvc}} \label{classmpdf_acb7dda792b3cd5576f39fa3129abbab} \begin{CompactList}\small\item\em random variable in condition \item\end{CompactList}\item \hypertarget{classmpdf_7aa894208a32f3487827df6d5054424c}{ \hyperlink{classepdf}{epdf} $\ast$ \hyperlink{classmpdf_7aa894208a32f3487827df6d5054424c}{ep}} \label{classmpdf_7aa894208a32f3487827df6d5054424c} \begin{CompactList}\small\item\em pointer to internal \hyperlink{classepdf}{epdf} \item\end{CompactList}\end{CompactItemize} \subsection{Detailed Description} Chain rule decomposition of \hyperlink{classepdf}{epdf}. Probability density in the form of Chain-rule decomposition: $\backslash$\mbox{[} f(x\_\-1,x\_\-2,x\_\-3) = f(x\_\-1$|$x\_\-2,x\_\-3)f(x\_\-2,x\_\-3)f(x\_\-3) $\backslash$\mbox{]} Note that \subsection{Member Function Documentation} \hypertarget{classmprod_a48887eb8738a9e5550bfc38eb8e9d68}{ \index{mprod@{mprod}!samplecond@{samplecond}} \index{samplecond@{samplecond}!mprod@{mprod}} \subsubsection[samplecond]{\setlength{\rightskip}{0pt plus 5cm}vec mprod::samplecond (const vec \& {\em cond}, \/ double \& {\em ll})\hspace{0.3cm}{\tt \mbox{[}inline, virtual\mbox{]}}}} \label{classmprod_a48887eb8738a9e5550bfc38eb8e9d68} Returns the required moment of the \hyperlink{classepdf}{epdf}. 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 from \hyperlink{classmpdf_3f172b79ec4a5ebc87898a5381141f1b}{mpdf}. References RV::count(), dls, epdfs, compositepdf::mpdfs, compositepdf::n, and mpdf::rv.\hypertarget{classcompositepdf_635d219fb3e32852400d6f98aa4bdc93}{ \index{mprod@{mprod}!getrv@{getrv}} \index{getrv@{getrv}!mprod@{mprod}} \subsubsection[getrv]{\setlength{\rightskip}{0pt plus 5cm}{\bf RV} compositepdf::getrv (bool {\em checkoverlap} = {\tt false})\hspace{0.3cm}{\tt \mbox{[}inherited\mbox{]}}}} \label{classcompositepdf_635d219fb3e32852400d6f98aa4bdc93} find common rv, flag \begin{Desc} \item[Parameters:] \begin{description} \item[{\em checkoverlap}]modifies whether overlaps are acceptable \end{description} \end{Desc} References RV::add(), compositepdf::mpdfs, and compositepdf::n.\hypertarget{classmpdf_b1dae6171ee39a6a05976c7b1007a3c5}{ \index{mprod@{mprod}!samplecond\_\-m@{samplecond\_\-m}} \index{samplecond\_\-m@{samplecond\_\-m}!mprod@{mprod}} \subsubsection[samplecond\_\-m]{\setlength{\rightskip}{0pt plus 5cm}virtual mat mpdf::samplecond\_\-m (const vec \& {\em cond}, \/ vec \& {\em ll}, \/ int {\em N})\hspace{0.3cm}{\tt \mbox{[}inline, virtual, inherited\mbox{]}}}} \label{classmpdf_b1dae6171ee39a6a05976c7b1007a3c5} 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 mpdf::condition(), RV::count(), mpdf::ep, epdf::evallog(), mpdf::rv, and epdf::sample(). The documentation for this class was generated from the following file:\begin{CompactItemize} \item work/git/mixpp/bdm/stat/\hyperlink{emix_8h}{emix.h}\end{CompactItemize}