Bayesian Filtering Library Generated from SVN r
Pdf< T > Class Template Referenceabstract

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

#include <mixtureParticleFilter.h>

Inheritance diagram for Pdf< T >:
ConditionalPdf< T, T > MCPdf< T > MCPdf< T > Mixture< T >

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, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded)
 
virtual bool SampleFrom (Sample< T > &one_sample, const SampleMthd method=SampleMthd::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.
 
 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, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded)
 
virtual bool SampleFrom (Sample< T > &one_sample, const SampleMthd method=SampleMthd::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.
 
 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, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded)
 
virtual bool SampleFrom (Sample< T > &one_sample, const SampleMthd method=SampleMthd::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::BFL::Pdf< T >

Class PDF: Virtual Base class representing Probability Density Functions.

Definition at line 50 of file particlesmoother.h.

Constructor & Destructor Documentation

◆ Pdf() [1/3]

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

Constructor.

Parameters
dimensionint representing the number of rows of the state

Definition at line 147 of file mixtureParticleFilter.h.

◆ ~Pdf()

template<typename T >
~Pdf ( )
virtual

Destructor.

Definition at line 158 of file mixtureParticleFilter.h.

◆ Pdf() [2/3]

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

Constructor.

Parameters
dimensionint representing the number of rows of the state

◆ Pdf() [3/3]

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

Constructor.

Parameters
dimensionint representing the number of rows of the state

Member Function Documentation

◆ Clone() [1/3]

◆ Clone() [2/3]

◆ Clone() [3/3]

◆ CovarianceGet() [1/3]

template<typename T >
MatrixWrapper::SymmetricMatrix 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!

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, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, ConditionalGaussianAdditiveNoise, FilterProposalDensity, Gaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

Definition at line 222 of file mixtureParticleFilter.h.

◆ CovarianceGet() [2/3]

template<typename T >
virtual MatrixWrapper::SymmetricMatrix 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 AnalyticConditionalGaussianAdditiveNoise, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, ConditionalGaussianAdditiveNoise, FilterProposalDensity, Gaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

◆ CovarianceGet() [3/3]

template<typename T >
virtual MatrixWrapper::SymmetricMatrix 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 AnalyticConditionalGaussianAdditiveNoise, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, ConditionalGaussianAdditiveNoise, FilterProposalDensity, Gaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

◆ DimensionGet() [1/3]

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

Get the dimension of the argument.

Returns
the dimension of the argument

Definition at line 166 of file mixtureParticleFilter.h.

◆ DimensionGet() [2/3]

template<typename T >
unsigned int DimensionGet ( ) const

Get the dimension of the argument.

Returns
the dimension of the argument

◆ DimensionGet() [3/3]

template<typename T >
unsigned int DimensionGet ( ) const

Get the dimension of the argument.

Returns
the dimension of the argument

◆ DimensionSet() [1/3]

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

Set the dimension of the argument.

Parameters
dimthe dimension

Reimplemented in Gaussian.

Definition at line 172 of file mixtureParticleFilter.h.

◆ DimensionSet() [2/3]

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

Set the dimension of the argument.

Parameters
dimthe dimension

Reimplemented in Gaussian.

◆ DimensionSet() [3/3]

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

Set the dimension of the argument.

Parameters
dimthe dimension

Reimplemented in Gaussian.

◆ ExpectedValueGet() [1/3]

template<typename T >
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 MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, FilterProposalDensity, Gaussian, LinearAnalyticConditionalGaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

Definition at line 212 of file mixtureParticleFilter.h.

◆ ExpectedValueGet() [2/3]

template<typename T >
virtual 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 MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, FilterProposalDensity, Gaussian, LinearAnalyticConditionalGaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

◆ ExpectedValueGet() [3/3]

template<typename T >
virtual 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 MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, MCPdf< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, Mixture< T >, FilterProposalDensity, Gaussian, LinearAnalyticConditionalGaussian, NonLinearAnalyticConditionalGaussian_Ginac, and OptimalImportanceDensity.

◆ ProbabilityGet() [1/3]

template<typename T >
Probability 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 DiscretePdf, Mixture< T >, ConditionalGaussian, DiscreteConditionalPdf, Gaussian, and Uniform.

Definition at line 204 of file mixtureParticleFilter.h.

◆ ProbabilityGet() [2/3]

template<typename T >
virtual Probability 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 DiscretePdf, Mixture< T >, ConditionalGaussian, DiscreteConditionalPdf, Gaussian, and Uniform.

◆ ProbabilityGet() [3/3]

template<typename T >
virtual Probability 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 DiscretePdf, Mixture< T >, ConditionalGaussian, DiscreteConditionalPdf, Gaussian, and Uniform.

◆ SampleFrom() [1/6]

template<typename T >
bool SampleFrom ( Sample< T > & one_sample,
const SampleMthd method = SampleMthd::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 an enum, eg. SampleMthd::BOXMULLER
argsPointer to a struct representing extra sample arguments
See also
SampleFrom()
Bug
Sometimes the compiler doesn't know which method to choose!

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 an enum, eg. SampleMthd::BOXMULLER
argsPointer to a struct representing extra sample arguments
See also
SampleFrom()
Bug
Sometimes the compiler doesn't know which method to choose!

Reimplemented in DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.

Definition at line 194 of file mixtureParticleFilter.h.

◆ SampleFrom() [2/6]

template<typename T >
virtual bool SampleFrom ( Sample< T > & one_sample,
const SampleMthd method = SampleMthd::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 an enum, eg. SampleMthd::BOXMULLER
argsPointer to a struct representing extra sample arguments
See also
SampleFrom()
Bug
Sometimes the compiler doesn't know which method to choose!

Reimplemented in DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.

◆ SampleFrom() [3/6]

template<typename T >
virtual bool SampleFrom ( Sample< T > & one_sample,
const SampleMthd method = SampleMthd::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 an enum, eg. SampleMthd::BOXMULLER
argsPointer to a struct representing extra sample arguments
See also
SampleFrom()
Bug
Sometimes the compiler doesn't know which method to choose!

Reimplemented in DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.

◆ SampleFrom() [4/6]

template<typename T >
bool SampleFrom ( vector< Sample< T > > & list_samples,
const unsigned int num_samples,
const SampleMthd method = SampleMthd::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 an enum eg. SampleMthd::BOXMULLER
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!
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 an enum eg. SampleMthd::BOXMULLER
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 DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.

Definition at line 179 of file mixtureParticleFilter.h.

◆ SampleFrom() [5/6]

template<typename T >
virtual bool SampleFrom ( vector< Sample< T > > & list_samples,
const unsigned int num_samples,
const SampleMthd method = SampleMthd::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 an enum eg. SampleMthd::BOXMULLER
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 DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.

◆ SampleFrom() [6/6]

template<typename T >
virtual bool SampleFrom ( vector< Sample< T > > & list_samples,
const unsigned int num_samples,
const SampleMthd method = SampleMthd::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 an enum eg. SampleMthd::BOXMULLER
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 DiscretePdf, MCPdf< T >, MCPdf< T >, and Mixture< T >.


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