The fourth edition of Gene H. Golub and Charles F. Van Loan's classic is an essential reference for computational scientists and engineers in addition to researchers in the numerical linear algebra community. Anyone whose work requires the solution to a matrix problem and an appreciation of its mathematical properties will find this book to be an indispensible tool.
This revision is a cover-to-cover expansion and renovation of the third edition. It now includes an introduction to tensor computations and brand new sections on • fast transforms• parallel LU• discrete Poisson solvers• pseudospectra• structured linear equation problems• structured eigenvalue problems• large-scale SVD methods• polynomial eigenvalue problems
Matrix Computations is packed with challenging problems, insightful derivations, and pointers to the literature—everything needed to become a matrix-savvy developer of numerical methods and software.
After reading about 75% and implementing about 40% of the book going cover to cover, the very first thing I would say is this:
Despite the simplicity and clarity with which the book is written, unless you have an undergraduate degree in mathematics (or really talented at linear algebra), it is impossible to learn Numerical Linear Algebra (NLA) from this book at the level it provides it in less than 3 months with 3 hours of study and 3 hour of practice per week. Your best bet is to take a university course which would likely cover parts of the book jumping around it.
Why do I say it is simply and clearly written? Once you have learnt NLA to the intermediate level i.e. you feel comfortable with Numerical Linear Algebra by Trefthen and Bau, then this book is the definitive book you need even if and especially if you are doing research in NLA. The beauty of this book is not in mathematical rigor but in that almost every single section and sub-section starts by telling you what it is going to be about, why/where it will be important and exactly what the essence of the trick would be. With 700+ pages, it is home to the best ideas in NLA and it presents each of them with care - even the basic QR algorithm and the Gram Schmidt algorithm despite their flaws.
Why it will be a very tough battle to study the book without a course? Because it's not really a textbook. It is a neat, well organized, clearly written reference manual for NLA. Because it's easy to read, I got lured into reading a large portion of it which due to lack of utility in short term became exceedingly difficult and exhausting. I am really glad that I was taking a university course simultaneously (MATH 550 at Penn State, if you must know) which gave me direction to what to read and what to leave. Fortunately, Numerical Linear Algebra by Trefthen and Bau has less jumping around and I would definitely recommend that book if you are not taking a course. And even if you are, it will make it a lot easier to quickly learn the essential concepts (which are what a university course covers). If you must know how bad the jumping around is while reading this 'book', I couldn't do my chapter-wise status updates from Ch 3-8 until doing all of them.
Why you must take your time to study NLA? First, this book is great. So great you never need to make notes because when you read it, you accept the ideas very naturally. No need to paraphrase - the authors did that for 30 years anyways, hence the finished product. What you must do is practice, practice and practice. That is, at least 4 months with 3 hours of study and 3 hours of practice per week. I was able to rush through a lot of concepts because I got better at proofs and ok at analysis. I felt comfortable with new ideas easily. But when I started doing homeworks (implementation, stability analysis, memory and computation optimizations), I slowed down. The slow down was actually where I learned things - I noticed details that were hidden and without which the awareness of the techniques is not that useful. More importantly, the codes that I wrote (with comments of course) will help me preserve the understanding over a longer period of time than the notes on the book will.
I like it for actually containing a pretty substantial fraction of all the matrix algorithms you're likely to encounter, but I find implementing an algorithm using *just* this as a reference incredibly tedious. I always use it as one of several sources.
That being said if you're ever on a desert island and have to rebuild most of modern computational science and you can only bring *one* book...