bdm::egiw Class Reference

Gauss-inverse-Wishart density stored in LD form. More...

#include <libEF.h>

List of all members.

Public Member Functions

vec sample () const
 Returns a sample, $ x $ from density $ f_x()$.
vec mean () const
 return expected value
vec variance () const
 return expected variance (not covariance!)
void mean_mat (mat &M, mat &R) const
double evallog_nn (const vec &val) const
 In this instance, val= [theta, r]. For multivariate instances, it is stored columnwise val = [theta_1 theta_2 ... r_1 r_2 ].
double lognc () const
 logarithm of the normalizing constant, $\mathcal{I}$
void pow (double p)
 Power of the density, used e.g. to flatten the density.
virtual void dupdate (mat &v)
 TODO decide if it is really needed.
virtual double evallog (const vec &val) const
 Evaluate normalized log-probability.
virtual vec evallog (const mat &Val) const
 Evaluate normalized log-probability for many samples.
Constructors
 egiw ()
 egiw (int dimx0, ldmat V0, double nu0=-1.0)
void set_parameters (int dimx0, ldmat V0, double nu0=-1.0)
Access attributes
ldmat_V ()
const ldmat_V () const
double & _nu ()
const double & _nu () const
Constructors
Construction of each epdf should support two types of constructors:
  • empty constructor,
  • copy constructor,
The following constructors should be supported for convenience:
  • constructor followed by calling set_parameters()
  • constructor accepting random variables calling set_rv()
All internal data structures are constructed as empty. Their values (including sizes) will be set by method set_parameters(). This way references can be initialized in constructors.

void set_parameters (int dim0)
Matematical Operations
virtual mat sample_m (int N) const
 Returns N samples, $ [x_1 , x_2 , \ldots \ $ from density $ f_x(rv)$.
virtual vec evallog_m (const mat &Val) const
 Compute log-probability of multiple values argument val.
virtual mpdfcondition (const RV &rv) const
 Return conditional density on the given RV, the remaining rvs will be in conditioning.
virtual epdfmarginal (const RV &rv) const
 Return marginal density on the given RV, the remainig rvs are intergrated out.
virtual void qbounds (vec &lb, vec &ub, double percentage=0.95) const
 Lower and upper bounds of percentage % quantile, returns mean-2*sigma as default.
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
int dimension () const
 Size of the random variable.

Protected Attributes

ldmat V
 Extended information matrix of sufficient statistics.
double nu
 Number of data records (degrees of freedom) of sufficient statistics.
int dimx
 Dimension of the output.
int nPsi
 Dimension of the regressor.
int dim
 dimension of the random variable
RV rv
 Description of the random variable.


Detailed Description

Gauss-inverse-Wishart density stored in LD form.

For $p$-variate densities, given rv.count() should be $p\times$ V.rows().


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

Generated on Thu Apr 9 14:33:21 2009 for mixpp by  doxygen 1.5.8