#include <libEF.h>
Public Member Functions | |
vec | sample () const |
Returns a sample, from density . | |
vec | mean () const |
return expected value | |
virtual void | dupdate (mat &v) |
TODO decide if it is really needed. | |
virtual double | evallog (const vec &val) const |
Evaluate normalized log-probability. | |
virtual vec | evallog (const mat &Val) const |
Evaluate normalized log-probability for many samples. | |
virtual void | pow (double p) |
Power of the density, used e.g. to flatten the density. | |
Constructors | |
void | set_parameters (const vec &mu, const ldmat &R) |
Constructors | |
Construction of each epdf should support two types of constructors:
set_parameters() . This way references can be initialized in constructors. | |
void | set_parameters (int dim0) |
Mathematical operations | |
void | dupdate (mat &v, double nu=1.0) |
dupdate in exponential form (not really handy) | |
mat | sample (int N) const |
double | evallog_nn (const vec &val) const |
Evaluate normalized log-probability. | |
double | lognc () const |
logarithm of the normalizing constant, | |
vec | variance () const |
return expected variance (not covariance!) | |
mpdf * | condition (const RV &rvn) const |
Return conditional density on the given RV, the remaining rvs will be in conditioning. | |
epdf * | marginal (const RV &rv) const |
Return marginal density on the given RV, the remainig rvs are intergrated out. | |
Access to attributes | |
vec & | _mu () |
void | set_mu (const vec mu0) |
ldmat & | _R () |
const ldmat & | _R () const |
Matematical Operations | |
virtual mat | sample_m (int N) const |
Returns N samples, from density . | |
virtual vec | evallog_m (const mat &Val) const |
Compute log-probability of multiple values argument val . | |
virtual void | qbounds (vec &lb, vec &ub, double percentage=0.95) const |
Lower and upper bounds of percentage % quantile, returns mean-2*sigma as default. | |
Connection to other classes | |
Description of the random quantity via attribute rv is optional. For operations such as sampling rv does not need to be set. However, for marginalization and conditioning rv has to be set. NB: | |
void | set_rv (const RV &rv0) |
Name its rv. | |
bool | isnamed () const |
True if rv is assigned. | |
const RV & | _rv () const |
Return name (fails when isnamed is false). | |
Access to attributes | |
int | dimension () const |
Size of the random variable. | |
Protected Attributes | |
vec | mu |
mean value | |
ldmat | R |
Covariance matrix in decomposed form. | |
int | dim |
dimension of the random variable | |
RV | rv |
Description of the random variable. |
Density of the form