bdm::mratio Class Reference

Class representing ratio of two densities which arise e.g. by applying the Bayes rule. It represents density in the form:

\[ f(rv|rvc) = \frac{f(rv,rvc)}{f(rvc)} \]

where $ f(rvc) = \int f(rv,rvc) d\ rv $. More...


Detailed Description

Class representing ratio of two densities which arise e.g. by applying the Bayes rule. It represents density in the form:

\[ f(rv|rvc) = \frac{f(rv,rvc)}{f(rvc)} \]

where $ f(rvc) = \int f(rv,rvc) d\ rv $.

In particular this type of arise by conditioning of a mixture model.

At present the only supported operation is evallogcond().

#include <emix.h>

List of all members.

Public Member Functions

 mratio (const epdf *nom0, const RV &rv, bool copy=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.
void ownnom ()
 Object takes ownership of nom and will destroy it.
 ~mratio ()
 Default destructor.
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 vec samplecond (const vec &cond)
 Returns a sample from the density conditioned on cond, $x \sim epdf(rv|cond)$.
virtual mat samplecond_m (const vec &cond, int N)
 Returns.
virtual vec evallogcond_m (const mat &Dt, const vec &cond)
 Matrix version of evallogcond.
virtual vec evallogcond_m (const Array< vec > &Dt, const vec &cond)
 Array<vec> version of evallogcond.
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

const epdfnom
 Nominator in the form of mpdf.
shared_ptr< epdfden
 Denominator in the form of epdf.
bool destroynom
 flag for destructor
datalink_m2e dl
 datalink between conditional and nom
epdf iepdf
 dummy epdf that stores only rv and dim
int dimc
 dimension of the condition
RV rvc
 random variable in condition

Constructor & Destructor Documentation

bdm::mratio::mratio ( const epdf nom0,
const RV rv,
bool  copy = false 
) [inline]

Default constructor. By default, the given epdf is not copied! It is assumed that this function will be used only temporarily.

References bdm::RV::_dsize(), bdm::epdf::_rv(), bdm_assert_debug, bdm_error, den, destroynom, bdm::mpdf::dimc, dl, iepdf, bdm::RV::length(), bdm::epdf::marginal(), nom, bdm::mpdf::rvc, bdm::datalink_m2e::set_connection(), bdm::mpdf::set_ep(), bdm::epdf::set_rv(), and bdm::RV::subt().


Member Function Documentation

void bdm::mpdf::from_setting ( const Setting &  set  )  [virtual, inherited]

Load from structure with elements:

 { class = "mpdf_offspring",
   rv = {class="RV", names=(...),}; // RV describing meaning of random variable
   rvc= {class="RV", names=(...),}; // RV describing meaning of random variable in condition
   // elements of offsprings
 }

Reimplemented from bdm::root.

Reimplemented in bdm::mepdf, bdm::mprod, bdm::mDirich, bdm::mlnorm< sq_T, TEpdf >, bdm::mgnorm< sq_T >, bdm::mgamma, bdm::migamma_ref, bdm::mlognorm, and bdm::mlnorm< ldmat, enorm >.

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

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

Generated on Thu Oct 15 00:07:50 2009 for mixpp by  doxygen 1.6.1