This handbook can be used as a reference by those actively engaged in scientific computation. It can also serve as a practical companion text in a numerical methods course that involves a significant amount of linear algebraic computation. The book has four chapters, each being fairly independent of the others.
Our treatment of Fortran 77 in Chapter 1 involves a much stronger emphasis on arrays than is accorded by other authors. We also assume that the reader has experience with some high-level programming language. This might be in the form of a recent course in Pascal or a course in Fortran taken many years ago and now half-forgotten.
The second chapter is about the Basic Linear Algebra Subprograms (BLAS). The elementary linear algebra that underpins the BLAS makes them a good vehicle for acquainting the beginning student with modular programming and the importance of "thinking vector" when organizing a matrix computation.
Chapter 3 is concerned with LINPACK, a highly acclaimed package that is suitable for many linear equation and least square calculations. The last chapter is about MATLAB, an interactive system in which it is possible to couch sophisticated matrix computations at a very high level.
A one-semester course in matrix algebra (or the equivalent) is required to understand most of the text.
Because the book spans several levels of practical matriux computations, it can fit into a number of canonically structured numerical methods courses. At Cornell we use Chapters 1 and 2 in our one-semester introductory numerical methods course. In this course it is assumed that the students are acquainted with Pascal. That is why our treatment of Fortran is brisker than what would be found in a "pure" Fortran text. In our graduate-level numerical analysis courses we use Chapters 2, 3, and 4 heavily with Chapter 1 serving as a reference.
The BLAS and LINPACK are in the public domain and are distributed at cost through Argonne National Laboratory. MATLAB is available from MGA Inc., 73 Junction Square Dr., Concord, MA 01742.
We are indebted to Nick Higham, Bill Coughran, and Eric Grosse for catching numerous typographical errors and fro making many valuable suggestions.