Reference documentation for deal.II version 8.1.0
List of all members
MATRIX< VECTOR > Class Template Reference

#include <matrices.h>

Public Member Functions

Solver interface
void vmult (VECTOR &u, const VECTOR &v) const
 
void Tvmult (VECTOR &u, const VECTOR &v) const
 
void vmult_add (VECTOR &u, const VECTOR &v) const
 
void Tvmult_add (VECTOR &u, const VECTOR &v) const
 

Detailed Description

template<class VECTOR>
class MATRIX< VECTOR >

Template for matrix classes.

Note
This is a description of the expectations on the MATRIX template argument. It is not a class by itself.

Depending on where the MATRIX is used, its interface is expected to conform to one of the following groups, which can also be found in the overview.

Solver interface

Functions in this group are the minimal interface to use the MATRIX in a linear Solver. Solvers use a matrix only as a linear operator, that is, they map a vector to another. To this end, we either multiply with the matrix itself or its transpose.

The function vmult() is the bare necessity in this group. Some solvers use Tvmult() as well, in which case it needs to be implemented. Some derived matrices like PointerMatrix require its existence, in which case it can be implemented empty with an assertion Assert(false, ExcNotImplemented()).

If vmult_add() and Tvmult_add() are missing, PointerMatrixAux can be used to provide the missing functionality without implementing it by hand.

Definition at line 74 of file matrices.h.

Member Function Documentation

template<class VECTOR >
void MATRIX< VECTOR >::vmult ( VECTOR &  u,
const VECTOR &  v 
) const

The matrix vector product $u = Av$.

template<class VECTOR >
void MATRIX< VECTOR >::Tvmult ( VECTOR &  u,
const VECTOR &  v 
) const

The matrix vector product $u = A^Tv$.

template<class VECTOR >
void MATRIX< VECTOR >::vmult_add ( VECTOR &  u,
const VECTOR &  v 
) const

The matrix vector product $u += Av$.

template<class VECTOR >
void MATRIX< VECTOR >::Tvmult_add ( VECTOR &  u,
const VECTOR &  v 
) const

The matrix vector product $u += A^Tv$.


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