This is a choppy book, and I had trouble following it. It is billed as an introduction, but it covers many advanced methods and most of it is organized as a series of studies of algorithms for particular problems. It does not have a good narrative flow. The book is very skimpy on worked examples and applications, and most of the exercises are to prove things. There’s very little discussion of round-off error, and only a brief mention of machine arithmetic. This is a “proofs book,” but the emphasis throughout is on algorithms. The book has an emphasis on sparse matrices, and it does have very good coverage of those.
The book is based on a course for seniors at American University of Beirut. The prerequisites for the book are not stated but appear to be a previous course in matrix algebra and some exposure to MATLAB (all the examples and algorithms are in MATLAB).
The first chapter is billed as a discussion of BLAS (Basic Linear Algebra Subprograms), a set of interfaces for the simple vector and matrix operations (addition, multiplication, dot product, etc.). Each computer has its own implementation of these that is optimized for its particular arithmetic capabilities. But this chapter does not describe the interfaces at all; it only talks about the basic operations as they would be coded in MATLAB. It’s really an introduction to MATLAB’s vector operations and not to BLAS, and BLAS is never seen again through the rest of the book.
In the middle of the book the coverage of the core areas of eigenvalues and solutions to linear equations is good, with several elementary and advanced methods given for each. The emphasis for linear equations is on iterative methods, although LU decomposition gets good coverage too. There is some coverage of least squares and SVD (Singular Value Decomposition). There’s an oddball last chapter of 50 pages about numeric solution of partial differential equations using finite difference and finite element methods. I think this is intended as an application of sparse matrix algorithms, but most of the exposition is devoted to discretizing the differential equations and not much to matrices.
The integration of MATLAB is uneven. For example, there is a 20-page discussion of LU factorization, including algorithms for several versions written in MATLAB. But it closes with a short note that LU factorization is built into MATLAB. Does that mean that the MATLAB algorithms are just part of the exposition and no one would really do it that way? Or is the MATLAB version limited and for some problems you need the algorithms given here? We are not told.
There are not a lot of recent books in this field. Two books that are well-regarded but that I have not seen are Trefethen & Bau’s Numerical Linear Algebra (SIAM, 1997) and Sewell’s Computational Methods of Linear Algebra. The first of these has very similar coverage to the present book but seems more balanced and better organized, while the second covers more topics but in less depth. If your needs are not as in-depth you may be better off using a general numeric methods book. Dahlquist & Björk’s Numerical Methods is a very clear book that has an 80-page chapter on numerical linear algebra that covers the same problems covered in the present book, but with fewer methods.
Allen Stenger is a math hobbyist and retired software developer. He is an editor of the Missouri Journal of Mathematical Sciences. His personal web page is allenstenger.com. His mathematical interests are number theory and classical analysis.