edoNormalAdaptive< EOT > Class Template Reference

A normal distribution that can be updated via several components. More...

#include <edoNormalAdaptive.h>

Inheritance diagram for edoNormalAdaptive< EOT >:
edoDistrib< EOT >

List of all members.

Public Types

typedef EOT::AtomType AtomType
typedef Eigen::Matrix
< AtomType, Eigen::Dynamic, 1 > 
Vector
typedef Eigen::Matrix
< AtomType, Eigen::Dynamic,
Eigen::Dynamic > 
Matrix

Public Member Functions

 edoNormalAdaptive (unsigned int dim=1)
 edoNormalAdaptive (unsigned int dim, Vector mean, Matrix C, Matrix B, Vector D, double sigma, Vector p_c, Vector p_s)
unsigned int size ()
Vector mean () const
Matrix covar () const
Matrix coord_sys () const
Vector scaling () const
double sigma () const
Vector path_covar () const
Vector path_sigma () const
void mean (Vector m)
void covar (Matrix c)
void coord_sys (Matrix b)
void scaling (Vector d)
void sigma (double s)
void path_covar (Vector p)
void path_sigma (Vector p)

Private Attributes

unsigned int _dim
Vector _mean
Matrix _C
Matrix _B
Vector _D
double _sigma
Vector _p_c
Vector _p_s

Detailed Description

template<typename EOT>
class edoNormalAdaptive< EOT >

A normal distribution that can be updated via several components.

This is the data structure on which works the CMA-ES algorithm.

This is *just* a data structure, the operators working on it are supposed to maintain its consistency (e.g. of the covariance matrix against its eigen vectors).

The distribution is defined by its mean, its covariance matrix (which can be decomposed in its eigen vectors and values), a scaling factor (sigma) and the so-called evolution paths for the covariance and sigma. evolution paths.

NOTE: this is only available as an Eigen3 implementation (built WITH_EIGEN).

Definition at line 72 of file edoNormalAdaptive.h.


The documentation for this class was generated from the following file:
All Classes Functions Variables Typedefs