MGMatrix< MATRIX, VECTOR > Class Template Reference
[Multilevel support]

Inheritance diagram for MGMatrix< MATRIX, VECTOR >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MGMatrix (MGLevelObject< MATRIX > *=0)
void set_matrix (MGLevelObject< MATRIX > *M)
virtual void vmult (const unsigned int level, VECTOR &dst, const VECTOR &src) const
virtual void vmult_add (const unsigned int level, VECTOR &dst, const VECTOR &src) const
virtual void Tvmult (const unsigned int level, VECTOR &dst, const VECTOR &src) const
virtual void Tvmult_add (const unsigned int level, VECTOR &dst, const VECTOR &src) const
unsigned int memory_consumption () const

Private Attributes

SmartPointer< MGLevelObject
< MATRIX > > 
matrix

Detailed Description

template<class MATRIX, class VECTOR>
class MGMatrix< MATRIX, VECTOR >

Multilevel matrix. This class implements the interface defined by MGMatrixBase, using MGLevelObject of an arbitrary matrix class.

Author:
Guido Kanschat, 2002

Constructor & Destructor Documentation

template<class MATRIX , class VECTOR >
MGMatrix< MATRIX, VECTOR >::MGMatrix ( MGLevelObject< MATRIX > *  p = 0  )  [inline]

Constructor. The argument is handed over to the SmartPointer constructor. The matrix object must exist longer as the MGMatrix object, since only a pointer is stored.


Member Function Documentation

template<class MATRIX , class VECTOR >
void MGMatrix< MATRIX, VECTOR >::set_matrix ( MGLevelObject< MATRIX > *  M  )  [inline]

Set the matrix object to be used. The matrix object must exist longer as the MGMatrix object, since only a pointer is stored.

References MGMatrix< MATRIX, VECTOR >::matrix.

template<class MATRIX , class VECTOR >
void MGMatrix< MATRIX, VECTOR >::vmult ( const unsigned int  level,
VECTOR &  dst,
const VECTOR &  src 
) const [inline, virtual]

Matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VECTOR >.

References Assert, and MGMatrix< MATRIX, VECTOR >::matrix.

template<class MATRIX , class VECTOR >
void MGMatrix< MATRIX, VECTOR >::vmult_add ( const unsigned int  level,
VECTOR &  dst,
const VECTOR &  src 
) const [inline, virtual]

Adding matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VECTOR >.

References Assert, and MGMatrix< MATRIX, VECTOR >::matrix.

template<class MATRIX , class VECTOR >
void MGMatrix< MATRIX, VECTOR >::Tvmult ( const unsigned int  level,
VECTOR &  dst,
const VECTOR &  src 
) const [inline, virtual]

Transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VECTOR >.

References Assert, and MGMatrix< MATRIX, VECTOR >::matrix.

template<class MATRIX , class VECTOR >
void MGMatrix< MATRIX, VECTOR >::Tvmult_add ( const unsigned int  level,
VECTOR &  dst,
const VECTOR &  src 
) const [inline, virtual]

Adding transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VECTOR >.

References Assert, and MGMatrix< MATRIX, VECTOR >::matrix.

template<class MATRIX , class VECTOR >
unsigned int MGMatrix< MATRIX, VECTOR >::memory_consumption (  )  const [inline]

Member Data Documentation

template<class MATRIX, class VECTOR>
SmartPointer<MGLevelObject<MATRIX> > MGMatrix< MATRIX, VECTOR >::matrix [private]

The documentation for this class was generated from the following file:

deal.II documentation generated on Mon Nov 23 22:57:56 2009 by doxygen 1.6.1