GClasses
GClasses::GMultivariateNormalDistribution Class Reference

A multivariate Normal distribution. It can compute the likelihood of a specified vector, and can also generate random vectors from the distribution. More...

#include <GDistribution.h>

Inheritance diagram for GClasses::GMultivariateNormalDistribution:
GClasses::GDistribution

Public Member Functions

 GMultivariateNormalDistribution (const double *pMean, GMatrix *pCovariance)
 
 GMultivariateNormalDistribution (GMatrix *pData, size_t nDims)
 
 ~GMultivariateNormalDistribution ()
 
double likelihood (const double *pParams)
 Compute the likelihood of the specified vector (which is assumed to be the same size as the number of columns or rows in the covariance matrix). More...
 
double * randomVector (GRand *pRand)
 Generates a random vector from this multivariate Normal distribution. More...
 

Protected Member Functions

void precompute (GMatrix *pCovariance)
 

Protected Attributes

double m_dScale
 
size_t m_nDims
 
GMatrixm_pCholesky
 
GMatrixm_pInverseCovariance
 
double * m_pMean
 
double * m_pVector1
 
double * m_pVector2
 

Detailed Description

A multivariate Normal distribution. It can compute the likelihood of a specified vector, and can also generate random vectors from the distribution.

Constructor & Destructor Documentation

GClasses::GMultivariateNormalDistribution::GMultivariateNormalDistribution ( const double *  pMean,
GMatrix pCovariance 
)
GClasses::GMultivariateNormalDistribution::GMultivariateNormalDistribution ( GMatrix pData,
size_t  nDims 
)
GClasses::GMultivariateNormalDistribution::~GMultivariateNormalDistribution ( )

Member Function Documentation

double GClasses::GMultivariateNormalDistribution::likelihood ( const double *  pParams)

Compute the likelihood of the specified vector (which is assumed to be the same size as the number of columns or rows in the covariance matrix).

void GClasses::GMultivariateNormalDistribution::precompute ( GMatrix pCovariance)
protected
double* GClasses::GMultivariateNormalDistribution::randomVector ( GRand pRand)

Generates a random vector from this multivariate Normal distribution.

Member Data Documentation

double GClasses::GMultivariateNormalDistribution::m_dScale
protected
size_t GClasses::GMultivariateNormalDistribution::m_nDims
protected
GMatrix* GClasses::GMultivariateNormalDistribution::m_pCholesky
protected
GMatrix* GClasses::GMultivariateNormalDistribution::m_pInverseCovariance
protected
double* GClasses::GMultivariateNormalDistribution::m_pMean
protected
double* GClasses::GMultivariateNormalDistribution::m_pVector1
protected
double* GClasses::GMultivariateNormalDistribution::m_pVector2
protected