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 ()
epdfe ()
void set_ep (shared_ptr< epdf > ep)
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.
shared_ptr< epdfdummy
 dummy ep
Array< mpdf * > mpdfs
 Elements of composition.
bool owning_mpdfs
int dimc
 dimension of the condition
RV rvc
 random variable in condition


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 dls, epdfs, and bdm::compositepdf::mpdfs.

mat bdm::mpdf::samplecond_m ( const vec &  cond,
int  N 
) [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().


The documentation for this class was generated from the following file:

Generated on Wed Aug 5 00:07:01 2009 for mixpp by  doxygen 1.5.9