# bdm::mlstudent Class Reference

`#include <exp_family.h>`

List of all members.

## Public Member Functions
void | set_parameters (const mat &A0, const vec &mu0, const ldmat &R0, const ldmat &Lambda0)
void | condition (const vec &cond)
vec & | _mu_const ()
| access function
mat & | _A ()
| access function
mat | _R ()
| access function
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.
Constructors
void | set_parameters (const mat &A, const vec &mu0, const ldmat &R)
| Set `A` and `R`.
Matematical operations
virtual vec | samplecond (const vec &cond)
| Returns a sample from the density conditioned on `cond`, .
virtual mat | samplecond_m (const vec &cond, int N)
| Returns.
virtual double | evallogcond (const vec &dt, const vec &cond)
| Shortcut for conditioning and evaluation of the internal epdf. In some cases, this operation can be implemented efficiently.
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
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
ldmat | Lambda
ldmat & | _R
ldmat | Re
enorm< ldmat > | epdf
| Internal epdf that arise by conditioning on `rvc`.
mat | A
vec | mu_const
vec & | _mu
int | dimc
| dimension of the condition
RV | rvc
| random variable in condition
epdf * | ep
| pointer to internal epdf
## Friends
std::ostream & | operator<< (std::ostream &os, mlnorm< sq_M > &ml)

## Detailed Description

(Approximate) Student t density with linear function of mean value

The internal epdf of this class is of the type of a Gaussian (enorm). However, each conditioning is trying to assure the best possible approximation by taking into account the zeta function. See [] for reference.

Perhaps a moment-matching technique?

## Member Function Documentation

void bdm::mlstudent::condition | ( | const vec & | cond | ) | `[inline, virtual]`

Set value of `rvc` . Result of this operation is stored in `epdf` use function `_ep` to access it.

Reimplemented from bdm::mlnorm< ldmat >.

References bdm::mlnorm< ldmat >::_R(), ldmat::invqform(), and ldmat::rows().

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

Load from structure with elements:

     { 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::mgnorm< sq_T >, bdm::mgamma, bdm::migamma_ref, and bdm::mlognorm.

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

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

Parameters:

  | cond | is numeric value of `rv`

Reimplemented in bdm::mprod.

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

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

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

Returns.

Parameters:

  | N | samples from the density conditioned on `cond`, .
  | cond | is numeric value of `rv`

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

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

- exp_family.h