Bayesian Filtering Library Generated from SVN r
conditionalgaussian_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 __CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
20#define __CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
21
22#include "conditionalgaussian.h"
23#include "gaussian.h"
24
25namespace BFL
26{
27
29
40 {
41 public:
43
48 ConditionalGaussianAdditiveNoise(const Gaussian& gaus, int num_conditional_arguments=1);
49
51
56 ConditionalGaussianAdditiveNoise(int dim = 0, int num_conditional_arguments = 0);
57
58 // Default copy constructor will do
59
62
63 // implement virtuals!
64 virtual MatrixWrapper::SymmetricMatrix CovarianceGet () const;
65
66 // data access functions
68
71 const MatrixWrapper::ColumnVector& AdditiveNoiseMuGet() const;
72
74
77 const MatrixWrapper::SymmetricMatrix& AdditiveNoiseSigmaGet() const;
78
80
83 void AdditiveNoiseMuSet(const MatrixWrapper::ColumnVector& mu);
84
86
89 void AdditiveNoiseSigmaSet(const MatrixWrapper::SymmetricMatrix& sigma);
90
91
92 protected:
94 MatrixWrapper::ColumnVector _additiveNoise_Mu;
95
97 MatrixWrapper::SymmetricMatrix _additiveNoise_Sigma;
98 };
99
100} // End namespace BFL
101
102#endif // __CONDITIONAL_GAUSSIAN_ADDITIVE_NOISE__
103
Abstract Class representing all Conditional Gaussians with additive gaussian noise.
ConditionalGaussianAdditiveNoise(int dim=0, int num_conditional_arguments=0)
Constructor 2, Gaussian not yet known.
const MatrixWrapper::ColumnVector & AdditiveNoiseMuGet() const
Get the mean Value of the Additive Gaussian uncertainty.
ConditionalGaussianAdditiveNoise(const Gaussian &gaus, int num_conditional_arguments=1)
Constructor.
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.
void AdditiveNoiseSigmaSet(const MatrixWrapper::SymmetricMatrix &sigma)
Set the covariance of the Additive Gaussian uncertainty.
void AdditiveNoiseMuSet(const MatrixWrapper::ColumnVector &mu)
Set the mean Value of the Additive Gaussian uncertainty.
virtual ~ConditionalGaussianAdditiveNoise()
Destructor.
MatrixWrapper::ColumnVector _additiveNoise_Mu
additive noise expected value
Abstract Class representing all Conditional gaussians.
Class representing Gaussian (or normal density)
Definition gaussian.h:28