#include <emix.h>

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
Public Member Functions | |
| mprod (Array< mpdf * > mFacs) | |
| Constructor from list of mFacs,. | |
| 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 | samplecond (const vec &cond) |
Returns a sample from the density conditioned on cond, . | |
| mat | samplecond (const vec &cond, int N) |
| 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 | |
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. | |
| virtual vec | evallogcond_m (const mat &Dt, const vec &cond) |
| Matrix version of evallogcond. | |
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 | |
| int | n |
| Number of mpdfs in the composite. | |
| Array< mpdf * > | mpdfs |
| Elements of composition. | |
| int | dimc |
| dimension of the condition | |
| RV | rvc |
| random variable in condition | |
| epdf * | ep |
| pointer to internal epdf | |
| vec bdm::mprod::samplecond | ( | const vec & | cond | ) | [inline, virtual] |
Returns a sample from the density conditioned on cond,
.
| cond | is numeric value of rv |
Reimplemented from bdm::mpdf.
References bdm::epdf::dimension(), dls, bdm::mpdf::ep, epdfs, bdm::compositepdf::mpdfs, and bdm::compositepdf::n.
| RV bdm::compositepdf::getrv | ( | bool | checkoverlap = false |
) | [inherited] |
find common rv, flag
| checkoverlap | modifies whether overlaps are acceptable |
References bdm::RV::add(), bdm::compositepdf::mpdfs, and bdm::compositepdf::n.
Referenced by mprod().
| virtual mat bdm::mpdf::samplecond_m | ( | const vec & | cond, | |
| int | N | |||
| ) | [inline, virtual, inherited] |
Returns.
| N | samples from the density conditioned on cond, . | |
| cond | is numeric value of rv | |
| ll | is a return value of log-likelihood of the sample. |
References bdm::mpdf::condition(), bdm::epdf::dimension(), bdm::mpdf::ep, and bdm::epdf::sample().
1.5.6