You are here

Introduction to Computational Linear Algebra

Nabil Nassif, Jocelyne Erhel, and Bernard Philippe
Chapman & Hall/CRC
Publication Date: 
Number of Pages: 
[Reviewed by
Allen Stenger
, on

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 His mathematical interests are number theory and classical analysis.

Basic Linear Algebra Subprograms: BLAS
An Introductory Example
Matrix Notations
IEEE Floating Point Systems and Computer Arithmetic
Vector-Vector Operations: Level-1 BLAS
Matrix-Vector Operations: Level-2 BLAS
Matrix-Matrix Operations: Level-3 BLAS
Sparse Matrices: Storage and Associated Operations


Basic Concepts for Matrix Computations
Vector Norms
Complements on Square Matrices
Rectangular Matrices: Ranks and Singular Values
Matrix Norms


Gauss Elimination and LU Decompositions of Matrices
Special Matrices for LU Decomposition
Gauss Transforms
Naive LU Decomposition for a Square Matrix with Principal Minor Property (pmp)
Gauss Reduction with Partial Pivoting: PLU Decompositions
MATLAB Commands Related to the LU Decomposition
Condition Number of a Square Matrix


Orthogonal Factorizations and Linear Least Squares Problems
Formulation of Least Squares Problems: Regression Analysis
Existence of Solutions Using Quadratic Forms
Existence of Solutions through Matrix Pseudo-Inverse
The QR Factorization Theorem
Gram-Schmidt Orthogonalization: Classical, Modified, and Block
Solving the Least Squares Problem with the QR Decomposition
Householder QR with Column Pivoting
MATLAB Implementations


Algorithms for the Eigenvalue Problem
Basic Principles
QR Method for a Non-Symmetric Matrix
Algorithms for Symmetric Matrices
Methods for Large Size Matrices
Singular Value Decomposition


Iterative Methods for Systems of Linear Equations
Stationary Methods
Krylov Methods
Method of Steepest Descent for spd Matrices
Conjugate Gradient Method (CG) for spd Matrices
The Generalized Minimal Residual Method
The Bi-Conjugate Gradient Method
Preconditioning Issues


Sparse Systems to Solve Poisson Differential Equations
Poisson Differential Equations
The Path to Poisson Solvers
Finite Differences for Poisson-Dirichlet Problems
Variational Formulations
One-Dimensional Finite-Element Discretizations