Go to the documentation of this file.
18 #ifndef __ESCRIPT_ABSTRACTSYSTEMMATRIX_H__
19 #define __ESCRIPT_ABSTRACTSYSTEMMATRIX_H__
26 #include <boost/python/object.hpp>
32 class AbstractSystemMatrix;
80 Data vectorMultiply(
const Data& right)
const;
96 return m_column_functionspace;
107 return m_row_functionspace;
118 return m_row_blocksize;
129 return m_column_blocksize;
136 Data solve(
const Data& in, boost::python::object& options)
const;
145 virtual void nullifyRowsAndCols(
Data& row_q,
Data& col_q,
double mdv);
151 virtual void saveMM(
const std::string& filename)
const;
156 virtual void saveHB(
const std::string& filename)
const;
161 virtual void resetValues(
bool preserveSolverData =
false);
169 virtual void setToSolution(
Data& out,
Data& in,
170 boost::python::object& options)
const;
176 virtual void ypAx(
Data& y,
Data& x)
const;
190 #endif // __ESCRIPT_ABSTRACTSYSTEMMATRIX_H__
virtual void saveMM(const std::string &filename) const
writes the matrix to a file using the Matrix Market file format
Definition: AbstractSystemMatrix.cpp:120
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
bool isComplex() const
True if components of this data are stored as complex.
Definition: Data.cpp:1160
FunctionSpace m_column_functionspace
Definition: AbstractSystemMatrix.h:182
#define POINTER_WRAPPER_CLASS(x)
Definition: Pointers.h:33
bool isEmpty() const
returns true if the matrix is empty
Definition: AbstractSystemMatrix.h:86
virtual void saveHB(const std::string &filename) const
writes the matrix to a file using the Harwell-Boeing file format
Definition: AbstractSystemMatrix.cpp:125
AbstractSystemMatrix()
Default constructor for AbstractSystemMatrix.
Definition: AbstractSystemMatrix.h:51
int m_column_blocksize
Definition: AbstractSystemMatrix.h:179
virtual void setToSolution(Data &out, Data &in, boost::python::object &options) const
solves the linear system this*out=in
Definition: AbstractSystemMatrix.cpp:107
boost::shared_ptr< const AbstractSystemMatrix > const_ASM_ptr
Definition: AbstractSystemMatrix.h:36
Data vectorMultiply(const Data &right) const
returns the matrix-vector product this*right
Definition: AbstractSystemMatrix.cpp:65
FunctionSpace getColumnFunctionSpace() const
returns the column function space
Definition: AbstractSystemMatrix.h:92
int getDataPointSize() const
Return the size of the data point. It is the product of the data point shape dimensions.
Definition: Data.cpp:1360
Definition: FunctionSpace.h:36
const FunctionSpace & getFunctionSpace() const
Return the function space.
Definition: Data.h:463
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:31
virtual void resetValues(bool preserveSolverData=false)
resets the matrix entries
Definition: AbstractSystemMatrix.cpp:130
virtual void nullifyRowsAndCols(Data &row_q, Data &col_q, double mdv)
sets matrix entries to zero in specified rows and columns. The rows and columns are marked by positiv...
Definition: AbstractSystemMatrix.cpp:113
virtual ~AbstractSystemMatrix()
Destructor.
Definition: AbstractSystemMatrix.h:62
Typedefs and macros for reference counted storage.
Data represents a collection of datapoints.
Definition: Data.h:64
Definition: DataException.h:28
FunctionSpace m_row_functionspace
Definition: AbstractSystemMatrix.h:181
ASM_ptr getPtr()
Returns smart pointer which is managing this object. If one does not exist yet it creates one.
Definition: AbstractSystemMatrix.cpp:42
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:43
Base class for escript system matrices.
Definition: AbstractSystemMatrix.h:44
Data solve(const Data &in, boost::python::object &options) const
returns the solution u of the linear system this*u=in
Definition: AbstractSystemMatrix.cpp:89
SystemMatrixException exception class.
Definition: SystemMatrixException.h:36
Data operator*(const AbstractSystemMatrix &left, const Data &right)
Definition: AbstractSystemMatrix.cpp:60
int m_row_blocksize
Definition: AbstractSystemMatrix.h:180
virtual void ypAx(Data &y, Data &x) const
performs y+=this*x
Definition: AbstractSystemMatrix.cpp:84
Definition: AbstractContinuousDomain.cpp:23
FunctionSpace getRowFunctionSpace() const
returns the row function space
Definition: AbstractSystemMatrix.h:103
boost::shared_ptr< AbstractSystemMatrix > ASM_ptr
Definition: AbstractSystemMatrix.h:33
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:54
int getRowBlockSize() const
returns the row block size
Definition: AbstractSystemMatrix.h:114
int getColumnBlockSize() const
returns the column block size
Definition: AbstractSystemMatrix.h:125
bool m_empty
Definition: AbstractSystemMatrix.h:178