![]() |
Reference documentation for deal.II version 8.1.0
|
#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 |
Template for matrix classes.
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.
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.
void MATRIX< VECTOR >::vmult | ( | VECTOR & | u, |
const VECTOR & | v | ||
) | const |
The matrix vector product .
void MATRIX< VECTOR >::Tvmult | ( | VECTOR & | u, |
const VECTOR & | v | ||
) | const |
The matrix vector product .
void MATRIX< VECTOR >::vmult_add | ( | VECTOR & | u, |
const VECTOR & | v | ||
) | const |
The matrix vector product .
void MATRIX< VECTOR >::Tvmult_add | ( | VECTOR & | u, |
const VECTOR & | v | ||
) | const |
The matrix vector product .