Multivariate normal distribution with zero mean using a cholesky decomposition. More...
#include <shark/Statistics/Distributions/MultiVariateNormalDistribution.h>
Public Member Functions | |
MultiVariateNormalDistributionCholesky (RealMatrix const &covariance) | |
Constructor. More... | |
MultiVariateNormalDistributionCholesky () | |
template<typename Archive > | |
void | serialize (Archive &ar, const std::size_t version) |
Stores/Restores the distribution from the supplied archive. More... | |
void | resize (std::size_t size) |
Resizes the distribution. Updates both eigenvectors and eigenvalues. More... | |
std::size_t | size () const |
Returns the size of the created vectors. More... | |
blas::matrix< double, blas::column_major > const & | lowerCholeskyFactor () const |
Returns the matrix holding the lower cholesky factor A. More... | |
void | setCovarianceMatrix (RealMatrix const &matrix) |
Sets the new covariance matrix by computing the new cholesky dcomposition. More... | |
void | rankOneUpdate (double alpha, double beta, RealVector const &v) |
Updates the covariance matrix of the distribution to C<- alpha*C+beta * vv^T. More... | |
template<class randomType , class Vector1 , class Vector2 > | |
void | generate (randomType &rng, Vector1 &y, Vector2 &z) const |
template<class randomType > | |
result_type | operator() (randomType &rng) const |
Samples the distribution. More... | |
Multivariate normal distribution with zero mean using a cholesky decomposition.
Definition at line 128 of file MultiVariateNormalDistribution.h.
|
inline |
Constructor.
[in] | rng | the random number generator |
[in] | covariance | covariance matrix |
Definition at line 140 of file MultiVariateNormalDistribution.h.
References shark::MultiVariateNormalDistribution::setCovarianceMatrix().
|
inline |
Definition at line 144 of file MultiVariateNormalDistribution.h.
|
inline |
Definition at line 182 of file MultiVariateNormalDistribution.h.
References shark::random::gauss().
Referenced by shark::CMAIndividual< double >::mutate().
|
inline |
Returns the matrix holding the lower cholesky factor A.
Definition at line 166 of file MultiVariateNormalDistribution.h.
|
inline |
Samples the distribution.
Returns a vector pair (y,z) where y=Lz and, L is the lower cholesky factor and z is a vector of normally distributed numbers. Thus y is the real sampled point.
Definition at line 196 of file MultiVariateNormalDistribution.h.
|
inline |
Updates the covariance matrix of the distribution to C<- alpha*C+beta * vv^T.
Definition at line 177 of file MultiVariateNormalDistribution.h.
Referenced by shark::CMAChromosome::serialize().
|
inline |
Resizes the distribution. Updates both eigenvectors and eigenvalues.
[in] | size | The new size of the distribution |
Definition at line 156 of file MultiVariateNormalDistribution.h.
Referenced by shark::CMAChromosome::CMAChromosome().
|
inline |
Stores/Restores the distribution from the supplied archive.
[in,out] | ar | The archive to read from/write to. |
[in] | version | Currently unused. |
Definition at line 150 of file MultiVariateNormalDistribution.h.
|
inline |
Sets the new covariance matrix by computing the new cholesky dcomposition.
Definition at line 172 of file MultiVariateNormalDistribution.h.
|
inline |
Returns the size of the created vectors.
Definition at line 161 of file MultiVariateNormalDistribution.h.