Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
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 override
 
virtual void vmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const override
 
virtual void Tvmult (const unsigned int level, VectorType &dst, const VectorType &src) const override
 
virtual void Tvmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const override
 
virtual unsigned int get_minlevel () const override
 
virtual unsigned int get_maxlevel () const override
 
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 (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) 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 LinearOperator objects. 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 45 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 231 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 205 of file mg_matrix.h.

◆ reset()

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

Reset the object.

Definition at line 222 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 240 of file mg_matrix.h.

◆ vmult()

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

Matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 249 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
overridevirtual

Adding matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 260 of file mg_matrix.h.

◆ Tvmult()

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

Transpose matrix-vector-multiplication on a certain level.

Implements MGMatrixBase< VectorType >.

Definition at line 271 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
overridevirtual

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

Implements MGMatrixBase< VectorType >.

Definition at line 282 of file mg_matrix.h.

◆ get_minlevel()

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

Return the minimal level for which matrices are stored.

Implements MGMatrixBase< VectorType >.

Definition at line 293 of file mg_matrix.h.

◆ get_maxlevel()

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

Return the minimal level for which matrices are stored.

Implements MGMatrixBase< VectorType >.

Definition at line 302 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 311 of file mg_matrix.h.


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