Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

SymMatrix.hh

Go to the documentation of this file.
00001 #ifndef SYMMATRIX
00002 #define SYMMATRIX
00003 
00013 #include "LinearOperator.hh"
00014 #include <iostream>
00015 
00016 class IotrMask;
00017 
00021 class SymMatrix : public LinearOperator {
00022 protected:
00023   SymMatrix( int size ) : mN(size) {};
00024   int mN;
00025 public:
00027   virtual void mult( double alpha, const IotrVector & x,
00028                      double beta,  IotrVector & y ) const = 0;
00029   virtual void symMaskedMult( double alpha, const IotrMask & mask,
00030                               const IotrVector & x,
00031                               double beta,  IotrVector & y ) const = 0;
00033   int size() const { return mN; };
00045   virtual void writefToStream( std::ostream& out,
00046                                const char format[] ) const = 0;
00051   virtual void symCopyFromSparseCols( const int irow[], const int kcol[],
00052                                       const double M[], int & has_upper ) = 0;
00053   virtual void symCopyToSparseCols( int irow[], int len, 
00054                                     int kcol[],
00055                                     double M[], int & morei ) const = 0;
00056 
00057   virtual double lowerBoundEigenvalue() const = 0;
00058 
00059   virtual void inspect( const char * name = 0,
00060                         const char * filename = 0) const = 0;
00061   virtual void inspectAsMatlab( const char * name = 0,
00062                                 const char * filename = 0) const = 0;
00063 
00064 };
00065 
00066 typedef Handle<SymMatrix> SymMatrixHandle;
00067 
00068 #endif

Generated on Wed Aug 27 10:03:41 2003 for iotr by doxygen1.2.18