00001 00005 class BiCGStab : public KrylovItSolver 00006 00007 { 00008 00009 protected: 00010 00011 NUMT alpha, beta, rho, rho1, omega; 00012 00013 LinEqVector r_bar0; 00014 LinEqVector p; 00015 LinEqVector u; 00016 LinEqVector v; 00017 LinEqVector t; 00018 00019 Handle(LinEqVector) p_hat; 00020 Handle(LinEqVector) u_hat; 00021 00022 virtual bool redim (LinEqSystem& system); 00023 00024 public: 00025 00026 BiCGStab (); 00027 BiCGStab (const LinEqSolver_prm& pm); 00028 ~BiCGStab () {} 00029 00030 virtual bool ok () const; 00031 00032 virtual bool solve (LinEqSystem& system); 00033 00034 virtual String description () const; 00035 00036 CLASS_INFO; 00037 }; 00038 00039