Bayesian Filtering Library  Generated from SVN r
Public Member Functions | Friends | List of all members
Uniform Class Reference

Class representing uniform density. More...

#include <uniform.h>

Inheritance diagram for Uniform:
Pdf< MatrixWrapper::ColumnVector >

Public Member Functions

 Uniform (const MatrixWrapper::ColumnVector &Center, const MatrixWrapper::ColumnVector &Width)
 Constructor. More...
 
 Uniform (int dimension=0)
 constructor with only dimensions or nothing
 
virtual ~Uniform ()
 Default Copy Constructor will do. More...
 
virtual UniformClone () const
 Clone function.
 
virtual Probability ProbabilityGet (const MatrixWrapper::ColumnVector &input) const
 
bool SampleFrom (vector< Sample< MatrixWrapper::ColumnVector > > &list_samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 
virtual bool SampleFrom (Sample< MatrixWrapper::ColumnVector > &one_sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 
virtual MatrixWrapper::ColumnVector CenterGet () const
 Get the center of the uniform. More...
 
virtual MatrixWrapper::ColumnVector WidthGet () const
 Get the Width of the uniform distribution. More...
 
void UniformSet (const MatrixWrapper::ColumnVector &center, const MatrixWrapper::ColumnVector &width)
 Set the center and width of the uniform. More...
 
virtual bool SampleFrom (vector< Sample< MatrixWrapper::ColumnVector > > &list_samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 Draw multiple samples from the Pdf (overloaded) More...
 
virtual bool SampleFrom (Sample< MatrixWrapper::ColumnVector > &one_sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
 Draw 1 sample from the Pdf: More...
 
virtual Probability ProbabilityGet (const MatrixWrapper::ColumnVector &input) const
 Get the probability of a certain argument. 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 MatrixWrapper::ColumnVector ExpectedValueGet () const
 Get the expected value E[x] of the pdf. More...
 
virtual MatrixWrapper::SymmetricMatrix CovarianceGet () const
 Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Uniform &u)
 output stream for Uniform distribution
 

Detailed Description

Class representing uniform density.

Definition at line 26 of file uniform.h.

Constructor & Destructor Documentation

◆ Uniform()

Uniform ( const MatrixWrapper::ColumnVector &  Center,
const MatrixWrapper::ColumnVector &  Width 
)

Constructor.

Parameters
Centercenter of the uniform distribution
Widthwidth of the uniform distribution

◆ ~Uniform()

virtual ~Uniform ( )
virtual

Default Copy Constructor will do.

Destructor

Member Function Documentation

◆ CenterGet()

virtual MatrixWrapper::ColumnVector CenterGet ( ) const
virtual

Get the center of the uniform.

Get the center of the uniform

◆ CovarianceGet()

MatrixWrapper::SymmetricMatrix CovarianceGet
virtualinherited

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

Definition at line 138 of file pdf.h.

◆ DimensionGet()

unsigned int DimensionGet
inlineinherited

Get the dimension of the argument.

Returns
the dimension of the argument

Definition at line 113 of file pdf.h.

◆ DimensionSet()

void DimensionSet ( unsigned int  dim)
virtualinherited

Set the dimension of the argument.

Parameters
dimthe dimension

Reimplemented in Gaussian.

Definition at line 118 of file pdf.h.

◆ ExpectedValueGet()

MatrixWrapper::ColumnVector ExpectedValueGet
virtualinherited

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 OptimalImportanceDensity, NonLinearAnalyticConditionalGaussian_Ginac, LinearAnalyticConditionalGaussian, Gaussian, and FilterProposalDensity.

Definition at line 129 of file pdf.h.

◆ ProbabilityGet()

Probability ProbabilityGet ( const T &  input) const
virtualinherited

Get the probability of a certain argument.

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

Definition at line 108 of file pdf.h.

◆ SampleFrom() [1/2]

bool SampleFrom ( Sample< T > &  one_sample,
const SampleMthd  method = SampleMthd::DEFAULT,
void *  args = NULL 
) const
virtualinherited

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!

Definition at line 100 of file pdf.h.

◆ SampleFrom() [2/2]

bool SampleFrom ( vector< Sample< T > > &  list_samples,
const unsigned int  num_samples,
const SampleMthd  method = SampleMthd::DEFAULT,
void *  args = NULL 
) const
virtualinherited

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!

Definition at line 84 of file pdf.h.

◆ UniformSet()

void UniformSet ( const MatrixWrapper::ColumnVector &  center,
const MatrixWrapper::ColumnVector &  width 
)

Set the center and width of the uniform.

Set the center and width of the uniform

Parameters
centerThe new center of uniform distribution
widthThe new width of the uniform distribution

◆ WidthGet()

virtual MatrixWrapper::ColumnVector WidthGet ( ) const
virtual

Get the Width of the uniform distribution.

Get the Width of the uniform distribution


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