NGSolve  4.9
linalg/chebyshev.hpp
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