contributions of a single cell into the global matrix.
The next step would then be to compute a matrix and right hand side
-corresponding to a particular differential equation using this finite
-element and mesh. We will keep this step for the step-3 program and
-rather talk about one practical aspect of a finite element program,
-namely that finite element matrices are almost always very sparse,
-i.e. almost all entries in these matrices are zero. This is one of the
-distinguishing feature of the finite element method compared to, say,
-approximating the solution of a partial differential equation using
-for example a Taylor expension and matching coefficients. In practical
-terms, it is the sparsity of matrices that enables us to solve
-problems with millions or billions of unknowns.
+corresponding to a particular differential equation using this finite element
+and mesh. We will keep this step for the step-3 program and rather talk about
+one practical aspect of a finite element program, namely that finite element
+matrices are almost always very sparse, i.e. almost all entries in these
+matrices are zero. (To be more precise, we say a discretization leads to a
+sparse matrix if the number of nonzero entries <i>per row</i> in the matrix is
+bounded by a number that is independent of the overall number of degrees of
+freedom. For example, the simple 5-point stencil of a finite difference
+approximation of the Laplace equation leads to a sparse matrix since the
+number of nonzero entries per row is five, and therefore independent of the
+total size of the matrix.) Sparsity is one of the distinguishing feature of
+the finite element method compared to, say, approximating the solution of a
+partial differential equation using a Taylor expension and matching
+coefficients, or using a Fourier basis. In practical terms, it is the sparsity
+of matrices that enables us to solve problems with millions or billions of
+unknowns.
The sparsity is generated by the fact that finite element shape
functions are defined locally on individual cells, rather than
the DoFHandler class enumerates degrees of freedom on a mesh in a
rather random way; consequently, the sparsity pattern is also not
optimized for any particular purpose. However, for
-some algorithms, especially for some linear solvers, it is
+some algorithms, especially for some linear solvers and preconditioners, it is
advantageous to have the degrees of freedom numbered in a certain
order, and we will use the algorithm of Cuthill and McKee to do
-so. The results are written to a file and visualized using GNUPLOT.
+so. The results are written to a file and visualized using GNUPLOT; you get to
+see the outcome in the <a href="#Results">results section below</a>.