TransposeMatrix< MATRIX, VECTOR > Class Template Reference
[Derived matrices]

Inheritance diagram for TransposeMatrix< MATRIX, VECTOR >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 TransposeMatrix (const MATRIX *M=0)
 TransposeMatrix (const char *name)
 TransposeMatrix (const MATRIX *M, const char *name)
virtual void clear ()
bool empty () const
const TransposeMatrixoperator= (const MATRIX *M)
virtual void vmult (VECTOR &dst, const VECTOR &src) const
virtual void Tvmult (VECTOR &dst, const VECTOR &src) const
virtual void vmult_add (VECTOR &dst, const VECTOR &src) const
virtual void Tvmult_add (VECTOR &dst, const VECTOR &src) const

Private Member Functions

virtual const void * get () const

Private Attributes

SmartPointer< const MATRIX > m


Detailed Description

template<class MATRIX, class VECTOR>
class TransposeMatrix< MATRIX, VECTOR >

The transpose of a given matrix. This auxiliary class swaps the effect ov vmult() and Tvmult() as well as vmult_add() and Tvmult_add().

The implementation is analogous to the class PointerMatrix.

Note:
The transposed matrix is never actually assembled. Instead, only the matrix vector multiplication is performed in a transposed way.
Author:
Guido Kanschat, 2006

Constructor & Destructor Documentation

template<class MATRIX , class VECTOR >
TransposeMatrix< MATRIX, VECTOR >::TransposeMatrix ( const MATRIX *  M = 0  )  [inline]

Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M must be longer than the one of the PointerMatrix.

If M is zero, no matrix is stored.

template<class MATRIX , class VECTOR >
TransposeMatrix< MATRIX, VECTOR >::TransposeMatrix ( const char *  name  )  [inline]

Constructor. The name argument is used to identify the SmartPointer for this object.

template<class MATRIX , class VECTOR >
TransposeMatrix< MATRIX, VECTOR >::TransposeMatrix ( const MATRIX *  M,
const char *  name 
) [inline]

Constructor. M points to a matrix which must live longer than the TransposeMatrix. The name argument is used to identify the SmartPointer for this object.


Member Function Documentation

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::clear (  )  [inline, virtual]

Reset pointer and release the matrix pointed to.

Implements PointerMatrixBase< VECTOR >.

References TransposeMatrix< MATRIX, VECTOR >::m.

template<class MATRIX , class VECTOR >
bool TransposeMatrix< MATRIX, VECTOR >::empty (  )  const [inline]

Return whether the object is empty.

References TransposeMatrix< MATRIX, VECTOR >::m.

template<class MATRIX , class VECTOR >
const TransposeMatrix< MATRIX, VECTOR > & TransposeMatrix< MATRIX, VECTOR >::operator= ( const MATRIX *  M  )  [inline]

Assign a new matrix pointer. Deletes the old pointer and releases its matrix.

See also:
SmartPointer

References TransposeMatrix< MATRIX, VECTOR >::m.

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

Matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

References Assert, and TransposeMatrix< MATRIX, VECTOR >::m.

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

Tranposed matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

References Assert, and TransposeMatrix< MATRIX, VECTOR >::m.

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

Matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

References Assert, and TransposeMatrix< MATRIX, VECTOR >::m.

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

Tranposed matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

References Assert, and TransposeMatrix< MATRIX, VECTOR >::m.

template<class MATRIX , class VECTOR >
const void * TransposeMatrix< MATRIX, VECTOR >::get (  )  const [inline, private, virtual]

Return the address of the matrix for comparison.

Implements PointerMatrixBase< VECTOR >.

References TransposeMatrix< MATRIX, VECTOR >::m.


Member Data Documentation

template<class MATRIX , class VECTOR >
SmartPointer<const MATRIX> TransposeMatrix< MATRIX, VECTOR >::m [private]


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

deal.II documentation generated on Sat Aug 15 16:52:28 2009 by doxygen 1.5.9