Chain rule decomposition of epdf. More...
#include <emix.h>
Public Member Functions | |
mprod () | |
Default constructor. | |
mprod (const Array< shared_ptr< mpdf > > &mFacs) | |
Constructor from list of mFacs. | |
void | set_elements (const Array< shared_ptr< mpdf > > &mFacs) |
Set internal mpdfs from given values. | |
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 , . | |
void | from_setting (const Setting &set) |
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. | |
Access to attributes | |
const RV & | _rv () const |
const RV & | _rvc () const |
int | dimension () const |
int | dimensionc () |
Connection to other objects | |
void | set_rvc (const RV &rvc0) |
void | set_rv (const RV &rv0) |
bool | isnamed () |
Protected Member Functions | |
void | set_ep (epdf &iepdf) |
set internal pointer ep to point to given iepdf | |
void | set_ep (epdf *iepdfp) |
set internal pointer ep to point to given iepdf | |
Protected Attributes | |
epdf | iepdf |
dummy epdf used only as storage for RV and dim | |
int | dimc |
dimension of the condition | |
RV | rvc |
random variable in condition |
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
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(), and set_elements().
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.
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 |
Reimplemented in bdm::mpdf_internal< EPDF >, bdm::mpdf_internal< enorm< sq_T > >, bdm::mpdf_internal< elognorm >, bdm::mpdf_internal< TEpdf< sq_T > >, bdm::mpdf_internal< egamma >, bdm::mpdf_internal< enorm< ldmat > >, bdm::mpdf_internal< eiWishartCh >, bdm::mpdf_internal< eigamma >, and bdm::mpdf_internal< enorm< chmat > >.
References bdm::mpdf::samplecond().