27 class Gaussian:
public Pdf<MatrixWrapper::ColumnVector>
30 MatrixWrapper::ColumnVector _Mu;
31 MatrixWrapper::SymmetricMatrix _Sigma;
34 mutable bool _Sigma_changed;
35 mutable MatrixWrapper::SymmetricMatrix _Sigma_inverse;
36 mutable double _sqrt_pow;
37 mutable ColumnVector _diff;
38 mutable ColumnVector _tempColumn;
40 mutable ColumnVector _samples;
41 mutable ColumnVector _sampleValue;
42 mutable Matrix _Low_triangle;
50 Gaussian (
const MatrixWrapper::ColumnVector& Mu,
const MatrixWrapper::SymmetricMatrix& Sigma);
68 bool SampleFrom (vector<Sample<MatrixWrapper::ColumnVector> >& list_samples,
69 const unsigned int num_samples,
70 const SampleMthd method=SampleMthd::DEFAULT,
71 void * args=NULL)
const;
72 virtual bool SampleFrom (Sample<MatrixWrapper::ColumnVector>& one_sample,
const SampleMthd method=SampleMthd::DEFAULT,
void * args=NULL)
const;
Class representing Gaussian (or normal density)
virtual ~Gaussian()
Default Copy Constructor will do.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
virtual MatrixWrapper::ColumnVector ExpectedValueGet() const
Get the expected value E[x] of the pdf.
Gaussian(const MatrixWrapper::ColumnVector &Mu, const MatrixWrapper::SymmetricMatrix &Sigma)
Constructor.
virtual Probability ProbabilityGet(const MatrixWrapper::ColumnVector &input) const
Get the probability of a certain argument.
virtual Gaussian * Clone() const
Clone function.
void ExpectedValueSet(const MatrixWrapper::ColumnVector &mu)
Set the Expected Value.
virtual void DimensionSet(unsigned int dim)
Set the dimension of the argument.
Gaussian(int dimension=0)
constructor with only dimensions or nothing
void CovarianceSet(const MatrixWrapper::SymmetricMatrix &cov)
Set the Covariance Matrix.
friend std::ostream & operator<<(std::ostream &os, const Gaussian &g)
output stream for Gaussian
Class representing a probability (a double between 0 and 1)