# bdm::eigamma Class Reference

`#include <libEF.h>`

Inheritance diagram for bdm::eigamma:

[legend]

List of all members.

## Detailed Description

Inverse-Gamma posterior density.

Multivariate inverse-Gamma density as product of independent univariate densities.

Inverse Gamma can be converted to Gamma using

This relation is used in sampling.

## Public Member Functions
| eigamma ()
| Default constructor.
void | set_parameters (const vec &a, const vec &b)
| Sets parameters.
vec | sample () const
| Returns a sample, from density .
double | evallog (const vec &val) const
| TODO: is it used anywhere?
double | lognc () const
| logarithm of the normalizing constant,
vec | mean () const
| Returns poiter to alpha and beta. Potentially dangerous: use with care!
vec | variance () const
| return expected variance (not covariance!)
vec & | _alpha ()
vec & | _beta ()
virtual void | dupdate (mat &v)
| TODO decide if it is really needed.
virtual double | evallog_nn (const vec &val) const
| Evaluate normalized log-probability.
virtual vec | evallog (const mat &Val) const
| Evaluate normalized log-probability for many samples.
virtual void | pow (double p)
| Power of the density, used e.g. to flatten the density.
Matematical Operations
virtual mat | sample_m (int N) const
| Returns N samples, from density .
virtual vec | evallog_m (const mat &Val) const
| Compute log-probability of multiple values argument `val`.
virtual mpdf * | condition (const RV &rv) const
| Return conditional density on the given RV, the remaining rvs will be in conditioning.
virtual epdf * | marginal (const RV &rv) const
| Return marginal density on the given RV, the remainig rvs are intergrated out.
Connection to other classes
Description of the random quantity via attribute `rv` is optional. For operations such as sampling `rv` does not need to be set. However, for `marginalization` and `conditioning` `rv` has to be set. NB:
void | set_rv (const RV &rv0)
| Name its rv.
bool | isnamed () const
| True if rv is assigned.
const RV & | _rv () const
| Return name (fails when isnamed is false).
Access to attributes
bool | dimension () const
| Size of the random variable.
## Protected Attributes
egamma | eg
| internal egamma
vec & | alpha
| Vector .
vec & | beta
| Vector (in fact it is 1/beta as used in definition of iG).
int | dim
| dimension of the random variable
RV | rv
| Description of the random variable.

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

- libEF.h