Go to the documentation of this file.
17 #include <Eigen/Eigen>
21 const char* what()
const noexcept
override
23 return "Invalid dimension";
29 const char* what()
const noexcept
override
31 return "Gaussian not initialized";
37 const char* what()
const noexcept
override
39 return "Covariance not symmetric";
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
93 if (
this != &prototype)
95 this->dimension = prototype.dimension;
97 this->cov = prototype.cov;
98 this->mean = prototype.mean;
106 stream <<
"mean: " << std::endl << rhs.mean << std::endl;
107 stream <<
"cov: " << std::endl << rhs.cov << std::endl;
const covariance_type & getCovariance() const
Gaussian & operator=(const Gaussian &prototype)
Eigen::MatrixXd covariance_type
double mahalanobis(const value_type &point)
double evaluate(const value_type &point)
int getDimensions() const
friend std::ostream & operator<<(std::ostream &stream, const Gaussian &rhs)
Eigen::MatrixXd samples_type
void setMean(const value_type &mean)
void setCovariance(const covariance_type &cov)
Eigen::VectorXd value_type
value_type drawSampleDiagonalCovariance()
const value_type & getMean() const
void generateFromSamples(const samples_type &samples)
void set(const Gaussian &prototype)