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... | |
void | setCovarianceMatrix (RealMatrix const &matrix) |
Sets the new covariance matrix by computing the new cholesky dcomposition. More... | |
blas::matrix< double, blas::column_major > const & | lowerCholeskyFactor () const |
Returns the lower cholsky factor. More... | |
blas::matrix< double, blas::column_major > & | lowerCholeskyFactor () |
Returns the lower cholesky factor. More... | |
void | rankOneUpdate (double alpha, double beta, RealVector const &v) |
template<class RngType , class Vector1 , class Vector2 > | |
void | generate (RngType &rng, Vector1 &y, Vector2 &z) const |
template<class RngType > | |
result_type | operator() (RngType &rng) const |
Samples the distribution. More... | |
Multivariate normal distribution with zero mean using a cholesky decomposition.
Definition at line 141 of file MultiVariateNormalDistribution.h.
|
inline |
Constructor.
[in] | rng | the random number generator |
[in] | covariance | covariance matrix |
Definition at line 153 of file MultiVariateNormalDistribution.h.
References shark::MultiVariateNormalDistribution::setCovarianceMatrix().
|
inline |
Definition at line 157 of file MultiVariateNormalDistribution.h.
|
inline |
Definition at line 199 of file MultiVariateNormalDistribution.h.
References shark::gauss(), shark::blas::noalias(), shark::blas::prod(), and shark::size().
Referenced by shark::CMAIndividual< double >::mutate().
|
inline |
Returns the lower cholsky factor.
Definition at line 184 of file MultiVariateNormalDistribution.h.
|
inline |
Returns the lower cholesky factor.
Definition at line 189 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 218 of file MultiVariateNormalDistribution.h.
|
inline |
Definition at line 193 of file MultiVariateNormalDistribution.h.
References shark::blas::choleskyUpdate().
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 169 of file MultiVariateNormalDistribution.h.
References shark::size().
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 163 of file MultiVariateNormalDistribution.h.
|
inline |
Sets the new covariance matrix by computing the new cholesky dcomposition.
Definition at line 179 of file MultiVariateNormalDistribution.h.
References shark::blas::choleskyDecomposition().
|
inline |
Returns the size of the created vectors.
Definition at line 174 of file MultiVariateNormalDistribution.h.