bdm::mprod Class Reference

Chain rule decomposition of epdf. More...

#include <emix.h>

List of all members.

Public Member Functions

 mprod ()
 Constructor from list of mFacs,.
 mprod (Array< mpdf * > mFacs)
void set_elements (Array< mpdf * > mFacs, bool own=false)
double evallogcond (const vec &val, const vec &cond)
 Shortcut for conditioning and evaluation of the internal epdf. In some cases, this operation can be implemented efficiently.
vec evallogcond_m (const mat &Dt, const vec &cond)
 Matrix version of evallogcond.
vec evallogcond_m (const Array< vec > &Dt, const vec &cond)
 Array<vec> version of evallogcond.
vec samplecond (const vec &cond)
 Returns a sample from the density conditioned on cond, $x \sim epdf(rv|cond)$.
mat samplecond (const vec &cond, int N)
void from_setting (const Setting &set)
RV getrv (bool checkoverlap=false)
 find common rv, flag
void setrvc (const RV &rv, RV &rvc)
 common rvc of all mpdfs is written to rvc
virtual string to_string ()
 This method returns a basic info about the current instance.
virtual void to_setting (Setting &set) const
 This method save all the instance properties into the Setting structure.
virtual void validate ()
 This method TODO.
Matematical operations
virtual mat samplecond_m (const vec &cond, int N)
 Returns.
virtual void condition (const vec &cond)
 Update ep so that it represents this mpdf conditioned on rvc = cond.
Access to attributes
RV _rv ()
RV _rvc ()
int dimension ()
int dimensionc ()
epdf_epdf ()
epdf_e ()
Connection to other objects
void set_rvc (const RV &rvc0)
void set_rv (const RV &rv0)
bool isnamed ()

Protected Attributes

Array< epdf * > epdfs
 pointers to epdfs - shortcut to mpdfs().posterior()
Array< datalink_m2m * > dls
 Data link for each mpdfs.
epdf dummy
 dummy ep
Array< mpdf * > mpdfs
 Elements of composition.
bool owning_mpdfs
int dimc
 dimension of the condition
RV rvc
 random variable in condition
epdfep
 pointer to internal epdf


Detailed Description

Chain rule decomposition of epdf.

Probability density in the form of Chain-rule decomposition: \[ f(x_1,x_2,x_3) = f(x_1|x_2,x_3)f(x_2,x_3)f(x_3) \] Note that


Member Function Documentation

void bdm::mprod::from_setting ( const Setting &  set  )  [inline, virtual]

Load from structure with elements:

 { class='mprod';
   mpdfs = (..., ...);     // list of mpdfs in the order of chain rule
 }

Reimplemented from bdm::mpdf.

References bdm::UI::get().

RV bdm::compositepdf::getrv ( bool  checkoverlap = false  )  [inherited]

find common rv, flag

Parameters:
checkoverlap modifies whether overlaps are acceptable

References bdm::RV::add(), and bdm::compositepdf::mpdfs.

Referenced by bdm::merger_base::set_sources().

vec bdm::mprod::samplecond ( const vec &  cond  )  [inline, virtual]

Returns a sample from the density conditioned on cond, $x \sim epdf(rv|cond)$.

Parameters:
cond is numeric value of rv

Ugly hack to help to discover if mpfs are not in proper order. Correct solution = check that explicitely.

Reimplemented from bdm::mpdf.

References bdm::epdf::dimension(), dls, bdm::mpdf::ep, epdfs, and bdm::compositepdf::mpdfs.

virtual mat bdm::mpdf::samplecond_m ( const vec &  cond,
int  N 
) [inline, virtual, inherited]

Returns.

Parameters:
N samples from the density conditioned on cond, $x \sim epdf(rv|cond)$.
cond is numeric value of rv

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:

Generated on Wed Jun 24 13:35:52 2009 for mixpp by  doxygen 1.5.9