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 |
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.
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.
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.
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.
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.
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.
unsigned int MGMatrix< MATRIX, VECTOR >::memory_consumption | ( | ) | const [inline] |
Memory used by this object.
References MGMatrix< MATRIX, VECTOR >::matrix, and SmartPointer< T >::memory_consumption().
SmartPointer<MGLevelObject<MATRIX> > MGMatrix< MATRIX, VECTOR >::matrix [private] |
Pointer to the matrix objects on each level.
Referenced by MGMatrix< MATRIX, VECTOR >::memory_consumption(), MGMatrix< MATRIX, VECTOR >::set_matrix(), MGMatrix< MATRIX, VECTOR >::Tvmult(), MGMatrix< MATRIX, VECTOR >::Tvmult_add(), MGMatrix< MATRIX, VECTOR >::vmult(), and MGMatrix< MATRIX, VECTOR >::vmult_add().