Bayesian Filtering Library  Generated from SVN r
Public Member Functions | Protected Attributes
LinearAnalyticConditionalGaussian Class Reference

Linear Conditional Gaussian. More...

#include <linearanalyticconditionalgaussian.h>

Inheritance diagram for LinearAnalyticConditionalGaussian:
AnalyticConditionalGaussianAdditiveNoise AnalyticConditionalGaussian ConditionalGaussian ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > Pdf< MatrixWrapper::ColumnVector >

List of all members.

Public Member Functions

 LinearAnalyticConditionalGaussian (const vector< MatrixWrapper::Matrix > &ratio, const Gaussian &additiveNoise)
 Constructor.
 LinearAnalyticConditionalGaussian (const MatrixWrapper::Matrix &a, const Gaussian &additiveNoise)
 Constructor (overloaded)
virtual ~LinearAnalyticConditionalGaussian ()
 Destructor.
virtual
LinearAnalyticConditionalGaussian
Clone () const
 Clone function.
virtual MatrixWrapper::ColumnVector ExpectedValueGet () const
 Get the expected value E[x] of the pdf.
virtual MatrixWrapper::Matrix dfGet (unsigned int i) const
 returns derivative from function to n-th conditional variable
virtual void NumConditionalArgumentsSet (unsigned int numconditionalarguments)
 Be careful: you don't want to use this one: Redefined.
void MatrixSet (unsigned int i, const MatrixWrapper::Matrix &m)
 Set the i-th Matrix for calculation of $ \mu $.
const MatrixWrapper::MatrixMatrixGet (unsigned int i) const
 Get the i-th matrix of the system.
virtual
MatrixWrapper::SymmetricMatrix 
CovarianceGet () const
 Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
const MatrixWrapper::ColumnVectorAdditiveNoiseMuGet () const
 Get the mean Value of the Additive Gaussian uncertainty.
const
MatrixWrapper::SymmetricMatrix
AdditiveNoiseSigmaGet () const
 Get the covariance matrix of the Additive Gaussian uncertainty.
void AdditiveNoiseMuSet (const MatrixWrapper::ColumnVector &mu)
 Set the mean Value of the Additive Gaussian uncertainty.
void AdditiveNoiseSigmaSet (const MatrixWrapper::SymmetricMatrix &sigma)
 Set the covariance of the Additive Gaussian uncertainty.
virtual Probability ProbabilityGet (const MatrixWrapper::ColumnVector &input) const
 Get the probability of a certain argument.
virtual bool SampleFrom (Sample< MatrixWrapper::ColumnVector > &sample, int method=DEFAULT, void *args=NULL) const
virtual bool SampleFrom (std::vector< Sample< MatrixWrapper::ColumnVector > > &samples, const int num_samples, int method=DEFAULT, void *args=NULL) const
virtual bool SampleFrom (vector< Sample< MatrixWrapper::ColumnVector > > &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< MatrixWrapper::ColumnVector > &one_sample, int method=DEFAULT, void *args=NULL) const
 Draw 1 sample from the Pdf:
unsigned int NumConditionalArgumentsGet () const
 Get the Number of conditional arguments.
const std::vector
< MatrixWrapper::ColumnVector > & 
ConditionalArgumentsGet () const
 Get the whole list of conditional arguments.
virtual void ConditionalArgumentsSet (std::vector< MatrixWrapper::ColumnVector > ConditionalArguments)
 Set the whole list of conditional arguments.
const MatrixWrapper::ColumnVectorConditionalArgumentGet (unsigned int n_argument) const
 Get the n-th argument of the list.
virtual void ConditionalArgumentSet (unsigned int n_argument, const MatrixWrapper::ColumnVector &argument)
 Set the n-th argument of the list.
unsigned int DimensionGet () const
 Get the dimension of the argument.
unsigned int DimensionGet () const
 Get the dimension of the argument.
unsigned int DimensionGet () const
 Get the dimension of the argument.
unsigned int DimensionGet () const
 Get the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument.
virtual void DimensionSet (unsigned int dim)
 Set the dimension of the argument.

Protected Attributes

MatrixWrapper::ColumnVector _additiveNoise_Mu
 additive noise expected value
MatrixWrapper::SymmetricMatrix _additiveNoise_Sigma
 additive noise covariance
ColumnVector _diff
ColumnVector _Mu
Matrix _Low_triangle
ColumnVector _samples
ColumnVector _SampleValue

Detailed Description

Linear Conditional Gaussian.

Definition at line 35 of file linearanalyticconditionalgaussian.h.


Constructor & Destructor Documentation

LinearAnalyticConditionalGaussian ( const vector< MatrixWrapper::Matrix > &  ratio,
const Gaussian additiveNoise 
)

Constructor.

Precondition:
: Every Matrix should have the same amount of rows! This is currently not checked. The same goes for the number of columns, which should be equal to the number of rows of the corresponding conditional argument!
Parameters:
ratio,:vector containing the different matrices of the linear relationship between the conditional arguments and $\mu$
additiveNoisePdf representing the additive Gaussian uncertainty
LinearAnalyticConditionalGaussian ( const MatrixWrapper::Matrix a,
const Gaussian additiveNoise 
)

Constructor (overloaded)

Precondition:
There is only 1 conditional argument.
Parameters:
aMatrix for calculation of $\mu$: $ \mu = a . ConditionalArguments[0] + Noise.\mu $
additiveNoisePdf representing the additive Gaussian uncertainty

Member Function Documentation

const MatrixWrapper::ColumnVector& AdditiveNoiseMuGet ( ) const [inherited]

Get the mean Value of the Additive Gaussian uncertainty.

Returns:
the mean Value of the Additive Gaussian uncertainty
void AdditiveNoiseMuSet ( const MatrixWrapper::ColumnVector mu) [inherited]

Set the mean Value of the Additive Gaussian uncertainty.

Parameters:
muthe mean Value of the Additive Gaussian uncertainty

Get the covariance matrix of the Additive Gaussian uncertainty.

Returns:
the mean Value of the Additive Gaussian uncertainty
void AdditiveNoiseSigmaSet ( const MatrixWrapper::SymmetricMatrix sigma) [inherited]

Set the covariance of the Additive Gaussian uncertainty.

Parameters:
sigmathe covariance matrix of the Additive Gaussian uncertainty
const MatrixWrapper::ColumnVector & ConditionalArgumentGet ( unsigned int  n_argument) const [inherited]

Get the n-th argument of the list.

Returns:
The current value of the n-th conditional argument (starting from 0!)
virtual void ConditionalArgumentSet ( unsigned int  n_argument,
const MatrixWrapper::ColumnVector argument 
) [virtual, inherited]

Set the n-th argument of the list.

Parameters:
n_argumentwhich one of the conditional arguments
argumentvalue of the n-th argument
const std::vector<MatrixWrapper::ColumnVector >& ConditionalArgumentsGet ( ) const [inherited]

Get the whole list of conditional arguments.

Returns:
an STL-vector containing all the current values of the conditional arguments
virtual void ConditionalArgumentsSet ( std::vector< MatrixWrapper::ColumnVector ConditionalArguments) [virtual, inherited]

Set the whole list of conditional arguments.

Parameters:
ConditionalArgumentsan STL-vector of type
T
containing the condtional arguments
virtual MatrixWrapper::SymmetricMatrix CovarianceGet ( ) const [virtual, inherited]

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 from Pdf< MatrixWrapper::ColumnVector >.

Reimplemented in NonLinearAnalyticConditionalGaussian_Ginac.

virtual MatrixWrapper::Matrix dfGet ( unsigned int  i) const [virtual]

returns derivative from function to n-th conditional variable

Parameters:
iNumber of the conditional variable to use for partial derivation
Returns:
Partial derivative with respect to conditional variable i

Reimplemented from AnalyticConditionalGaussian.

unsigned int DimensionGet ( ) const [inherited]

Get the dimension of the argument.

Returns:
the dimension of the argument
unsigned int DimensionGet ( ) const [inherited]

Get the dimension of the argument.

Returns:
the dimension of the argument
unsigned int DimensionGet ( ) const [inherited]

Get the dimension of the argument.

Returns:
the dimension of the argument
unsigned int DimensionGet ( ) const [inherited]

Get the dimension of the argument.

Returns:
the dimension of the argument
virtual void DimensionSet ( unsigned int  dim) [virtual, inherited]

Set the dimension of the argument.

Parameters:
dimthe dimension
virtual void DimensionSet ( unsigned int  dim) [virtual, inherited]

Set the dimension of the argument.

Parameters:
dimthe dimension
virtual void DimensionSet ( unsigned int  dim) [virtual, inherited]

Set the dimension of the argument.

Parameters:
dimthe dimension
virtual void DimensionSet ( unsigned int  dim) [virtual, inherited]

Set the dimension of the argument.

Parameters:
dimthe dimension
virtual MatrixWrapper::ColumnVector 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 from Pdf< MatrixWrapper::ColumnVector >.

const MatrixWrapper::Matrix& MatrixGet ( unsigned int  i) const

Get the i-th matrix of the system.

Parameters:
iindex determining which conditional Arg. multiplier matrix will returned
Returns:
the n-th Matrix of the system-equation
void MatrixSet ( unsigned int  i,
const MatrixWrapper::Matrix m 
)

Set the i-th Matrix for calculation of $ \mu $.

Set the i-th Matrix of the $ \mu $ calculation in the conditonal gaussian class

Precondition:
i < Numconditionalarg
Parameters:
iindex determining which conditional Arg. will be multiplied with the given matrix
mMatrix for calculation of $ \mu $: $ \mu = ... m . ConditionalArguments[i] + ... $
unsigned int NumConditionalArgumentsGet ( ) const [inherited]

Get the Number of conditional arguments.

Returns:
the number of conditional arguments
virtual void NumConditionalArgumentsSet ( unsigned int  numconditionalarguments) [virtual]

Be careful: you don't want to use this one: Redefined.

Bug:
This method is not implemented, we can ReSize the std::vector<BFL::Matrix>, but we don't know the dimensions of the matrices self. So this will most certainly result in a segfault. Anyway, why would you need this?

Reimplemented from ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector >.

virtual Probability ProbabilityGet ( const MatrixWrapper::ColumnVector input) const [virtual, inherited]

Get the probability of a certain argument.

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

Reimplemented from Pdf< MatrixWrapper::ColumnVector >.

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

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!
virtual bool SampleFrom ( Sample< MatrixWrapper::ColumnVector > &  one_sample,
int  method = DEFAULT,
void *  args = NULL 
) const [virtual, inherited]

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!

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