Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

F_SSOR_BiCgStab_2LS.hpp

00001 #ifndef __F_SSOR_BiCgStab_2LS_H__
00002 #define __F_SSOR_BiCgStab_2LS_H__
00003 
00004 
00032 #include <stdio.h>
00033 #include "F_IterativeLS.hpp"
00034 
00035 class AFProductSeqSMatrix;
00036 
00037 class F_SSOR_BiCgStab_2LS : public F_IterativeLS
00038 {
00039 private:
00040 
00041 double                  alpha;
00042 double                  beta;
00043 double                  gamma;
00044 
00045 double                  rho0, rho1;
00046 double                  omega1, omega2, omega3;
00047         
00048 FloatVector*            r;              // = ri
00049 FloatVector*            u;
00050 FloatVector*            v;
00051 FloatVector*            w;
00052 
00053 FloatVector*            r0bar;
00054 FloatVector*            s;
00055 FloatVector*            t;
00056 
00057 FloatVector*            uh;
00058 FloatVector*            rh;
00059 FloatVector*            vh;
00060 FloatVector*            sh;
00061 
00062 bool                            fixedOmega;
00063 double                  omega;
00064 AFProductSeqSMatrix*    C;              // SSOR factorisation
00065 
00066 
00067 protected:
00068 
00069 virtual AFProductSeqSMatrix* factorize(AFSymMatrix* A); 
00070 
00071 virtual FloatVector* singleSolve(AFloatMatrix*  A, FloatVector* b, FloatVector* x=0);
00072 
00073 public:
00074 F_SSOR_BiCgStab_2LS(int maxIterations, double epsilon):F_IterativeLS(maxIterations, epsilon)
00075                 { r=u=v=w= r0bar=s=t= uh=rh=vh=sh= 0; fixedOmega= false; omega=1.0;}
00076 F_SSOR_BiCgStab_2LS(int maxIterations, double anOmega, double epsilon):F_IterativeLS(maxIterations, epsilon)
00077                 { r=u=v=w= r0bar=s=t= uh=rh=vh=sh= 0; fixedOmega= true; omega= anOmega;}
00078 virtual ~F_SSOR_BiCgStab_2LS(){}        
00079 
00080 virtual FloatVector* solve(AFloatMatrix*        m, FloatVector* b, FloatVector* dest);
00081 };
00082 
00083 #endif
00084 
00085 
00086          
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com