Reference documentation for deal.II version Git 7f58f27 2017-09-20 15:35:49 -0600
Collaboration diagram for Matrix classes:


 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.