nonlinearanalyticconditionalgaussian_ginac.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 ac dot be>
00004 //
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU Lesser General Public License as published by
00007 // the Free Software Foundation; either version 2.1 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 //
00019 
00020 #ifndef __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
00021 #define __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
00022 
00023 #include "analyticconditionalgaussian_additivenoise.h"
00024 #include <ginac/ginac.h>
00025 #include <iostream>
00026 
00027 namespace BFL
00028 {
00030 
00048   class NonLinearAnalyticConditionalGaussian_Ginac : public AnalyticConditionalGaussianAdditiveNoise
00049     {
00050     public:
00052 
00060       NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
00061                                                   const vector<GiNaC::symbol>& u,
00062                                                   const vector<GiNaC::symbol>& x,
00063                                                   const Gaussian& additiveNoise,
00064                                                   const vector<GiNaC::symbol>& cond );
00065 
00067 
00075       NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
00076                                                   const vector<GiNaC::symbol>& u,
00077                                                   const vector<GiNaC::symbol>& x,
00078                                                   const Gaussian& additiveNoise );
00080       NonLinearAnalyticConditionalGaussian_Ginac( const NonLinearAnalyticConditionalGaussian_Ginac& g);
00081 
00083       virtual ~NonLinearAnalyticConditionalGaussian_Ginac();
00084 
00086       friend std::ostream& operator<< (std::ostream& os, NonLinearAnalyticConditionalGaussian_Ginac& p);
00087 
00089       GiNaC::matrix FunctionGet();
00090 
00092       vector<GiNaC::symbol> InputGet();
00093 
00095       vector<GiNaC::symbol> StateGet();
00096 
00098       vector<GiNaC::symbol> ConditionalGet();
00099 
00100       // redefinition of virtual functions
00101       virtual MatrixWrapper::ColumnVector    ExpectedValueGet() const;
00102       virtual MatrixWrapper::SymmetricMatrix CovarianceGet()    const;
00103 
00104       // Redefinition of dfGet
00109       virtual MatrixWrapper::Matrix dfGet(unsigned int i)       const;
00110 
00111 
00112     private:
00113       GiNaC::matrix               func_sym;
00114       vector<GiNaC::symbol>       cond_sym, u_sym, x_sym;
00115       unsigned int                        cond_size, u_size, x_size, func_size;
00116       vector<GiNaC::ex>                   dfunc_dcond, dfunc_dx;
00117 
00118 
00119     };
00120 
00121 } // End namespace
00122 
00123 #endif //  __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__


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