Pdf Class Template Reference

Class PDF: Virtual Base class representing Probability Density Functions. More...

#include <pdf.h>

Inheritance diagram for Pdf:

MCPdf Mixture

List of all members.

Public Member Functions

 Pdf (unsigned int dimension=0)
 Constructor.
virtual ~Pdf ()
 Destructor.
virtual Pdf< T > * Clone () const =0
 Pure virtual clone function.
virtual bool SampleFrom (vector< Sample< T > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded).
virtual bool SampleFrom (Sample< T > &one_sample, int method=DEFAULT, void *args=NULL) const
 Draw 1 sample from the Pdf:.
virtual Probability ProbabilityGet (const T &input) const
 Get the probability of a certain argument.
unsigned int DimensionGet () const
 Get the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument.
virtual T ExpectedValueGet () const
 Get the expected value E[x] of the pdf.
virtual
MatrixWrapper::SymmetricMatrix 
CovarianceGet () const
 Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.


Detailed Description

template<typename T>
class BFL::Pdf< T >

Class PDF: Virtual Base class representing Probability Density Functions.

Definition at line 53 of file pdf.h.


Constructor & Destructor Documentation

Pdf ( unsigned int  dimension = 0  )  [inline]

Constructor.

Parameters:
dimension int representing the number of rows of the state

Definition at line 150 of file pdf.h.


Member Function Documentation

bool SampleFrom ( vector< Sample< T > > &  list_samples,
const unsigned int  num_samples,
int  method = DEFAULT,
void *  args = NULL 
) const [inline, virtual]

Draw multiple samples from the Pdf (overloaded).

Parameters:
list_samples list of samples that will contain result of sampling
num_samples Number of Samples to be drawn (iid)
method Sampling method to be used. Each sampling method is currently represented by a define statement, eg. define BOXMULLER 1
args Pointer to a struct representing extra sample arguments. "Sample Arguments" can be anything (the number of steps a gibbs-iterator should take, the interval width in MCMC, ... (or nothing), so it is hard to give a meaning to what exactly Sample Arguments should represent...
Todo:
replace the C-call "void * args" by a more object-oriented structure: Perhaps something like virtual Sample * Sample (const int num_samples,class Sampler)
Bug:
Sometimes the compiler doesn't know which method to choose!

Reimplemented in DiscretePdf, MCPdf, and Mixture.

Definition at line 182 of file pdf.h.

bool SampleFrom ( Sample< T > &  one_sample,
int  method = DEFAULT,
void *  args = NULL 
) const [inline, virtual]

Draw 1 sample from the Pdf:.

There's no need to create a list for only 1 sample!

Parameters:
one_sample sample that will contain result of sampling
method Sampling method to be used. Each sampling method is currently represented by a define statement, eg. define BOXMULLER 1
args Pointer to a struct representing extra sample arguments
See also:
SampleFrom()
Bug:
Sometimes the compiler doesn't know which method to choose!

Reimplemented in ConditionalGaussian, DiscreteConditionalPdf, DiscretePdf, Gaussian, MCPdf, Mixture, and Uniform.

Definition at line 197 of file pdf.h.

Probability ProbabilityGet ( const T &  input  )  const [inline, virtual]

Get the probability of a certain argument.

Parameters:
input T argument of the Pdf
Returns:
the probability value of the argument

Reimplemented in ConditionalGaussian, DiscreteConditionalPdf, DiscretePdf, Gaussian, Mixture, and Uniform.

Definition at line 207 of file pdf.h.

unsigned int DimensionGet (  )  const [inline]

Get the dimension of the argument.

Returns:
the dimension of the argument

Definition at line 169 of file pdf.h.

void DimensionSet ( unsigned int  dim  )  [inline, virtual]

Set the dimension of the argument.

Parameters:
dim the dimension

Definition at line 175 of file pdf.h.

T ExpectedValueGet (  )  const [inline, virtual]

Get the expected value E[x] of the pdf.

Get low order statistic (Expected Value) of this AnalyticPdf

Returns:
The Expected Value of the Pdf (a ColumnVector with DIMENSION rows)
Note:
No set functions here! This can be useful for analytic functions, but not for sample based representations!

For certain discrete Pdfs, this function has no meaning, what is the average between yes and no?

Reimplemented in FilterProposalDensity, Gaussian, LinearAnalyticConditionalGaussian, MCPdf, Mixture, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

Definition at line 215 of file pdf.h.

MatrixWrapper::SymmetricMatrix CovarianceGet (  )  const [inline, virtual]

Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.

Get first order statistic (Covariance) of this AnalyticPdf

Returns:
The Covariance of the Pdf (a SymmetricMatrix of dim DIMENSION)
Todo:
extend this more general to n-th order statistic
Bug:
Discrete pdfs should not be able to use this!

Reimplemented in AnalyticConditionalGaussianAdditiveNoise, ConditionalGaussianAdditiveNoise, FilterProposalDensity, Gaussian, MCPdf, Mixture, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

Definition at line 225 of file pdf.h.


The documentation for this class was generated from the following file:

Generated on Mon Mar 30 05:43:59 2009 for Bayesian Filtering Library by  doxygen 1.5.5