linearanalyticconditionalgaussian.h
Go to the documentation of this file.
00001 // $Id$
00002 // Copyright (C) 2003 Klaas Gadeyne <first dot last at gmail dot com>
00003 //                    Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot be>
00004 //                    Tinne De Laet  <tinne dot delaet at mech dot kuleuven dot be>
00005 //
00006 // This program is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU Lesser General Public License as published by
00008 // the Free Software Foundation; either version 2.1 of the License, or
00009 // (at your option) any later version.
00010 //
00011 // This program is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public License
00017 // along with this program; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00019 //
00020 
00021 #ifndef __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__
00022 #define __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__
00023 
00024 #include "analyticconditionalgaussian_additivenoise.h"
00025 
00026 namespace BFL
00027 {
00029 
00035   class LinearAnalyticConditionalGaussian : public AnalyticConditionalGaussianAdditiveNoise
00036     {
00037     public:
00039 
00048       LinearAnalyticConditionalGaussian(const vector<MatrixWrapper::Matrix> & ratio,
00049                                 const Gaussian& additiveNoise);
00050 
00052 
00057       LinearAnalyticConditionalGaussian(const MatrixWrapper::Matrix& a, const Gaussian& additiveNoise);
00058 
00059       // Default copy constructor will do
00060 
00062       virtual ~LinearAnalyticConditionalGaussian();
00063 
00065       virtual LinearAnalyticConditionalGaussian* Clone() const;
00066 
00067       // implement virtual functions
00068       virtual MatrixWrapper::ColumnVector    ExpectedValueGet() const;
00069       virtual MatrixWrapper::Matrix          dfGet(unsigned int i)       const;
00070 
00072 
00078       virtual void NumConditionalArgumentsSet(unsigned int numconditionalarguments);
00079 
00081 
00089       void MatrixSet(unsigned int i, const MatrixWrapper::Matrix& m);
00090 
00092 
00097       const MatrixWrapper::Matrix& MatrixGet(unsigned int i) const;
00098 
00099     private:
00100 
00101       vector<MatrixWrapper::Matrix> _ratio;
00102       // variables to avoid allocation during expectedValueGet call
00103       mutable MatrixWrapper::ColumnVector _mean_temp;
00104       mutable MatrixWrapper::ColumnVector _arg;
00105 
00106     };
00107 
00108 } // End namespace BFL
00109 
00110 #endif //  __LINEAR_SYSTEM_CONDITIONAL_GAUSSIAN__


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