The abstract base class for Gaussian distributions. More...
#include <vpdl_gaussian_base.h>

Public Types | |
| typedef vpdt_field_default< T, n >::type | vector |
| the data type used for vectors. More... | |
| typedef vpdt_field_default< T, n >::type | field_type |
| the data type used for vectors. More... | |
| typedef vpdt_field_traits< field_type >::matrix_type | matrix |
| the data type used for matrices. More... | |
Public Member Functions | |
| virtual | ~vpdl_gaussian_base () |
| Destructor. More... | |
| virtual const vector & | mean () const =0 |
| Access the mean directly. More... | |
| virtual void | set_mean (const vector &mean)=0 |
| Set the mean. More... | |
| virtual unsigned int | dimension () const =0 |
Return the run time dimension, which does not equal n when n==0. More... | |
| virtual vpdl_distribution< T, n > * | clone () const =0 |
| Create a copy on the heap and return base class pointer. More... | |
| virtual T | density (const vector &pt) const =0 |
| Evaluate the unnormalized density at a point. More... | |
| virtual T | prob_density (const vector &pt) const |
| Evaluate the probability density at a point. More... | |
| virtual T | log_prob_density (const vector &pt) const |
| Evaluate the log probability density at a point. More... | |
| virtual T | gradient_density (const vector &pt, vector &g) const =0 |
| Compute the gradient of the unnormalized density at a point. More... | |
| virtual T | norm_const () const =0 |
| The normalization constant for the density. More... | |
| virtual T | cumulative_prob (const vector &pt) const =0 |
| Evaluate the cumulative distribution function at a point. More... | |
| virtual vector | inverse_cdf (const T &p) const |
| Compute the inverse of the cumulative_prob() function. More... | |
| virtual T | box_prob (const vector &min_pt, const vector &max_pt) const |
| The probability of being in an axis-aligned box. More... | |
| virtual void | compute_mean (vector &mean) const =0 |
| Compute the mean of the distribution. More... | |
| virtual void | compute_covar (matrix &covar) const =0 |
| Compute the covariance of the distribution. More... | |
The abstract base class for Gaussian distributions.
All Gaussian classes represent the mean in the same way, so it is managed in this base class. Derived classes differ in how they represent covariance
Definition at line 23 of file vpdl_gaussian_base.h.
|
inherited |
the data type used for vectors.
Definition at line 39 of file vpdl_distribution.h.
|
inherited |
the data type used for matrices.
Definition at line 44 of file vpdl_distribution.h.
| typedef vpdt_field_default<T,n>::type vpdl_gaussian_base< T, n >::vector |
the data type used for vectors.
Definition at line 27 of file vpdl_gaussian_base.h.
|
inlinevirtual |
Destructor.
Definition at line 31 of file vpdl_gaussian_base.h.
|
virtualinherited |
The probability of being in an axis-aligned box.
The box is defined by two points, the minimum and maximum. Implemented in terms of cumulative_prob() by default.
Reimplemented in vpdl_mixture< T, n >, vpdl_kernel_gaussian_sfbw< T, n >, and vpdl_gaussian_sphere< T, n >.
Definition at line 89 of file vpdl_distribution.hxx.
|
pure virtualinherited |
Create a copy on the heap and return base class pointer.
Implemented in vpdl_mixture< T, n >, vpdl_mixture_of< dist_t >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, vpdl_gaussian< T, n >, and vpdl_kernel_gaussian_sfbw< T, n >.
|
pure virtualinherited |
Compute the covariance of the distribution.
This may be trivial for distributions like Gaussians, but actually involves computation for others.
Implemented in vpdl_mixture< T, n >, vpdl_kernel_gaussian_sfbw< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_mixture_of< dist_t >.
|
pure virtualinherited |
Compute the mean of the distribution.
This may be trivial for distributions like Gaussians, but actually involves computation for others.
Implemented in vpdl_mixture< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, vpdl_gaussian< T, n >, and vpdl_kernel_base< T, n >.
|
pure virtualinherited |
Evaluate the cumulative distribution function at a point.
This is the integral of the density function from negative infinity (in all dimensions) to the point in question
Implemented in vpdl_mixture< T, n >, vpdl_kernel_gaussian_sfbw< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
|
pure virtualinherited |
Evaluate the unnormalized density at a point.
Implemented in vpdl_mixture< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, vpdl_gaussian< T, n >, and vpdl_kernel_gaussian_sfbw< T, n >.
|
pure virtualinherited |
Return the run time dimension, which does not equal n when n==0.
Implemented in vpdl_mixture< T, n >, vpdl_mixture_of< dist_t >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, vpdl_gaussian< T, n >, and vpdl_kernel_base< T, n >.
|
pure virtualinherited |
Compute the gradient of the unnormalized density at a point.
| g | the gradient vector |
Implemented in vpdl_mixture< T, n >, vpdl_kernel_gaussian_sfbw< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
|
virtualinherited |
Compute the inverse of the cumulative_prob() function.
The value of x: P(x'<x) = P for x' drawn from the distribution.
The value of x: P(x'<x) = P for x' drawn from the distribution. This is only valid for univariate distributions multivariate distributions will return -infinity
Definition at line 78 of file vpdl_distribution.hxx.
|
inlinevirtualinherited |
Evaluate the log probability density at a point.
Reimplemented in vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
Definition at line 65 of file vpdl_distribution.h.
|
pure virtual |
Access the mean directly.
Implemented in vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
|
pure virtualinherited |
The normalization constant for the density.
When density() is multiplied by this value it becomes prob_density norm_const() is reciprocal of the integral of density over the entire field
Implemented in vpdl_mixture< T, n >, vpdl_kernel_fbw_base< T, n >, vpdl_mixture_of< dist_t >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
|
inlinevirtualinherited |
Evaluate the probability density at a point.
Reimplemented in vpdl_mixture< T, n >, vpdl_kernel_gaussian_sfbw< T, n >, vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
Definition at line 59 of file vpdl_distribution.h.
|
pure virtual |
Set the mean.
Implemented in vpdl_gaussian_sphere< T, n >, vpdl_gaussian_indep< T, n >, and vpdl_gaussian< T, n >.
1.8.15