Public Member Functions | Private Attributes | Friends
BFL::NonLinearAnalyticConditionalGaussian_Ginac Class Reference

Conditional Gaussian for an analytic nonlinear system using Ginac: More...

#include <nonlinearanalyticconditionalgaussian_ginac.h>

Inheritance diagram for BFL::NonLinearAnalyticConditionalGaussian_Ginac:
Inheritance graph
[legend]

List of all members.

Public Member Functions

vector< GiNaC::symbol > ConditionalGet ()
 Get conditional arguments.
virtual
MatrixWrapper::SymmetricMatrix 
CovarianceGet () const
 Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
virtual MatrixWrapper::Matrix dfGet (unsigned int i) const
virtual MatrixWrapper::ColumnVector ExpectedValueGet () const
 Get the expected value E[x] of the pdf.
GiNaC::matrix FunctionGet ()
 return function
vector< GiNaC::symbol > InputGet ()
 return substitution symbols
 NonLinearAnalyticConditionalGaussian_Ginac (const GiNaC::matrix &func, const vector< GiNaC::symbol > &u, const vector< GiNaC::symbol > &x, const Gaussian &additiveNoise, const vector< GiNaC::symbol > &cond)
 constructor
 NonLinearAnalyticConditionalGaussian_Ginac (const GiNaC::matrix &func, const vector< GiNaC::symbol > &u, const vector< GiNaC::symbol > &x, const Gaussian &additiveNoise)
 constructor
 NonLinearAnalyticConditionalGaussian_Ginac (const NonLinearAnalyticConditionalGaussian_Ginac &g)
 copy constructor
vector< GiNaC::symbol > StateGet ()
 return state symbols
virtual ~NonLinearAnalyticConditionalGaussian_Ginac ()
 Destructor.

Private Attributes

unsigned int cond_size
vector< GiNaC::symbol > cond_sym
vector< GiNaC::ex > dfunc_dcond
vector< GiNaC::ex > dfunc_dx
unsigned int func_size
GiNaC::matrix func_sym
unsigned int u_size
vector< GiNaC::symbol > u_sym
unsigned int x_size
vector< GiNaC::symbol > x_sym

Friends

std::ostream & operator<< (std::ostream &os, NonLinearAnalyticConditionalGaussian_Ginac &p)
 output stream for measurement model

Detailed Description

Conditional Gaussian for an analytic nonlinear system using Ginac:

Describes classes of the type

\[ P(z | subs) \]

with

\[ z=f(subs) + N(\mu,\Sigma) \]

or

\[ z=f(subs,c+N(\mu, \Sigma)) \]

Constructor for the first type:

\[ NonLinearAnalyticConditionalGaussian_Ginac(f(subs), subs, N(\mu, \Sigma) ) \]

Constructor for the second type:

\[ NonLinearAnalyticConditionalGaussian_Ginac(f(subs,z), subs, N(\mu, \Sigma) ,c) \]

When the second type is used, the additive noise on c will be converted to additive noise on f, by locally linearising the function.

Bug:
: This class is higly biased towards filtering applications.

Definition at line 48 of file nonlinearanalyticconditionalgaussian_ginac.h.


Constructor & Destructor Documentation

BFL::NonLinearAnalyticConditionalGaussian_Ginac::NonLinearAnalyticConditionalGaussian_Ginac ( const GiNaC::matrix &  func,
const vector< GiNaC::symbol > &  u,
const vector< GiNaC::symbol > &  x,
const Gaussian additiveNoise,
const vector< GiNaC::symbol > &  cond 
)

constructor

Parameters:
funcfunction to be evaluated for expected value
usymbols to be substituted (by numeric values) for evaluation. These can be system inputs or sensor parameters
xsymbols representing state
additiveNoiseGaussian representing additive noise
condparameters where additive noise applies to

Definition at line 30 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

BFL::NonLinearAnalyticConditionalGaussian_Ginac::NonLinearAnalyticConditionalGaussian_Ginac ( const GiNaC::matrix &  func,
const vector< GiNaC::symbol > &  u,
const vector< GiNaC::symbol > &  x,
const Gaussian additiveNoise 
)

constructor

Parameters:
funcfunction to be evaluated for expected value
usymbols to be substituted (by numeric values) for evaluation. These can be system inputs or sensor parameters
xsymbols representing state
additiveNoiseGaussian representing additive noise on function output

Definition at line 62 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

copy constructor

Definition at line 85 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

Destructor.

Definition at line 112 of file nonlinearanalyticconditionalgaussian_ginac.cpp.


Member Function Documentation

Get conditional arguments.

Definition at line 285 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

MatrixWrapper::SymmetricMatrix BFL::NonLinearAnalyticConditionalGaussian_Ginac::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 from BFL::AnalyticConditionalGaussianAdditiveNoise.

Definition at line 173 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

MatrixWrapper::Matrix BFL::NonLinearAnalyticConditionalGaussian_Ginac::dfGet ( unsigned int  i) const [virtual]
Bug:
only implemented for i = 0 for now (so in a filter context, only the derivative with respect to x is implemented

Reimplemented from BFL::AnalyticConditionalGaussian.

Definition at line 224 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

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

Definition at line 127 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

return function

Definition at line 266 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

return substitution symbols

Definition at line 273 of file nonlinearanalyticconditionalgaussian_ginac.cpp.

return state symbols

Definition at line 279 of file nonlinearanalyticconditionalgaussian_ginac.cpp.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
NonLinearAnalyticConditionalGaussian_Ginac p 
) [friend]

output stream for measurement model

Definition at line 116 of file nonlinearanalyticconditionalgaussian_ginac.cpp.


Member Data Documentation


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 11 2019 03:45:12