\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, 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 \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 \hypertarget{classcompositepdf_08958c8f76d65de94ecc37b8d90bc77a}{ void \hyperlink{classcompositepdf_08958c8f76d65de94ecc37b8d90bc77a}{setindices} (const \hyperlink{classRV}{RV} \&\hyperlink{classmpdf_f6687c07ff07d47812dd565368ca59eb}{rv})} \label{classcompositepdf_08958c8f76d65de94ecc37b8d90bc77a} \begin{CompactList}\small\item\em fill all rv$\ast$inrv$\ast$ according to \item\end{CompactList}\item \hypertarget{classcompositepdf_3bd4ada95f381ea6c4cff2dc86e957c4}{ void \hyperlink{classcompositepdf_3bd4ada95f381ea6c4cff2dc86e957c4}{setrvcinrv} (const \hyperlink{classRV}{RV} \&\hyperlink{classmpdf_acb7dda792b3cd5576f39fa3129abbab}{rvc}, Array$<$ ivec $>$ \&rvcind)} \label{classcompositepdf_3bd4ada95f381ea6c4cff2dc86e957c4} \begin{CompactList}\small\item\em Function fills Array by indeces of mpdfs inside given rv. \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_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_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{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{classcompositepdf_4d4a8269f9faefeca8cdc251a5a29a7f}{ Array$<$ ivec $>$ \hyperlink{classcompositepdf_4d4a8269f9faefeca8cdc251a5a29a7f}{rvsinrv}} \label{classcompositepdf_4d4a8269f9faefeca8cdc251a5a29a7f} \begin{CompactList}\small\item\em Indeces of rvs in common rv. \item\end{CompactList}\item \hypertarget{classcompositepdf_3df07bb5e3ed36a3119b145043296676}{ Array$<$ ivec $>$ \hyperlink{classcompositepdf_3df07bb5e3ed36a3119b145043296676}{rvcsinrv}} \label{classcompositepdf_3df07bb5e3ed36a3119b145043296676} \begin{CompactList}\small\item\em Indeces of rvc in common rv. \item\end{CompactList}\item \hypertarget{classcompositepdf_de3bd289a26d5549dcf1ed19e5b13569}{ Array$<$ ivec $>$ \hyperlink{classcompositepdf_de3bd289a26d5549dcf1ed19e5b13569}{rvinrvcs}} \label{classcompositepdf_de3bd289a26d5549dcf1ed19e5b13569} \begin{CompactList}\small\item\em Indeces of common rv in 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(), epdfs, compositepdf::mpdfs, compositepdf::n, mpdf::rv, rvcinds, compositepdf::rvcsinrv, compositepdf::rvinrvcs, and compositepdf::rvsinrv. 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().\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. 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}