Public Member Functions | Private Attributes

MGMatrixSelect< MATRIX, number > Class Template Reference
[Multilevel support]

Inheritance diagram for MGMatrixSelect< MATRIX, number >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 MGMatrixSelect (const unsigned int row=0, const unsigned int col=0, MGLevelObject< MATRIX > *=0)
void set_matrix (MGLevelObject< MATRIX > *M)
void select_block (const unsigned int row, const unsigned int col)
virtual void vmult (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const
virtual void vmult_add (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const
virtual void Tvmult (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const
virtual void Tvmult_add (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const

Private Attributes

SmartPointer< MGLevelObject
< MATRIX >, MGMatrixSelect
< MATRIX, number > > 
matrix
unsigned int row
unsigned int col

Detailed Description

template<class MATRIX, typename number>
class MGMatrixSelect< MATRIX, number >

Multilevel matrix selecting from block matrices. This class implements the interface defined by MGMatrixBase. The template parameter MATRIX should be a block matrix class like BlockSparseMatrix or BlockSparseMatrixEZ. Then, this class stores a pointer to a MGLevelObject of this matrix class. In each vmult, the block selected on initialization will be multiplied with the vector provided.

Author:
Guido Kanschat, 2002

Definition at line 179 of file mg_matrix.h.


Constructor & Destructor Documentation

template<class MATRIX , typename number >
MGMatrixSelect< MATRIX, number >::MGMatrixSelect ( const unsigned int  row = 0,
const unsigned int  col = 0,
MGLevelObject< MATRIX > *  p = 0 
)

Constructor. row and col are the coordinate of the selected block. The other argument is handed over to the SmartPointer constructor.

Definition at line 432 of file mg_matrix.h.


Member Function Documentation

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::set_matrix ( MGLevelObject< MATRIX > *  M )

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

Definition at line 445 of file mg_matrix.h.

References LAPACKSupport::matrix.

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::select_block ( const unsigned int  row,
const unsigned int  col 
)

Select the block for multiplication.

Definition at line 454 of file mg_matrix.h.

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::vmult ( const unsigned int  level,
Vector< number > &  dst,
const Vector< number > &  src 
) const [virtual]

Matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< Vector< number > >.

Definition at line 465 of file mg_matrix.h.

References Assert, StandardExceptions::ExcNotInitialized(), and LAPACKSupport::matrix.

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::vmult_add ( const unsigned int  level,
Vector< number > &  dst,
const Vector< number > &  src 
) const [virtual]

Adding matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< Vector< number > >.

Definition at line 479 of file mg_matrix.h.

References Assert, StandardExceptions::ExcNotInitialized(), and LAPACKSupport::matrix.

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::Tvmult ( const unsigned int  level,
Vector< number > &  dst,
const Vector< number > &  src 
) const [virtual]

Transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< Vector< number > >.

Definition at line 493 of file mg_matrix.h.

References Assert, StandardExceptions::ExcNotInitialized(), and LAPACKSupport::matrix.

template<class MATRIX , typename number >
void MGMatrixSelect< MATRIX, number >::Tvmult_add ( const unsigned int  level,
Vector< number > &  dst,
const Vector< number > &  src 
) const [virtual]

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

Implements MGMatrixBase< Vector< number > >.

Definition at line 507 of file mg_matrix.h.

References Assert, StandardExceptions::ExcNotInitialized(), and LAPACKSupport::matrix.


Member Data Documentation

template<class MATRIX , typename number >
SmartPointer<MGLevelObject<MATRIX>,MGMatrixSelect<MATRIX,number> > MGMatrixSelect< MATRIX, number >::matrix [private]

Pointer to the matrix objects on each level.

Definition at line 247 of file mg_matrix.h.

template<class MATRIX , typename number >
unsigned int MGMatrixSelect< MATRIX, number >::row [private]

Row coordinate of selected block.

Definition at line 251 of file mg_matrix.h.

template<class MATRIX , typename number >
unsigned int MGMatrixSelect< MATRIX, number >::col [private]

Column coordinate of selected block.

Definition at line 255 of file mg_matrix.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:09 by doxygen 1.7.2