Bayesian Filtering Library Generated from SVN r
analyticconditionalgaussian_additivenoise.h
1// $Id$
2// Copyright (C) 2002 Klaas Gadeyne <first dot last at gmail dot com>
3//
4// This program is free software; you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation; either version 2.1 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program; if not, write to the Free Software
16// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17//
18
19#ifndef __ANALYTIC_CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
20#define __ANALYTIC_CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
21
22#include "analyticconditionalgaussian.h"
23#include "gaussian.h"
24
25namespace BFL
26{
27
29
38 {
39 public:
41
46 AnalyticConditionalGaussianAdditiveNoise(const Gaussian& gaus, int num_conditional_arguments=1);
47
49
54 AnalyticConditionalGaussianAdditiveNoise(int dim = 0, int num_conditional_arguments = 0);
55
56 // Default copy constructor will do
57
60
61 // virtual function implemented here
62 virtual MatrixWrapper::SymmetricMatrix CovarianceGet () const;
63
64 // data access functions
66
69 const MatrixWrapper::ColumnVector& AdditiveNoiseMuGet() const;
70
72
75 const MatrixWrapper::SymmetricMatrix& AdditiveNoiseSigmaGet() const;
76
78
81 void AdditiveNoiseMuSet(const MatrixWrapper::ColumnVector& mu);
82
84
87 void AdditiveNoiseSigmaSet(const MatrixWrapper::SymmetricMatrix& sigma);
88
89
90 protected:
92 MatrixWrapper::ColumnVector _additiveNoise_Mu;
93
95 MatrixWrapper::SymmetricMatrix _additiveNoise_Sigma;
96 };
97
98} // End namespace BFL
99
100#endif // __ANALYTIC_CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
101
Abstract Class representing all full Analytical Conditional gaussians with Additive Gaussian Noise.
const MatrixWrapper::ColumnVector & AdditiveNoiseMuGet() const
Get the mean Value of the Additive Gaussian uncertainty.
MatrixWrapper::SymmetricMatrix _additiveNoise_Sigma
additive noise covariance
virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
const MatrixWrapper::SymmetricMatrix & AdditiveNoiseSigmaGet() const
Get the covariance matrix of the Additive Gaussian uncertainty.
virtual ~AnalyticConditionalGaussianAdditiveNoise()
Destructor.
AnalyticConditionalGaussianAdditiveNoise(const Gaussian &gaus, int num_conditional_arguments=1)
Constructor.
void AdditiveNoiseSigmaSet(const MatrixWrapper::SymmetricMatrix &sigma)
Set the covariance of the Additive Gaussian uncertainty.
AnalyticConditionalGaussianAdditiveNoise(int dim=0, int num_conditional_arguments=0)
Constructor 2, Gaussian not yet known.
void AdditiveNoiseMuSet(const MatrixWrapper::ColumnVector &mu)
Set the mean Value of the Additive Gaussian uncertainty.
MatrixWrapper::ColumnVector _additiveNoise_Mu
additive noise expected value
Abstract Class representing all FULL Analytical Conditional gaussians.
Class representing Gaussian (or normal density)
Definition: gaussian.h:28