#include <AbstractSystemMatrix.h>
Public Member Functions | |
AbstractSystemMatrix () | |
Default constructor for AbstractSystemMatrix. | |
AbstractSystemMatrix (const int row_blocksize, const FunctionSpace &row_functionspace, const int column_blocksize, const FunctionSpace &column_functionspace) | |
virtual | ~AbstractSystemMatrix () |
Destructor. | |
Data | vectorMultiply (Data &right) const |
matrix*vector multiplication | |
int | isEmpty () const |
returns true if the matrix is empty | |
FunctionSpace | getColumnFunctionSpace () const |
returns the column function space | |
FunctionSpace | getRowFunctionSpace () const |
returns the row function space | |
int | getRowBlockSize () const |
returns the row block size | |
int | getColumnBlockSize () const |
returns the column block size | |
Data | solve (Data &in, boost::python::object &options) const |
returns the solution u of the linear system this*u=in | |
virtual void | saveMM (const std::string &fileName) const |
writes the matrix to a file using the Matrix Market file format | |
virtual void | saveHB (const std::string &fileName) const |
writes the matrix to a file using the Harwell-Boeing file format | |
virtual void | resetValues () const |
resets the matrix entries | |
Private Member Functions | |
virtual void | setToSolution (Data &out, Data &in, boost::python::object &options) const |
solves the linear system this*out=in | |
virtual void | ypAx (Data &y, Data &x) const |
performs y+=this*x | |
Private Attributes | |
int | m_empty |
int | m_column_blocksize |
int | m_row_blocksize |
FunctionSpace | m_row_functionspace |
FunctionSpace | m_column_functionspace |
Description: Give a detailed description of AbstractSystemMatrix
Template Parameters: For templates describe any conditions that the parameters used in the template must satisfy
escript::AbstractSystemMatrix::AbstractSystemMatrix | ( | ) |
Default constructor for AbstractSystemMatrix.
Description: Default constructor for AbstractSystemMatrix
Preconditions: Describe any preconditions
Throws: Describe any exceptions thrown
References m_empty.
escript::AbstractSystemMatrix::AbstractSystemMatrix | ( | const int | row_blocksize, | |
const FunctionSpace & | row_functionspace, | |||
const int | column_blocksize, | |||
const FunctionSpace & | column_functionspace | |||
) |
References m_column_blocksize, m_empty, and m_row_blocksize.
escript::AbstractSystemMatrix::~AbstractSystemMatrix | ( | ) | [virtual] |
Destructor.
matrix*vector multiplication
References getColumnBlockSize(), getColumnFunctionSpace(), escript::Data::getDataPointSize(), getRowBlockSize(), getRowFunctionSpace(), isEmpty(), and ypAx().
Referenced by BOOST_PYTHON_MODULE(), and escript::operator*().
int escript::AbstractSystemMatrix::isEmpty | ( | ) | const |
returns true if the matrix is empty
References m_empty.
Referenced by BOOST_PYTHON_MODULE(), getColumnBlockSize(), getColumnFunctionSpace(), getRowBlockSize(), getRowFunctionSpace(), solve(), and vectorMultiply().
FunctionSpace escript::AbstractSystemMatrix::getColumnFunctionSpace | ( | ) | const [inline] |
returns the column function space
References isEmpty(), and m_column_functionspace.
Referenced by finley::SystemMatrixAdapter::nullifyRowsAndCols(), finley::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and finley::SystemMatrixAdapter::ypAx().
FunctionSpace escript::AbstractSystemMatrix::getRowFunctionSpace | ( | ) | const [inline] |
returns the row function space
References isEmpty(), and m_row_functionspace.
Referenced by finley::SystemMatrixAdapter::nullifyRowsAndCols(), finley::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and finley::SystemMatrixAdapter::ypAx().
int escript::AbstractSystemMatrix::getRowBlockSize | ( | ) | const [inline] |
returns the row block size
References isEmpty(), and m_row_blocksize.
Referenced by finley::SystemMatrixAdapter::nullifyRowsAndCols(), finley::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and finley::SystemMatrixAdapter::ypAx().
int escript::AbstractSystemMatrix::getColumnBlockSize | ( | ) | const [inline] |
returns the column block size
References isEmpty(), and m_column_blocksize.
Referenced by finley::SystemMatrixAdapter::nullifyRowsAndCols(), finley::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and finley::SystemMatrixAdapter::ypAx().
returns the solution u of the linear system this*u=in
References getColumnBlockSize(), getColumnFunctionSpace(), escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), getRowBlockSize(), getRowFunctionSpace(), isEmpty(), and setToSolution().
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::saveMM | ( | const std::string & | fileName | ) | const [virtual] |
writes the matrix to a file using the Matrix Market file format
Reimplemented in finley::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::saveHB | ( | const std::string & | fileName | ) | const [virtual] |
writes the matrix to a file using the Harwell-Boeing file format
Reimplemented in finley::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::resetValues | ( | ) | const [virtual] |
resets the matrix entries
Reimplemented in finley::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::setToSolution | ( | Data & | out, | |
Data & | in, | |||
boost::python::object & | options | |||
) | const [private, virtual] |
solves the linear system this*out=in
Reimplemented in finley::SystemMatrixAdapter.
Referenced by solve().
int escript::AbstractSystemMatrix::m_empty [private] |
Referenced by AbstractSystemMatrix(), and isEmpty().
int escript::AbstractSystemMatrix::m_column_blocksize [private] |
Referenced by AbstractSystemMatrix(), and getColumnBlockSize().
int escript::AbstractSystemMatrix::m_row_blocksize [private] |
Referenced by AbstractSystemMatrix(), and getRowBlockSize().
Referenced by getRowFunctionSpace().
Referenced by getColumnFunctionSpace().