simplerowmatrix.h

Go to the documentation of this file.
00001 #ifndef  __SimpleRowMatrix_h
00002 #define  __SimpleRowMatrix_h
00003 
00004 #include  "matrixinterface.h"
00005 #include  "rowcolumnstencil.h"
00006 
00007 namespace Gascoigne
00008 {
00009 
00014 
00018 
00019 class SimpleRowMatrix : virtual public MatrixInterface
00020 {
00021 private:
00022   
00023   
00024 protected:
00025   
00026   RowColumnStencil  ST;
00027   nvector<double> value; 
00028   
00029 public:
00030   
00031   
00032   //
00034   //
00035   
00036   SimpleRowMatrix() : MatrixInterface() {}
00037   ~SimpleRowMatrix() {}
00038   
00039   std::string GetName() const {return "SimpleRowMatrix";}
00040   
00041   std::ostream& Write(std::ostream& os) const;
00042   
00043   const StencilInterface* GetStencil() const { return &ST;}
00044   double& GetValue(int pos) {return value[pos];}
00045   const double& GetValue(int pos) const {return value[pos];}
00046   const double& GetValue(int i, int j) const {return value[ST.Find(i,j)];}
00047   
00048   void zero() {value.zero();}
00049   void ReInit(int n, int nentries);
00050   void ReInit(const SparseStructureInterface* S);
00051   void entry(niiterator start, niiterator stop, const EntryMatrix& M, double s=1.);
00052   void vmult(nvector<double>& y, const nvector<double>& x, double d=1.) const;
00053   
00054 };
00055 }
00056 
00057 #endif

Generated on Thu Sep 14 10:34:37 2006 for Gascoigne by  doxygen 1.4.7