Reference documentation for deal.II version GIT relicensing-136-gb80d0be4af 2024-03-18 08:20:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Modules
Collaboration diagram for Matrix classes:

Modules

 Basic matrices
 
 Derived matrices
 
 Preconditioners and Relaxation Operators
 

Detailed Description

deal.II comes with a number of different matrix classes, tailored to the various purposes for which matrices are used. For example, there are full matrices, sparse matrices using different storage schemes, matrices composed of individual blocks, and matrices implemented as interfaces to other linear algebra classes. As far as possible, all these implementations share a common interface that contains at least the operations necessary to write iterative linear solvers (see Linear solver classes), but also element-wise access to read from and write to a matrix.

This module is split into different parts. Basic matrices contains all the matrix classes actually storing entries. Derived matrices, on the other hand, only use basic matrices, but implement certain operations on them. For example, TransposeMatrix provides a matrix-vector multiplication that acts as if the underlying matrix had been transposed, without actually ever storing a transposed matrix.

Preconditioners and Relaxation Operators are matrix classes as well, since they perform linear operations on vectors.