Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TransposeMatrix< MATRIX, VECTOR > Class Template Reference

#include <transpose_matrix.h>

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

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
 
- Public Member Functions inherited from PointerMatrixBase< VECTOR >
virtual ~PointerMatrixBase ()
 
bool operator== (const PointerMatrixBase< VECTOR > &) const
 
bool operator!= (const PointerMatrixBase< VECTOR > &) const
 
bool operator< (const PointerMatrixBase< VECTOR > &) const
 
bool operator<= (const PointerMatrixBase< VECTOR > &) const
 
bool operator> (const PointerMatrixBase< VECTOR > &) const
 
bool operator>= (const PointerMatrixBase< VECTOR > &) const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Member Functions

virtual const void * get () const
 

Private Attributes

SmartPointer< const MATRIX,
TransposeMatrix< MATRIX,
VECTOR > > 
m
 

Additional Inherited Members

- Public Types inherited from PointerMatrixBase< VECTOR >
typedef VECTOR::value_type value_type
 

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 42 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 138 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 144 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 150 of file transpose_matrix.h.

Member Function Documentation

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::clear ( )
inlinevirtual

Reset pointer and release the matrix pointed to.

Implements PointerMatrixBase< VECTOR >.

Definition at line 159 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 176 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 167 of file transpose_matrix.h.

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::vmult ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

Definition at line 185 of file transpose_matrix.h.

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::Tvmult ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Tranposed matrix-vector product.

Implements PointerMatrixBase< VECTOR >.

Definition at line 195 of file transpose_matrix.h.

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::vmult_add ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

Definition at line 205 of file transpose_matrix.h.

template<class MATRIX , class VECTOR >
void TransposeMatrix< MATRIX, VECTOR >::Tvmult_add ( VECTOR &  dst,
const VECTOR &  src 
) const
inlinevirtual

Tranposed matrix-vector product, adding to dst.

Implements PointerMatrixBase< VECTOR >.

Definition at line 215 of file transpose_matrix.h.

template<class MATRIX , class VECTOR >
const void * TransposeMatrix< MATRIX, VECTOR >::get ( ) const
inlineprivatevirtual

Return the address of the matrix for comparison.

Implements PointerMatrixBase< VECTOR >.

Definition at line 225 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 130 of file transpose_matrix.h.


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