#include <matrix_block.h>
Public Types | |
typedef Vector< C >::size_type | size_type |
Public Member Functions | |
virtual | ~MatrixBlock ()=0 |
purely virtual destructor | |
virtual const size_type | row_dimension () const =0 |
row dimension | |
virtual const size_type | column_dimension () const =0 |
column dimension | |
virtual void | apply (const Vector< C > &x, Vector< C > &Mx) const =0 |
virtual void | apply_transposed (const Vector< C > &x, Vector< C > &Mtx) const =0 |
virtual MatrixBlock< C > * | clone () const =0 |
clone the matrix block | |
virtual MatrixBlock< C > * | clone_transposed () const =0 |
get a transposed version of the matrix block | |
virtual void | print (std::ostream &os, const unsigned int tabwidth=10, const unsigned int precision=3) const =0 |
print block onto a stream |
Abstract base class for all those matrices which shall be used as matrix blocks in the class BlockMatrix.
typedef Vector<C>::size_type MathTL::MatrixBlock< C >::size_type |
type of indexes and size type (cf. STL containers)
Reimplemented in MathTL::SparseMatrix< C >, MathTL::DecomposableMatrix< C >, MathTL::Matrix< C >, MathTL::Matrix< double >, MathTL::KroneckerMatrix< C, MATRIX1, MATRIX2 >, and MathTL::BlockMatrix< C >.
virtual void MathTL::MatrixBlock< C >::apply | ( | const Vector< C > & | x, |
Vector< C > & | Mx | ||
) | const [pure virtual] |
matrix-vector multiplication Mx = (*this) * x; we assume that the vector Mx has the correct size and is not identical to x
Implemented in MathTL::Matrix< C >, MathTL::Matrix< double >, MathTL::SparseMatrix< C >, MathTL::BlockMatrix< C >, and MathTL::KroneckerMatrix< C, MATRIX1, MATRIX2 >.
virtual void MathTL::MatrixBlock< C >::apply_transposed | ( | const Vector< C > & | x, |
Vector< C > & | Mtx | ||
) | const [pure virtual] |
transposed matrix-vector multiplication Mtx = (*this)^T * x; we assume that the vector Mtx has the correct size and is not identical to x
Implemented in MathTL::Matrix< C >, MathTL::Matrix< double >, MathTL::SparseMatrix< C >, MathTL::BlockMatrix< C >, and MathTL::KroneckerMatrix< C, MATRIX1, MATRIX2 >.