In this chapter, you were introduced to the PETSc and SLEPc libraries. With PETSc, linear and nonlinear equations can be solved in a novel way. You were shown how to download and compile the PETSc library with the optional high-efficiency algorithm SuperLU for the distributed memory architecture. Also, some additional features were installed, which will play an important role in the following chapter.

Some simple PETSc examples explained how to treat parallel vectors and matrices and how each process can access its own and foreign parts. Starting with simple examples from calculating the vector norm in n-dimensions to solving a symmetric linear equation, you were shown how to use SuperLU to solve a two-dimensional Laplace equation. Using this example, you could also see the difference between a direct solver and an iterative solver.

Advancing the abilities of PETSc even further, we downloaded and configured the SLEPc library, which is a powerful software package that solves Eigenvalue...