00001 // $Id: nonlinearanalyticsystemmodel_gaussianuncertainty_ginac.h 29830 2009-01-14 15:10:41Z kgadeyne $ 00002 // Copyright (C) 2002 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 __NON_LINEAR_SYSTEM_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__ 00021 #define __NON_LINEAR_SYSTEM_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__ 00022 00023 #include "analyticsystemmodel_gaussianuncertainty.h" 00024 #include "../pdf/gaussian.h" 00025 #include "../pdf/nonlinearanalyticconditionalgaussian_ginac.h" 00026 #include <ginac/ginac.h> 00027 #include <vector> 00028 #include <iostream> 00029 00030 namespace BFL 00031 { 00032 00033 using namespace std; 00034 00036 00040 class NonLinearAnalyticSystemModelGaussianUncertainty_Ginac 00041 : public AnalyticSystemModelGaussianUncertainty 00042 { 00043 public: 00045 00047 NonLinearAnalyticSystemModelGaussianUncertainty_Ginac(NonLinearAnalyticConditionalGaussian_Ginac* const pdf); 00048 00050 virtual ~NonLinearAnalyticSystemModelGaussianUncertainty_Ginac(); 00051 00053 // Not yet implemented 00054 /* 00055 friend std::ostream& operator<< (std::ostream& os, 00056 NonLinearAnalyticSystemModelGaussianUncertainty_Ginac& m); 00057 */ 00058 00060 GiNaC::matrix FunctionGet(); 00061 00063 vector<GiNaC::symbol> StateGet(); 00064 00066 vector<GiNaC::symbol> InputGet(); 00067 00068 }; 00069 00070 } // End namespace BFL 00071 00072 #endif // __NON_LINEAR_SYSTEM_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__