linearanalyticconditionalgaussian.h
Go to the documentation of this file.
1 // $Id$
2 // Copyright (C) 2003 Klaas Gadeyne <first dot last at gmail dot com>
3 // Wim Meeussen <wim dot meeussen at mech dot kuleuven dot be>
4 // Tinne De Laet <tinne dot delaet at mech dot kuleuven dot be>
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU Lesser General Public License as published by
8 // the Free Software Foundation; either version 2.1 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 //
20 
21 #ifndef __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__
22 #define __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__
23 
25 
26 namespace BFL
27 {
29 
36  {
37  public:
39 
48  LinearAnalyticConditionalGaussian(const vector<MatrixWrapper::Matrix> & ratio,
49  const Gaussian& additiveNoise);
50 
52 
57  LinearAnalyticConditionalGaussian(const MatrixWrapper::Matrix& a, const Gaussian& additiveNoise);
58 
59  // Default copy constructor will do
60 
63 
66 
67  // implement virtual functions
68  virtual MatrixWrapper::ColumnVector ExpectedValueGet() const;
69  virtual MatrixWrapper::Matrix dfGet(unsigned int i) const;
70 
72 
78  virtual void NumConditionalArgumentsSet(unsigned int numconditionalarguments);
79 
81 
89  void MatrixSet(unsigned int i, const MatrixWrapper::Matrix& m);
90 
92 
97  const MatrixWrapper::Matrix& MatrixGet(unsigned int i) const;
98 
99  private:
100 
101  vector<MatrixWrapper::Matrix> _ratio;
102  // variables to avoid allocation during expectedValueGet call
103  mutable MatrixWrapper::ColumnVector _mean_temp;
104  mutable MatrixWrapper::ColumnVector _arg;
105 
106  };
107 
108 } // End namespace BFL
109 
110 #endif // __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__
LinearAnalyticConditionalGaussian(const vector< MatrixWrapper::Matrix > &ratio, const Gaussian &additiveNoise)
Constructor.
const MatrixWrapper::Matrix & MatrixGet(unsigned int i) const
Get the i-th matrix of the system.
void MatrixSet(unsigned int i, const MatrixWrapper::Matrix &m)
Set the i-th Matrix for calculation of .
virtual LinearAnalyticConditionalGaussian * Clone() const
Clone function.
Class representing Gaussian (or normal density)
Definition: gaussian.h:27
Abstract Class representing all full Analytical Conditional gaussians with Additive Gaussian Noise...
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&#39;t want to use this one: Redefined.


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 28 2022 21:56:33