![]() |
Reference documentation for deal.II version 9.6.0
|
Topics | |
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 element-wise access to read from and write to a matrix.
This documentation topic 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.