Designed for use by firstyear graduate students from a variety of engineering and scientific disciplines, this comprehensive textbook covers the solution of linear systems, least squares problems, eigenvalue problems, and the singular value decomposition. The author, who helped design the widelyused LAPACK and ScaLAPACK linear algebra libraries, draws on this experience to present stateoftheart techniques for these problems, including recommendations of which algorithms to use in a variety of practical situations.
This is the book for you if you are looking for a textbook that:
 Teaches stateoftheart techniques for solving linear algebra problems.
 Covers the most important methods for dense and sparse problems.
 Presents both the mathematical background and good software techniques.
 Is selfcontained, assuming only a good undergraduate background in linear algebra.

Algorithms are derived in a mathematically illuminating way, including condition numbers and error bounds. Direct and iterative algorithms, suitable for dense and sparse matrices, are discussed. Algorithm design for modern computer architectures, where moving data is often more expensive than arithmetic operations, is discussed in detail, using LAPACK as an illustration. There are many numerical examples throughout the text and in the problems at the ends of chapters, most of which are written in Matlab and are freely available on the Web.
Material either not available elsewhere, or presented quite differently in other textbooks, includes:  A discussion of the impact of modern cachebased computer memories on algorithm design.
 Frequent recommendations and pointers in the text to the best software currently available, including a detailed performance comparison of stateoftheart software for eigenvalue and least squares problems, and a description of sparse direct solvers for serial and parallel machines.
 A discussion of iterative methods ranging from Jacobi's method to multigrid and domain decomposition, with performance comparisons on a model problem.
 A great deal of Matlabbased software, available on the Web, which either implements algorithms presented in the book, produces the figures in the book, or is used in homework problems.
 Numerical examples drawn from fields ranging from mechanical vibrations to computational geometry.
 Highaccuracy algorithms for solving linear systems and eigenvalue problems, along with tighter ""relative"" error bounds.
 Dynamical systems interpretations of some eigenvalue algorithms.

Demmel discusses several current research topics, making students aware of both the lively research taking place and connections to other parts of numerical analysis, mathematics, and computer science. Some of this material is developed in questions at the end of each chapter, which are marked Easy, Medium, or Hard according to their difficulty. Some questions are straightforward, supplying proofs of lemmas used in the text. Others are more difficult theoretical or computing problems. Questions involving significant amounts of programming are marked Programming. The computing questions mainly involve Matlab programming, and others involve retrieving, using, and perhaps modifying LAPACK code from NETLIB.