Reference documentation for deal.II version 8.5.1
Public Member Functions | Private Attributes | List of all members
TransposeMatrix< MatrixType, VectorType > Class Template Reference

#include <deal.II/lac/transpose_matrix.h>

Inheritance diagram for TransposeMatrix< MatrixType, VectorType >:
[legend]

Public Member Functions

 TransposeMatrix (const MatrixType *M=0)
 
 TransposeMatrix (const char *name)
 
 TransposeMatrix (const MatrixType *M, const char *name)
 
virtual void clear ()
 
bool empty () const
 
const TransposeMatrixoperator= (const MatrixType *M)
 
virtual void vmult (VectorType &dst, const VectorType &src) const
 
virtual void Tvmult (VectorType &dst, const VectorType &src) const
 
virtual void vmult_add (VectorType &dst, const VectorType &src) const
 
virtual void Tvmult_add (VectorType &dst, const VectorType &src) const
 
- Public Member Functions inherited from PointerMatrixBase< VectorType >
virtual ~PointerMatrixBase ()
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

SmartPointer< const MatrixType, TransposeMatrix< MatrixType, VectorType > > m
 

Additional Inherited Members

- Public Types inherited from PointerMatrixBase< VectorType >
typedef VectorType::value_type value_type
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, char *arg2, std::string &arg3)
 
static ::ExceptionBaseExcNoSubscriber (char *arg1, char *arg2)
 

Detailed Description

template<typename MatrixType, typename VectorType>
class TransposeMatrix< MatrixType, VectorType >

The transpose of a given matrix. This auxiliary class swaps the effect of 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.
Deprecated:
If deal.II was configured with C++11 support, use the LinearOperator class instead, see the module on linear operators for further details.
Author
Guido Kanschat, 2006

Definition at line 44 of file transpose_matrix.h.

Constructor & Destructor Documentation

◆ TransposeMatrix() [1/3]

template<typename MatrixType , typename VectorType >
TransposeMatrix< MatrixType, VectorType >::TransposeMatrix ( const MatrixType *  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 122 of file transpose_matrix.h.

◆ TransposeMatrix() [2/3]

template<typename MatrixType , typename VectorType >
TransposeMatrix< MatrixType, VectorType >::TransposeMatrix ( const char *  name)

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

Definition at line 128 of file transpose_matrix.h.

◆ TransposeMatrix() [3/3]

template<typename MatrixType , typename VectorType >
TransposeMatrix< MatrixType, VectorType >::TransposeMatrix ( const MatrixType *  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 134 of file transpose_matrix.h.

Member Function Documentation

◆ clear()

template<typename MatrixType , typename VectorType >
void TransposeMatrix< MatrixType, VectorType >::clear ( )
inlinevirtual

Reset the object to its original state.

Implements PointerMatrixBase< VectorType >.

Definition at line 142 of file transpose_matrix.h.

◆ empty()

template<typename MatrixType , typename VectorType >
bool TransposeMatrix< MatrixType, VectorType >::empty ( ) const
inline

Return whether the object is empty.

Definition at line 159 of file transpose_matrix.h.

◆ operator=()

template<typename MatrixType , typename VectorType >
const TransposeMatrix< MatrixType, VectorType > & TransposeMatrix< MatrixType, VectorType >::operator= ( const MatrixType *  M)
inline

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

See also
SmartPointer

Definition at line 150 of file transpose_matrix.h.

◆ vmult()

template<typename MatrixType , typename VectorType >
void TransposeMatrix< MatrixType, VectorType >::vmult ( VectorType &  dst,
const VectorType &  src 
) const
inlinevirtual

Matrix-vector product.

Implements PointerMatrixBase< VectorType >.

Definition at line 168 of file transpose_matrix.h.

◆ Tvmult()

template<typename MatrixType , typename VectorType >
void TransposeMatrix< MatrixType, VectorType >::Tvmult ( VectorType &  dst,
const VectorType &  src 
) const
inlinevirtual

Transposed matrix-vector product.

Implements PointerMatrixBase< VectorType >.

Definition at line 178 of file transpose_matrix.h.

◆ vmult_add()

template<typename MatrixType , typename VectorType >
void TransposeMatrix< MatrixType, VectorType >::vmult_add ( VectorType &  dst,
const VectorType &  src 
) const
inlinevirtual

Matrix-vector product, adding to dst.

Implements PointerMatrixBase< VectorType >.

Definition at line 188 of file transpose_matrix.h.

◆ Tvmult_add()

template<typename MatrixType , typename VectorType >
void TransposeMatrix< MatrixType, VectorType >::Tvmult_add ( VectorType &  dst,
const VectorType &  src 
) const
inlinevirtual

Transposed matrix-vector product, adding to dst.

Implements PointerMatrixBase< VectorType >.

Definition at line 198 of file transpose_matrix.h.

Member Data Documentation

◆ m

template<typename MatrixType , typename VectorType >
SmartPointer<const MatrixType,TransposeMatrix<MatrixType,VectorType> > TransposeMatrix< MatrixType, VectorType >::m
private

The pointer to the actual matrix.

Definition at line 114 of file transpose_matrix.h.


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