#include <libEF.h>
Public Member Functions | |
void | set_statistics (const vec &w0, const epdf *pdf0) |
Set samples and weights. | |
void | set_statistics (const epdf *pdf0, int n) |
Set samples and weights. | |
void | set_samples (const epdf *pdf0) |
Set sample. | |
void | set_parameters (int n0, bool copy=true) |
Set sample. | |
vec & | _w () |
Potentially dangerous, use with care. | |
const vec & | _w () const |
Potentially dangerous, use with care. | |
Array< vec > & | _samples () |
access function | |
const Array< vec > & | _samples () const |
access function | |
ivec | resample (RESAMPLING_METHOD method=SYSTEMATIC) |
Function performs resampling, i.e. removal of low-weight samples and duplication of high-weight samples such that the new samples represent the same density. | |
vec | sample () const |
inherited operation : NOT implemneted | |
double | evallog (const vec &val) const |
inherited operation : NOT implemneted | |
vec | mean () const |
return expected value | |
vec | variance () const |
return expected variance (not covariance!) | |
void | qbounds (vec &lb, vec &ub, double perc=0.95) const |
For this class, qbounds are minimum and maximum value of the population! | |
Constructors | |
eEmp () | |
eEmp (const eEmp &e) | |
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) |
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 mpdf * | condition (const RV &rv) const |
Return conditional density on the given RV, the remaining rvs will be in conditioning. | |
virtual epdf * | marginal (const RV &rv) const |
Return marginal density on the given RV, the remainig rvs are intergrated out. | |
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 | |
int | n |
Number of particles. | |
vec | w |
Sample weights . | |
Array< vec > | samples |
Samples . | |
int | dim |
dimension of the random variable | |
RV | rv |
Description of the random variable. |
Used e.g. in particle filters.