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