Reference documentation for deal.II version 9.0.0
Public Member Functions | List of all members
mg::Matrix< VectorType > Class Template Reference

#include <deal.II/multigrid/mg_matrix.h>

Inheritance diagram for mg::Matrix< VectorType >:
[legend]

Public Member Functions

 Matrix ()=default
 
template<typename MatrixType >
 Matrix (const MGLevelObject< MatrixType > &M)
 
template<typename MatrixType >
void initialize (const MGLevelObject< MatrixType > &M)
 
void reset ()
 
const LinearOperator< VectorType > & operator[] (unsigned int level) const
 
virtual void vmult (const unsigned int level, VectorType &dst, const VectorType &src) const
 
virtual void vmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const
 
virtual void Tvmult (const unsigned int level, VectorType &dst, const VectorType &src) const
 
virtual void Tvmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const
 
virtual unsigned int get_minlevel () const
 
virtual unsigned int get_maxlevel () const
 
std::size_t memory_consumption () const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (const char *identifier=nullptr) const
 
void unsubscribe (const char *identifier=nullptr) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Additional Inherited Members

- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 

Detailed Description

template<typename VectorType = Vector<double>>
class mg::Matrix< VectorType >

Multilevel matrix. This matrix stores an MGLevelObject of LinearOpetors. It implements the interface defined in MGMatrixBase, so that it can be used as a matrix in Multigrid.

Author
Guido Kanschat
Date
2002, 2010

Definition at line 43 of file mg_matrix.h.

Constructor & Destructor Documentation

◆ Matrix() [1/2]

template<typename VectorType = Vector<double>>
mg::Matrix< VectorType >::Matrix ( )
default

Default constructor for an empty object.

◆ Matrix() [2/2]

template<typename VectorType >
template<typename MatrixType >
mg::Matrix< VectorType >::Matrix ( const MGLevelObject< MatrixType > &  M)
inline

Constructor setting up pointers to the matrices in M by calling initialize().

Definition at line 211 of file mg_matrix.h.

Member Function Documentation

◆ initialize()

template<typename VectorType >
template<typename MatrixType >
void mg::Matrix< VectorType >::initialize ( const MGLevelObject< MatrixType > &  M)
inline

Initialize the object such that the level multiplication uses the matrices in M

Definition at line 183 of file mg_matrix.h.

◆ reset()

template<typename VectorType >
void mg::Matrix< VectorType >::reset ( )
inline

Reset the object.

Definition at line 201 of file mg_matrix.h.

◆ operator[]()

template<typename VectorType >
const LinearOperator< VectorType > & mg::Matrix< VectorType >::operator[] ( unsigned int  level) const
inline

Access matrix on a level.

Definition at line 221 of file mg_matrix.h.

◆ vmult()

template<typename VectorType >
void mg::Matrix< VectorType >::vmult ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
virtual

Matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 230 of file mg_matrix.h.

◆ vmult_add()

template<typename VectorType >
void mg::Matrix< VectorType >::vmult_add ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
virtual

Adding matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 241 of file mg_matrix.h.

◆ Tvmult()

template<typename VectorType >
void mg::Matrix< VectorType >::Tvmult ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
virtual

Transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 252 of file mg_matrix.h.

◆ Tvmult_add()

template<typename VectorType >
void mg::Matrix< VectorType >::Tvmult_add ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
virtual

Adding transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 263 of file mg_matrix.h.

◆ get_minlevel()

template<typename VectorType >
unsigned int mg::Matrix< VectorType >::get_minlevel ( ) const
virtual

Return the minimal level for which matrices are stored.

Implements MGMatrixBase< VectorType >.

Definition at line 274 of file mg_matrix.h.

◆ get_maxlevel()

template<typename VectorType >
unsigned int mg::Matrix< VectorType >::get_maxlevel ( ) const
virtual

Return the minimal level for which matrices are stored.

Implements MGMatrixBase< VectorType >.

Definition at line 283 of file mg_matrix.h.

◆ memory_consumption()

template<typename VectorType >
std::size_t mg::Matrix< VectorType >::memory_consumption ( ) const
inline

Memory used by this object.

Definition at line 293 of file mg_matrix.h.


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