Public Member Functions | Private Member Functions | Private Attributes

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,
TransposeMatrix< MATRIX,
VECTOR > > 
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

Definition at line 37 of file transpose_matrix.h.


Constructor & Destructor Documentation

template<class MATRIX , class VECTOR >
TransposeMatrix< MATRIX, VECTOR >::TransposeMatrix ( const MATRIX M = 0 )

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.

Definition at line 133 of file transpose_matrix.h.

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

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

Definition at line 139 of file transpose_matrix.h.

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

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.

Definition at line 145 of file transpose_matrix.h.


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

Definition at line 154 of file transpose_matrix.h.

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

Return whether the object is empty.

Definition at line 171 of file transpose_matrix.h.

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

Definition at line 162 of file transpose_matrix.h.

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

Matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

Definition at line 180 of file transpose_matrix.h.

References Assert, and StandardExceptions::ExcNotInitialized().

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

Definition at line 190 of file transpose_matrix.h.

References Assert, and StandardExceptions::ExcNotInitialized().

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

Definition at line 200 of file transpose_matrix.h.

References Assert, and StandardExceptions::ExcNotInitialized().

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

Definition at line 210 of file transpose_matrix.h.

References Assert, and StandardExceptions::ExcNotInitialized().

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

Definition at line 220 of file transpose_matrix.h.


Member Data Documentation

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

The pointer to the actual matrix.

Definition at line 125 of file transpose_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:12 by doxygen 1.7.2