#include <emix.h>
| 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, . | |
| 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 epso that it represents this mpdf conditioned onrvc= cond. | |
| Access to attributes | |
| RV | _rv () | 
| RV | _rvc () | 
| int | dimension () | 
| int | dimensionc () | 
| epdf * | e () | 
| 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< 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 | |
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
| 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
| 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,  .
. 
| 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.
| N | samples from the density conditioned on cond, . | |
| cond | is numeric value of rv | 
References bdm::mpdf::condition().
 1.5.9
 1.5.9