Main Page | Namespace List | Class List | File List | Namespace Members | Class Members | File Members

Einzel-FIGL-Loeser.hpp

Go to the documentation of this file.
00001 // ***************************************************************************
00002 //
00003 // VFIS Integral Equation Solver (Single Version).
00004 //
00005 // Verified Fredholm Integral Equation Solver
00006 // for linear Fredholm Integral Equations of the second kind
00007 // (Single Version)
00008 //
00009 // Verifizierter Integralgleichungsloeser 
00010 // fuer lineare Fredholmsche Integralgleichungen zweiter Art
00011 // (Einzelversion)
00012 //
00013 // Copyright (c) 2004-2007 Markus Grimmer
00014 //
00015 // markus.grimmer@math.uni-wuppertal.de
00016 //
00017 // VFIS is free software; you can redistribute it and/or modify
00018 // it under the terms of the GNU General Public License as published by
00019 // the Free Software Foundation; either version 2 of the License, or
00020 // (at your option) any later version.
00021 // 
00022 // VFIS is distributed in the hope that it will be useful,
00023 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00024 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00025 // GNU General Public License for more details.
00026 // 
00027 // You should have received a copy of the GNU General Public License
00028 // along with VFIS; if not, write to the Free Software
00029 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00030 //
00031 // ***************************************************************************
00032 
00033 
00040 #include <vector>
00041 #include <string>
00042 
00043 using namespace std;
00044 using namespace cxsc;
00045 using namespace taylor;
00046 
00056 class IntegralOperatorRG
00057 {
00058   private:
00062     ivector K;
00063   public:
00068     IntegralOperatorRG(ivector& iv) { K=iv; }
00073     IntegralOperatorRG(const IntegralOperatorRG& IO) { K=IO.K; }
00074     itaylor operator()(itaylor&, int, interval, ivector&, ivector&);
00075 };
00076 
00077 // ---------------------------------------------------------------------------
00078 
00086 class IntegralGleichung
00087 {
00088   private:
00092     typedef dim2taylor (*KFkt)(dim2taylor_vector&);
00096     typedef itaylor (*ReFkt)(itaylor&);
00100     KFkt       KernFkt;
00104     ReFkt      RechtsFkt;
00109     dim2taylor Kpoint;
00110     dim2taylor Kint;
00111     dim2taylor Kern;
00113 
00117     itaylor    RSpoint;
00118     itaylor    RSint;
00119     itaylor    RS;  
00121 
00125     interval   S;
00126     interval   T;
00127     interval   RS_S;
00128     interval   Smid;
00129     interval   Tmid;
00130     interval   RS_Smid;
00132 
00135     itaylor    ILGS_Lsg;
00139     itaylor    Lsg;
00143     int ord;
00147     ivector MonomInt_a;
00151     ivector MonomInt_b;
00155     ivector Restkern;
00156   
00157   public:
00158   
00159     IntegralGleichung(int ord=0);
00160     IntegralGleichung(KFkt,interval, interval,
00161                       ReFkt, interval, int);
00162     void Einschliessung_berechnen();  
00163     void Loesungsansatz(vector<itaylor>&, itaylor&, int&);
00164     void Loesung_bilden(vector<itaylor>&, itaylor&, int&);
00165     
00171     dim2taylor getKern() { return Kern;}
00172     itaylor getRS() { return RS; }
00173     itaylor getILGS_Lsg() { return ILGS_Lsg; }
00174     itaylor getLsg() { return Lsg; }
00175     interval getS() { return S;} 
00176     interval getT() { return T;} 
00177     interval getRS_S() { return RS_S;} 
00179     
00180     void Export(string dest, string fname, string varname="IGL_Lsg");
00181     void Export_Plot(string dest, string fname, int steps, 
00182                      string varname="IGL_Lsg", 
00183                      string plottitle="SolutionEnclosure");
00184     
00185     friend ostream& operator<< (ostream&, IntegralGleichung&);
00186  
00187     friend itaylor Iteration (IntegralOperatorRG&, itaylor&, int ord, interval S, 
00188                               ivector&, ivector&, int& err);
00189     // ...
00190 };

Generated on Wed Apr 4 18:08:44 2007 for VFIS by  doxygen 1.4.4