# mratio Class Reference

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

where . More...

`#include <emix.h>`

Inheritance diagram for mratio:

[legend]
Collaboration diagram for mratio:

[legend]

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.
virtual vec | samplecond (const vec &cond, double &ll)
| Returns a sample from the density conditioned on `cond`, .
virtual mat | samplecond_m (const vec &cond, vec &ll, 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.
RV | _rvc () const
| access function
RV | _rv () const
| access function
epdf & | _epdf ()
| access function
epdf * | _e ()
| access function
## Protected Attributes
const epdf * | nom
| Nominator in the form of mpdf.
epdf * | den
| Denominator in the form of epdf.
bool | destroynom
| flag for destructor
datalink_m2e | dl
| datalink between conditional and nom
RV | rv
| modeled random variable
RV | rvc
| random variable in condition
epdf * | ep
| pointer to internal epdf

## Detailed Description

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

where .

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

At present the only supported operation is evallogcond().

## Constructor & Destructor Documentation

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 den, destroynom, RV::length(), epdf::marginal(), nom, and mpdf::rvc.

## Member Function Documentation

virtual vec mpdf::samplecond | ( | const vec & | cond,
|  | double & | ll |
| ) |  |  | `[inline, virtual, inherited]`

Returns a sample from the density conditioned on `cond`, .

Parameters:

  | cond | is numeric value of `rv`
  | ll | is a return value of log-likelihood of the sample.

Reimplemented in mprod.

References mpdf::condition(), mpdf::ep, epdf::evallog(), and epdf::sample().

Referenced by MPF< BM_T >::bayes(), and PF::bayes().

virtual mat mpdf::samplecond_m | ( | const vec & | cond,
|  | vec & | ll,
|  | int | N |
| ) |  |  | `[inline, virtual, inherited]`

Returns.

Parameters:

  | 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 mpdf::condition(), RV::count(), mpdf::ep, epdf::evallog(), mpdf::rv, and epdf::sample().

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

- work/git/mixpp/bdm/stat/emix.h