19 #include "Eigen/Cholesky"
23 #include "drwnSuffStats.h"
26 using namespace Eigen;
40 static bool AUTO_RIDGE;
47 mutable MatrixXd *_invSigma;
49 mutable MatrixXd *_mL;
57 drwnGaussian(
const VectorXd& mu,
const MatrixXd& sigma2);
68 void initialize(
int n);
70 void initialize(
const VectorXd& mu,
double sigma2);
72 void initialize(
const VectorXd& mu,
const MatrixXd& sigma2);
77 drwnGaussian *marginalize(
const vector<int> & indx)
const;
82 drwnGaussian reduce(
const vector<double>& x,
const vector<int>& indx)
const;
89 const char *
type()
const {
return "drwnGaussian"; }
91 bool save(drwnXMLNode& xml)
const;
92 bool load(drwnXMLNode& xml);
96 void evaluate(
const MatrixXd& x, VectorXd& p)
const;
98 void evaluate(
const vector<vector<double> >& x, vector<double>& p)
const;
100 double evaluateSingle(
const VectorXd& x)
const;
102 double evaluateSingle(
const vector<double>& x)
const;
104 double evaluateSingle(
double x)
const;
108 void sample(VectorXd& x)
const;
110 void sample(vector<double>& x)
const;
116 void train(
const MatrixXd& x,
double lambda = 0.0);
118 void train(
const vector<vector<double> >& x,
double lambda = 0.0);
120 void train(
const vector<double> &x,
double lambda = 0.0);
128 const VectorXd&
mean()
const {
return _mu; }
132 double logPartitionFunction()
const;
145 inline void guaranteeInvSigma()
const;
146 void freeCachedParameters();
147 void updateCachedParameters();
173 const MatrixXd& SigmaGain);
179 const char *
type()
const {
return "drwnConditionalGaussian"; }
181 bool save(drwnXMLNode& xml)
const;
182 bool load(drwnXMLNode& xml);
drwnConditionalGaussian * clone() const
returns a copy of the class usually implemented as virtual Foo* clone() { return new Foo(*this); } ...
Definition: drwnGaussian.h:180
drwnGaussian * clone() const
returns a copy of the class usually implemented as virtual Foo* clone() { return new Foo(*this); } ...
Definition: drwnGaussian.h:90
MatrixXd _mSigma
n-by-n element covariance matrix
Definition: drwnGaussian.h:167
unsigned dimension() const
returns the dimensionality of the gaussian
Definition: drwnGaussian.h:126
VectorXd _mu
n element mean vector
Definition: drwnGaussian.h:166
MatrixXd _mSigmaGain
m-by-n gain matrix
Definition: drwnGaussian.h:168
const VectorXd & mean() const
returns the mean of the gaussian
Definition: drwnGaussian.h:128
int _n
dimensionality of unobserved features
Definition: drwnGaussian.h:164
const char * type() const
returns object type as a string (e.g., Foo::type() { return "Foo"; })
Definition: drwnGaussian.h:89
const char * type() const
returns object type as a string (e.g., Foo::type() { return "Foo"; })
Definition: drwnGaussian.h:179
Implements a multi-variate gaussian distribution.
Definition: drwnGaussian.h:38
Implements a class for accumulating first- and second-order sufficient statistics (moments)...
Definition: drwnSuffStats.h:43
const MatrixXd & covariance() const
returns the covariance matrix for the gaussian
Definition: drwnGaussian.h:130
Utility class for generating conditonal gaussian distribution.
Definition: drwnGaussian.h:162
standard Darwin object interface (cloneable and writeable)
Definition: drwnInterfaces.h:72
int _m
dimensionality of observed features (i.e., those conditioned on)
Definition: drwnGaussian.h:165