# Diff of /trunk/escript/src/AbstractSystemMatrix.h

trunk/esys2/escript/src/Data/AbstractSystemMatrix.h revision 100 by jgs, Wed Dec 15 03:48:48 2004 UTC trunk/escript/src/AbstractSystemMatrix.h revision 474 by jgs, Mon Jan 30 04:23:44 2006 UTC
# Line 1  Line 1
1    // \$Id\$
2  /*  /*
3   ******************************************************************************   ******************************************************************************
4   *                                                                            *   *                                                                            *
# Line 15  Line 16
16  #if !defined  escript_AbstractSystemMatrix_20040628_H  #if !defined  escript_AbstractSystemMatrix_20040628_H
17  #define escript_AbstractSystemMatrix_20040628_H  #define escript_AbstractSystemMatrix_20040628_H
18
19  #include "escript/Data/FunctionSpace.h"  #include "FunctionSpace.h"
20  #include "escript/Data/SystemMatrixException.h"  #include "SystemMatrixException.h"
21  #include "escript/Data/Data.h"  #include "Data.h"
22
23  #include <boost/python/dict.hpp>  #include <boost/python/dict.hpp>
24
25  namespace escript {  namespace escript {
# Line 66  class AbstractSystemMatrix { Line 68  class AbstractSystemMatrix {
68      \brief      \brief
69      matrix*vector multiplication      matrix*vector multiplication
70    */    */
71    Data vectorMultiply(const Data& right) const;    Data vectorMultiply(Data& right) const;
72
73    /**    /**
74      \brief      \brief
# Line 122  class AbstractSystemMatrix { Line 124  class AbstractSystemMatrix {
124       \brief       \brief
125       returns the solution u of the linear system this*u=in       returns the solution u of the linear system this*u=in
126    */    */
127    Data solve(const Data& in,const boost::python::dict& options) const;    Data solve(Data& in,const boost::python::dict& options) const;
128
129      /**
130         \brief writes the matrix to a file using the Matrix Market file format
131      */
132      virtual void saveMM(const std::string& fileName) const;
133
134      /**
135         \brief writes the matrix to a file using the Harwell-Boeing file format
136      */
137      virtual void saveHB(const std::string& fileName) const;
138
139      /**
140         \brief resets the matrix entries
141      */
142      virtual void resetValues() const;
143
144   protected:   protected:
145
# Line 132  class AbstractSystemMatrix { Line 149  class AbstractSystemMatrix {
149       \brief       \brief
150       solves the linear system this*out=in       solves the linear system this*out=in
151    */    */
152    virtual void setToSolution(Data& out,const Data& in,const boost::python::dict& options) const;    virtual void setToSolution(Data& out,Data& in,const boost::python::dict& options) const;
153
154    /**    /**
155       \brief       \brief
156       performs y+=this*x       performs y+=this*x
157    */    */
158    virtual void ypAx(Data& y,const Data& x) const;    virtual void ypAx(Data& y,Data& x) const;
159
160    int m_empty;    int m_empty;
161    int m_column_blocksize;    int m_column_blocksize;
# Line 148  class AbstractSystemMatrix { Line 165  class AbstractSystemMatrix {
165
166  };  };
167
168  Data operator*(const AbstractSystemMatrix& left, const Data& right) ;  Data operator*(const AbstractSystemMatrix& left,const Data& right) ;
169
170
171

Legend:
 Removed from v.100 changed lines Added in v.474