MathTL
 All Classes Functions Variables Typedefs Enumerations
Public Types | Public Member Functions
MathTL::MatrixBlock< C > Class Template Reference

#include <matrix_block.h>

Inheritance diagram for MathTL::MatrixBlock< C >:
MathTL::BlockMatrix< C > MathTL::KroneckerMatrix< C, MATRIX1, MATRIX2 > MathTL::Matrix< C > MathTL::SparseMatrix< C > MathTL::DecomposableMatrix< C > MathTL::Hessenberg< C >

List of all members.

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

Detailed Description

template<class C>
class MathTL::MatrixBlock< C >

Abstract base class for all those matrices which shall be used as matrix blocks in the class BlockMatrix.


Member Typedef Documentation

template<class C>
typedef Vector<C>::size_type MathTL::MatrixBlock< C >::size_type

Member Function Documentation

template<class 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 >.

template<class C>
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 >.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations