Most Helpful Customer Reviews
82 of 85 people found the following review helpful:
3.0 out of 5 stars
Just a simple remark, July 20, 2005
This review is from: Matrix Computations (Johns Hopkins Studies in Mathematical Sciences)(3rd Edition) (Paperback)
This is not a complete review. I just wanted to say something important about the book. I'm a second year computer science PhD student, comfortable with linear algebra. I have been using this book for a couple of months to implement SVD (singular value decomposition) and unfortunately the book turned out to introduce some difficulties.
First of all, it's annoyingly terse! You must be quite comfortable with matrices and all the manipulations etc. to "grasp" the main idea behind an algorithm. I'm talking about truly understanding, not implementing line by line. Most of the times, you will need a paper and pencil to understand what's going on during the execution of an algorithm.
Yet, there's one more important thing: There are typos, and worse: there are mistakes. A specific example:
page 456, Algorithm 8.6.2 The SVD Algorithm
It doesn't talk about how to extract U and V in the decomposition A = U^T*D*V and the last line is incorrect.
diag(I_p, U, I_{q+m-n}) is not an n*n matrix, so you cannot multiply B with this matrix from left. Maybe, there's something I couldn't catch, but this is book's deficiency again.
page 252 Example 5.4.2 about Householder Bidiagonalization
The given matrices do not constitute a correct bidiagonalization, I checked them with Matlab.
and a typo: page 216 5.1.9 Applying Givens rotations, the 4th and 5th line of the algorithm is incorrectly written.
A(1, j) = ...
A(2, j) = ...
should be
A(i, j) = ...
A(k, j) = ...
So, these are the ones I encountered. This book is unmatched in its category in terms of depth and coverage, but it definitely needs a new edition with a more careful treatment.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
30 of 31 people found the following review helpful:
5.0 out of 5 stars
Got Matrices?, August 1, 2003
This review is from: Matrix Computations (Johns Hopkins Studies in Mathematical Sciences)(3rd Edition) (Paperback)
This is one of the definitive texts on computational linear algebra, or more specifically, on matrix computations. The term "matrix computations" is actually the more apt name because the book focuses on computational issues involving matrices,the currency of linear algebra, rather than on linear algebra in the abstract. As an example of this distinction, the authors develop both "saxpy" (scalar "a" times vector "x" plus vector "y") based algorithms and "gaxpy" (generalized saxpy, where "a" is a matrix) based algorithms, which are organized to exploit very efficient low-level matrix computations. This is an important organizing concept that can lead to more efficient matrix algorithms. For each important algorithm discussed, the authors provide a concise and rigorous mathematical development followed by crystal clear pseudo-code. The pseudo-code has a Pascal-like syntax, but with embedded Matlab abbreviations that make common low-level matrix operations extremely easy to express. The authors also use indentation rather than tedious BEGIN-END notation, another convention that makes the pseudo-code crisp and easy to understand. I have found it quite easy to code up various algorithms from the pseudo-code descriptions given in this book. The authors cover most of the traditional topics such as Gaussian elimination, matrix factorizations (LU, QR, and SVD), eigenvalue problems (symmetric and unsymmetric), iterative methods, Lanczos method, othogonalization and least squares (both constrained and unconstrained), as well as basic linear algebra and error analysis. I've use this book extensively during the past ten years. It's an invaluable resource for teaching numerical analysis (which invariably includes matrix computations), and for virtually any research that involves computational linear algebra. If you've got matrices, chances are you will appreciate having this book around.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
22 of 23 people found the following review helpful:
5.0 out of 5 stars
The standard reference, August 18, 2006
First, this isn't Numerical Recipes. If you're looking for cut&paste code, you're just looking in the wrong place. This is for people who need a deep understanding of the computational issues, and are going to put a lot of time into an implementation. It's for people who are completely at ease with linear algebra, standard matrix-oriented problems, and dense mathematical notation.
Despite its demand for a reader well versed in theory, this really is about practice. It's about the nasty effects of finite-precision arithmetic, about specific ways of minimizing the harm they cause. These techniques take full advantage of any special features in the problem, including banding and symmetry. This also deals briefly with caching issues, which are even more important now than when this book was written. Cache data can get to the processor in 1-10 cycles, in a modern workstation processor, but main memory access costs 100-1000 cycles. TLB misses can cost many thousands of cycles, even when data is already in memory. Clearly, good data structures and well-orgnized access patterns can make a huge difference, but one that is mentioned only briefly. The section on parallel computation is brief and helpful, but overdue for review. The authors could never have foreseen today's multi-(thread, core, processor) systems, Blue Gene, or clusters.
Still, this is an indispensable reference for someone in the thick of numerical computation. Most programmers would do better, in lots of ways, usingn the GNU Scientific Library or one of the other production-quality packages out there. They don't always do the job, though. Emerging architectures, include hardware threading and reconfigurable computing, need new implementations of even well-known algorithms. If you have big mathematical problems and machines too exotic for the standard tools, you're on your own. Numerical computing is such a large topic that no one book can possibly cover it all. In the end, though, many other problems reduce to linear systems, and that's where this comes in. It may not be theonly book you'll need, but you'll need it.
//wiredweird
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|