Reference documentation for deal.II version Git 3e516b7449 20191212 13:14:56 0500

Modules  
Basic matrices  
Derived matrices  
Preconditioners and Relaxation Operators  
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 elementwise 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 matrixvector 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.