Spectral methods for solving partial differential equations (PDEs) are comparable to finite difference methods and finite element methods and involve sequences of matrix operations, so they are particularly suited to MATLAB. The origins of these methods are quite old, since they are based on well-known interpolation and approximation methods, but the formulation using what Trefethen calls “differentiation matrices” seems to have stimulated new interest, which has yielded significant improvements in accuracy and efficiency. This book presents the methods in their simplest form and shows how they can be applied to the solution of a wide variety of problems.
The first chapter defines differentiation matrices, describes the one-dimensional uniform grids on which they are based, then formulates the approximation of a derivative as a differentiation matrix operating on a vector of function values. Chapters 2 and 3 relate this formulation to traditional and discrete Fourier transforms and fast Fourier transforms, ending with an example using these spectral methods to approximate the solution to a 1-D wave equation. Chapter 4 presents results relating the smoothness of a function to the accuracy of the approximation used in these spectral methods.
Chapters 5, 6, and 7 develop similar methods and results using nonuniform Chebyshev grids, and give examples of the use of these Chebyshev methods to solve 2-D boundary value problems. Chapter 8 describes the implementation of a fast Fourier transform method with these nonuniform grids.
The remaining six chapters are devoted to applications of the spectral method to problems with interesting boundary conditions, eigenvalue problems, location of stability regions, and fourth-order problems. There is an extensive bibliography and an index. Each chapter ends with exercises.
The presentation is clear and the examples are well chosen, but the principal strength of this book is the focus on straightforward solutions to interesting PDE problems. Each example is accompanied by a MATLAB program that computes the solution and produces the display given in the text. Readers are expected to have a good background in numerical mathematics, but the bibliography gives pointers to any missing details.