zbMATH — the first resource for mathematics

Templates for the solution of linear systems: building blocks for iterative methods. (English) Zbl 0814.65030
Philadelphia, PA: SIAM, Society for Industrial and Applied Mathematics. xiii, 112 p. (1993).
In this book the term template means: ‘Description of an algorithm, abstracting away from implementational details.’
There are 13 templates focussed on iterative methods for large sparse systems of linear equations, ranging from standard methods like Jacobi to sophisticated preconditioners. The advantage of putting templates to the user’s disposal rather than programs is the wide range of possibilities in implementing the algorithms, for example on different parallel architectures, and the improved comprehensibility. Beside providing templates the ten authors give implementation hints and they suggest how to find the most effective method and how to specialize a method to specific matrices. We here will give a short list of the families of methods and contents considered:
1. Relaxation, conjugate gradients, and Krylov methods. 2. Preconditioners. 3. Stopping criteria, data structures, and parallelism. 4. Lanczos connection, block method, reduced system preconditioning, domain decomposition, multigrid, and row projection methods.
This all is dealt with on less than hundred pages. Therefore nonspecialists should be prepared to use the bibliography containing 213 items. Nevertheless the book will be useful for researchers in this wide field of scientific computing as well as for its use in education.
The book as well as the templates in different programming language formats are available as PostScript files through the internet.

65F10 Iterative numerical methods for linear systems
65-02 Research exposition (monographs, survey articles) pertaining to numerical analysis
15-04 Software, source code, etc. for problems pertaining to linear algebra
65F50 Computational methods for sparse matrices
65F35 Numerical computation of matrix norms, conditioning, scaling
65Y05 Parallel numerical computation
68W30 Symbolic computation and algebraic computation