# Numerical Recipes is Online

In *Intermediate Physics for Medicine and Biology*, Russ Hobbie and I often refer to *Numerical Recipes: The Art of Scientific Computing*, by William Press, Saul Teukolsky, William Vetterling, and Brian Flannery. We usually cite the second edition of the book with programs written in C (1995), but the copy on my bookshelf is the second edition using Fortran 77 (1992). For those of you who don’t own a copy of this wonderful book, did you know you can read it online?

The address of the *Numerical Recipes* website is easy to remember: numerical.recipes . There you will find free copies of the second editions of *Numerical Recipes* for Fortran 77, Fortran 90, C, and C++ (2002). If you want easy, quick access to the third edition (2007), you will have to pay a fee. But if you are willing to put up with brief delays and annoying messages (which the authors call “nags”), you also can read the third edition for free.

The text below is from the Preface to the third edition.

“I was just going to say, when I was interrupted…” beginsOliver Wendell Holmesin the second series of his famous essays,The Autocrat of the Breakfast Table. The interruption referred to was a gap of 25 years. In our case, as the autocrats ofNumerical Recipes, the gap between our second and third editions has been “only” 15 years.Scientific computinghas changed enormously in that time.

The first edition ofNumerical Recipeswas roughly coincident with the first commercial success of thepersonal computer. The second edition came at about the time that theInternet, as we know it today, was created. Now, as we launch the third edition, the practice of science and engineering, and thus scientific computing, has been profoundly altered by the mature Internet andWeb. It is no longer difficult to find somebody’salgorithm, and usually freecode, for almost any conceivable scientific application. The critical questions have instead become, “How does it work?” and “Is it any good?” Correspondingly, the second edition ofNumerical Recipeshas come to be valued more and more for its text explanations, concise mathematical derivations, critical judgments, and advice, and less for its code implementations per se.

Recognizing the change, we have expanded and improved the text in many places in this edition and added many completely new sections. We seriously considered leaving the code out entirely, or making it available only on the Web. However, in the end, we decided that without code, it wouldn’t beNumerical Recipes. That is, without code you, the reader, could never know whether our advice was in fact honest, implementable, and practical. Many discussions of algorithms in the literature and on the Web omit crucial details that can only be uncovered by actually coding (our job) or reading compilable code (your job). Also, we needed actual code to teach and illustrate the large number of lessons aboutobject-oriented programmingthat are implicit and explicit in this edition.

Russ and I cited *Numerical Recipes* in *IPMB* when we discussed integration, least squares fitting, random number generators, partial differential equations, the fast Fourier transform, aliasing, the correlation function, the power spectral density, and bilinear interpolation. Over the years, in my own research I have consulted the book about other topics, including solving systems of linear equations, evaluation of special functions, and computational analysis of eigensystems.

I highly recommend *Numerical Recipes* to anyone doing numerical computing. I found the book to be indispensable.

*Originally published at **http://hobbieroth.blogspot.com**.*