\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=47pt]{classmprod__inherit__graph} \end{center} \end{figure} Collaboration diagram for mprod:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=60pt]{classmprod__coll__graph} \end{center} \end{figure} \subsection*{Public Member Functions} \begin{CompactItemize} \item \hypertarget{classmprod_37f028561c45ce5fd3a1351a911e31dc}{ \hyperlink{classmprod_37f028561c45ce5fd3a1351a911e31dc}{mprod} (Array$<$ \hyperlink{classmpdf}{mpdf} $\ast$ $>$ mFacs, bool overlap=false)} \label{classmprod_37f028561c45ce5fd3a1351a911e31dc} \begin{CompactList}\small\item\em Constructor from list of mFacs, Additional parameter overlap is left for future use. Do not set to true for \hyperlink{classmprod}{mprod}. \item\end{CompactList}\item \hypertarget{classmprod_c15df5d0c7bb9dc82dd78f037b2550a8}{ double \textbf{evalpdflog} (const vec \&val) const } \label{classmprod_c15df5d0c7bb9dc82dd78f037b2550a8} \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 mat \hyperlink{classmprod_e171c40e210539c2af01d6237785620b}{samplecond} (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_80b738ece5bd4f8c4edaee4b38906f91}{ virtual double \hyperlink{classmpdf_80b738ece5bd4f8c4edaee4b38906f91}{evalcond} (const vec \&dt, const vec \&cond)} \label{classmpdf_80b738ece5bd4f8c4edaee4b38906f91} \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 \hypertarget{classmpdf_ec9c850305984582548e8deb64f0ffe8}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_ec9c850305984582548e8deb64f0ffe8}{\_\-rvc} ()} \label{classmpdf_ec9c850305984582548e8deb64f0ffe8} \begin{CompactList}\small\item\em access function \item\end{CompactList}\item \hypertarget{classmpdf_1e71ad4c66d5884c82d4a3b06b42fe32}{ \hyperlink{classRV}{RV} \hyperlink{classmpdf_1e71ad4c66d5884c82d4a3b06b42fe32}{\_\-rv} ()} \label{classmpdf_1e71ad4c66d5884c82d4a3b06b42fe32} \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_7dcf1dde4a220f8c7b97ed987bff6c1f}{ int \textbf{n}} \label{classmprod_7dcf1dde4a220f8c7b97ed987bff6c1f} \item \hypertarget{classmprod_0883ce383e8475546df138719918f70e}{ Array$<$ \hyperlink{classepdf}{epdf} $\ast$ $>$ \textbf{epdfs}} \label{classmprod_0883ce383e8475546df138719918f70e} \item \hypertarget{classmprod_2389c7585ac5d0d79587625186818889}{ Array$<$ \hyperlink{classmpdf}{mpdf} $\ast$ $>$ \textbf{mpdfs}} \label{classmprod_2389c7585ac5d0d79587625186818889} \item \hypertarget{classmprod_c8f78fbcdb4e38ecd3197d2958082497}{ Array$<$ ivec $>$ \hyperlink{classmprod_c8f78fbcdb4e38ecd3197d2958082497}{rvinds}} \label{classmprod_c8f78fbcdb4e38ecd3197d2958082497} \begin{CompactList}\small\item\em Indeces of rvs in common rv. \item\end{CompactList}\item \hypertarget{classmprod_1725c7b497a27ab3c4889b846666b516}{ Array$<$ ivec $>$ \hyperlink{classmprod_1725c7b497a27ab3c4889b846666b516}{rvcinrv}} \label{classmprod_1725c7b497a27ab3c4889b846666b516} \begin{CompactList}\small\item\em Indeces of rvc in common rv. \item\end{CompactList}\item \hypertarget{classmprod_cc85192d8abc01832937ed8b62e363a6}{ Array$<$ ivec $>$ \hyperlink{classmprod_cc85192d8abc01832937ed8b62e363a6}{rvcinds}} \label{classmprod_cc85192d8abc01832937ed8b62e363a6} \begin{CompactList}\small\item\em Indeces of rvc in common rvc. \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(), mpdf::rv, rvcinds, rvcinrv, and rvinds. Referenced by samplecond().\hypertarget{classmprod_e171c40e210539c2af01d6237785620b}{ \index{mprod@{mprod}!samplecond@{samplecond}} \index{samplecond@{samplecond}!mprod@{mprod}} \subsubsection[samplecond]{\setlength{\rightskip}{0pt plus 5cm}mat mprod::samplecond (const vec \& {\em cond}, \/ vec \& {\em ll}, \/ int {\em N})\hspace{0.3cm}{\tt \mbox{[}inline, virtual\mbox{]}}}} \label{classmprod_e171c40e210539c2af01d6237785620b} 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} Reimplemented from \hyperlink{classmpdf_0e37163660f93df2a4d723cedb1da89c}{mpdf}. References RV::count(), mpdf::rv, and samplecond(). The documentation for this class was generated from the following files:\begin{CompactItemize} \item work/git/mixpp/bdm/stat/\hyperlink{emix_8h}{emix.h}\item work/git/mixpp/bdm/stat/emix.cpp\end{CompactItemize}