Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Modules

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. More...

Collaboration diagram for Matrix classes:

Modules

 Basic matrices
 These are the actual matrix classes provided by deal.II. It is possible to store values in them and retrieve them. Furthermore, they provide the full interface required by linear solvers (see Linear solver classes).
 
 Derived matrices
 These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept.
 
 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.