Public Member Functions | Private Attributes | List of all members
BFL::BFL::Pdf< T > Class Template Referenceabstract

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

#include <mixtureParticleFilter.h>

Inheritance diagram for BFL::BFL::Pdf< T >:
Inheritance graph
[legend]

Public Member Functions

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

Private Attributes

unsigned int _dimension
 Dimension of the argument x of P(x | ...). More...
 

Detailed Description

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

Class PDF: Virtual Base class representing Probability Density Functions.

Definition at line 53 of file mixtureParticleFilter.h.

Constructor & Destructor Documentation

◆ Pdf()

template<typename T >
BFL::Pdf< T >::Pdf ( unsigned int  dimension = 0)

Constructor.

Parameters
dimensionint representing the number of rows of the state

Definition at line 150 of file mixtureParticleFilter.h.

◆ ~Pdf()

template<typename T >
BFL::Pdf< T >::~Pdf ( )
virtual

Destructor.

Definition at line 161 of file mixtureParticleFilter.h.

Member Function Documentation

◆ Clone()

template<typename T>
virtual Pdf<T>* BFL::BFL::Pdf< T >::Clone ( ) const
pure virtual

◆ CovarianceGet()

template<typename T >
MatrixWrapper::SymmetricMatrix BFL::Pdf< T >::CovarianceGet ( ) const
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 BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::NonLinearAnalyticConditionalGaussian_Ginac, BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::Gaussian, BFL::ConditionalGaussianAdditiveNoise, BFL::AnalyticConditionalGaussianAdditiveNoise, BFL::FilterProposalDensity, and BFL::OptimalImportanceDensity.

Definition at line 225 of file mixtureParticleFilter.h.

◆ DimensionGet()

template<typename T >
unsigned int BFL::Pdf< T >::DimensionGet ( ) const
inline

Get the dimension of the argument.

Returns
the dimension of the argument

Definition at line 169 of file mixtureParticleFilter.h.

◆ DimensionSet()

template<typename T >
void BFL::Pdf< T >::DimensionSet ( unsigned int  dim)
virtual

Set the dimension of the argument.

Parameters
dimthe dimension

Definition at line 175 of file mixtureParticleFilter.h.

◆ ExpectedValueGet()

template<typename T >
T BFL::Pdf< T >::ExpectedValueGet ( ) const
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 BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::NonLinearAnalyticConditionalGaussian_Ginac, BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::MCPdf< T >, BFL::MCPdf< T >, BFL::Gaussian, BFL::LinearAnalyticConditionalGaussian, BFL::FilterProposalDensity, BFL::NonLinearAnalyticConditionalGaussianMobile, BFL::NonLinearAnalyticConditionalGaussianMobile, BFL::OptimalImportanceDensity, BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::Mixture< T >, and BFL::Mixture< T >.

Definition at line 215 of file mixtureParticleFilter.h.

◆ ProbabilityGet()

template<typename T>
Probability BFL::Pdf< T >::ProbabilityGet ( const T &  input) const
virtual

Get the probability of a certain argument.

Parameters
inputT argument of the Pdf
Returns
the probability value of the argument

Reimplemented in BFL::DiscreteConditionalPdf, BFL::BFL::Mixture< T >, BFL::Mixture< T >, BFL::BFL::DiscretePdf, BFL::DiscretePdf, BFL::Gaussian, BFL::Uniform, BFL::ConditionalGaussian, BFL::ConditionalUniformMeasPdf1d, and BFL::NonlinearMeasurementPdf.

Definition at line 207 of file mixtureParticleFilter.h.

◆ SampleFrom() [1/2]

template<typename T>
bool BFL::Pdf< T >::SampleFrom ( vector< Sample< T > > &  list_samples,
const unsigned int  num_samples,
int  method = DEFAULT,
void *  args = NULL 
) const
virtual

Draw multiple samples from the Pdf (overloaded)

Parameters
list_sampleslist of samples that will contain result of sampling
num_samplesNumber of Samples to be drawn (iid)
methodSampling method to be used. Each sampling method is currently represented by a #define statement, eg. #define BOXMULLER 1
argsPointer 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 BFL::BFL::Mixture< T >, BFL::BFL::MCPdf< T >, and BFL::BFL::DiscretePdf.

Definition at line 182 of file mixtureParticleFilter.h.

◆ SampleFrom() [2/2]

template<typename T>
bool BFL::Pdf< T >::SampleFrom ( Sample< T > &  one_sample,
int  method = DEFAULT,
void *  args = NULL 
) const
virtual

Draw 1 sample from the Pdf:

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

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

Reimplemented in BFL::BFL::Mixture< T >, BFL::DiscreteConditionalPdf, BFL::BFL::MCPdf< T >, BFL::BFL::DiscretePdf, and BFL::DiscretePdf.

Definition at line 197 of file mixtureParticleFilter.h.

Member Data Documentation

◆ _dimension

template<typename T>
unsigned int BFL::BFL::Pdf< T >::_dimension
private

Dimension of the argument x of P(x | ...).

Definition at line 145 of file mixtureParticleFilter.h.


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


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Mon Feb 28 2022 21:56:34