NGSolve
4.9
|
00001 #ifndef FILE_CHEBYSHEV 00002 #define FILE_CHEBYSHEV 00003 00004 /**************************************************************************/ 00005 /* File: chebyshev.hpp */ 00006 /* Author: Joachim Schoeberl */ 00007 /* Date: 30. Jun. 01 */ 00008 /**************************************************************************/ 00009 00010 namespace ngla 00011 { 00012 00016 class ChebyshevIteration : public BaseMatrix 00017 { 00018 protected: 00020 const BaseMatrix *a, *c; 00022 int steps; 00024 double lmin, lmax; 00025 public: 00027 ChebyshevIteration (const BaseMatrix & aa, const BaseMatrix & ac, int steps); 00029 void SetBounds (double almin, double almax); 00031 virtual void Mult (const BaseVector & v, BaseVector & prod) const; 00033 virtual BaseVector * CreateVector () const; 00034 }; 00035 00036 } 00037 00038 #endif