Numerical Recipes in Fortran
||Author: William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling|
List Price: $70.00
Our Price: Click to see the latest and low price
Publisher: Cambridge University Press (15 January, 1992)
Sales Rank: 36,536
Average Customer Rating: 4.62 out of 5
Customer ReviewsRating: 4 out of 5
Proprietary source the Achilles' heel for non-students
I first bought this text in 1994 while doing scientific programming for graduate school work. A fellow graduate student had suggested I use an undocumented routine that (I later discovered) came from Numerical Recipes (NR). I was impressed enough with NR's presentation of ideas that I also bought the example book ISBN 0521437210 (which I've hardly cracked since) and a diskette of source code (which cost as much as the book but worth it). I was able to do a lot of basic research quickly with NR code, and I still occasionally use NR's routines.
The authors have certainly done a good job assimilating a lot of material. Since other reviewers have done well to highlight the importance and utility of this landmark book, there is no need to repeat those sentiments here. However, to this title's detriment, the authors consider their book to be a proprietary library of source code more valuable than the explanatory text discussing it (one can in fact download the text on-line though it's hardly worth the hassle). This perception is ironic since the authors confess that "the lineage of many programs in common circulation is often unclear" (p.xviii), and many details of presentation, ideas, and algorithms are clearly "borrowed" from other excellent (some now out-of-print) numerical methods books or journals.
I often wondered why NR routines occasionally adopted bizarre and/or obviously inefficient programming structures - over time I decided that this was probably done to make these algorithms appear as so not to clearly violate other published material. As a student, NR's legal disclaimers regarding derivative works (p.xvi) never bothered me and I was willing to overlook the sometimes unpolished source code insofar as it functioned properly. However, as a professional I now find the lack of fair-use provisions on the uncompiled source way too restrictive to rely on these routines in good conscience (I have to buy another textbook or license for every soft copy or machine upon which the source code resides!). I suspect this policy ultimately hurts NR's textbook sales: it would be nice to able to use and pass along the source code between professional colleagues without restriction because most would certainly buy (if they don't already own) the textbook to understand what the source does (just as I did). Source code used in scientific programming is practically worthless without proper documentation, and there's no better documentation than a full length textbook!
I have since expanded my numerical methods library to other references supporting true public-domain codes. With an expanded basis of comparison, I regret to say that I am becoming less and less impressed with NR's implementations and explanations. I am finding many of NR's algorithms to be inefficient or unnecessarily approximate, and - on rare occasion - buggy. There have been quite a few bugs uncovered over the years, and the NR web site has done a good job of keeping track of them (although I know of at least one bug uncorrected by NR to this day).
This book is excellent for students wanting a good reference for quick and dirty types of analyses or scientific computing. Professional programmers, scientists, engineers, specialists or analysts performing software development for laboratory or scientific research would be well advised to reference this title, but ultimately they will likely need to rely other resources if they require efficient and/or unrestricted (public-domain) source codes for their work.
(P.S. - A reviewer elsewhere noted that the "quality of the binding was terrible" and I've also found this to be the case. My hardcover is literally had to be taped on after a few years of use.)
Rating: 4 out of 5
A Useful Tool for Programmers, Researchers, and Students
This book contains hundreds of "canned codes" in the FORTRAN language. The book provides several variations of many popular numerical techniques and provides the most stream line (comp. time) codes available. Most codes allow for optimization to be build in, such as an RK4 (4th Order Runge-Kutta) with variable steps sizes. Great if you don't want to write your own code for a subroutine, or it you just don't know the method well enough to write it yourself. The book also provides some basic explaination of the techniques and codes with is very helpful so that the code is less of a black box, although its not that detailed.
There is also a CD available that has the codes already written and ready to go. I prefer to type it in on my own, or just make my own because it gives a better udnerstanding of what the code is doing. The biggest turn-off for me is that some codes have subroutines upon subroutines which can make things a mess.
All around a useful tool for programmers, researchers, and students.
Rating: 5 out of 5
Indispensible, a classic in the field
This volume, and its companions for other programming languages, is an absolute classic. The authors strike the right balance between cookbook solutions and theory, so that most of us get just enough background to choose the right algorithm but not so much to get drowned in theory. This edition is the first devoted only to Fortran, but is the second edition published by the authors. It includes a number of additions and corrections, many of which appeared in Computers in Physics (now the journal Computing in Science and Engineering published jointly by the IEEE and the APS). My only criticism is, where were these books twenty years ago when I needed them? I would recommend these books to anyone involved in the application of numerical methods. They are tremendous time savers.
I never bothered with the discs, as most of the routines are fairly short and not a problem to type in, but I recommend the companion example books to help get the routines running.
· Numerical Recipes in FORTRAN Example Book : The Art of Scientific Computing
· Numerical Recipes in Fortran 90
· Fortran 90/95 Explained