00001 00005 class TFQMR : public KrylovItSolver 00006 00007 { 00008 00009 protected: 00010 00011 NUMT alpha, beta, tau, theta, eta, rho, rho1, sigma, gamma, c; 00012 00013 real resnormest; 00014 00015 LinEqVector w_tilde; 00016 LinEqVector w; 00017 LinEqVector d; 00018 LinEqVector g; 00019 LinEqVector s0_tilde; 00020 LinEqVector y; 00021 LinEqVector t; 00022 LinEqVector v; 00023 00024 Handle(LinEqVector) p_tilde; 00025 Handle(LinEqVector) p; 00026 00027 virtual bool redim (LinEqSystem& system); 00028 virtual void initCommBlk (); 00029 00030 public: 00031 00032 TFQMR (); 00033 TFQMR (const LinEqSolver_prm& pm); 00034 ~TFQMR () {} 00035 00036 virtual bool ok () const; 00037 00038 virtual bool solve (LinEqSystem& system); 00039 00040 virtual String description () const; 00041 00042 CLASS_INFO; 00043 }; 00044 00045