Å·±¦ÓéÀÖ

Jump to ratings and reviews
Rate this book

Numerical Recipes: The Art of Scientific Computing

Rate this book
Co-authored by four leading scientists from academia and industry, Numerical Recipes Third Edition starts with basic mathematics and computer science and proceeds to complete, working routines. Widely recognized as the most comprehensive, accessible and practical basis for scientific computing, this new edition incorporates more than 400 Numerical Recipes routines, many of them new or upgraded. The executable C++ code, now printed in color for easy reading, adopts an object-oriented style particularly suited to scientific applications. The whole book is presented in the informal, easy-to-read style that made earlier editions so popular. Please visit or for more details. More information concerning licenses is available New key Plus comprehensive coverage of

1256 pages, Hardcover

First published September 1, 2007

25 people are currently reading
552 people want to read

About the author

William H. Press

29Ìýbooks2Ìýfollowers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
78 (49%)
4 stars
57 (35%)
3 stars
20 (12%)
2 stars
4 (2%)
1 star
0 (0%)
Displaying 1 - 7 of 7 reviews
Profile Image for F. Dum.
60 reviews24 followers
December 27, 2021
Ever since I discovered NR about 20 years ago, I was totally fascinated by it. Wow, so much code for mathematical stuff I would never be able to come up with, PLUS some explanations so that I even can guess what the code actually does. And this is is why I still like this book and would recommend it as a good starting source for numerical methods.

However, even 20 years ago, there were things I didn't like. The coding style was okay back then in the C days, despite their weird one-based indexing scheme. With this edition, they finally switched to zero-based indexing. However, they also switched to C++, and the manner they understand C++ (or at least the manner the code is written) is really not something to be imitated. But I could live with it.

I can live a little less with the writing style, which is horribly arrogant. Every second sentence contains some utterly narcissistic formulation. If you take these guys seriously, you'd think they're the only ones who know anything about numerical methods.

Of course, they're not, and fortunately so. Because my main criticism is that the methods they show here just isn't trustworthy. Once you start digging a little deeper, you'll realize they completely ignore other, more efficient or more robust methods. The book has gotten a lot of flak from the scientific community, and I think it deserves it. I would be more forgiving if the authors were less full of themselves, but even so, this book should only be used as an concise introduction into many fields of scientific computing, but not as the definitive reference work it styles itself to be.

Oh yeah, another thing that is often criticized is the license. The authors chose to copyright their code (because it's just so awesome and the absolute best, I guess ;), so you can't just copy and paste it in any project that is meant to be published. But, together with the dubious quality, this actually is a plus, as it should motivate you to find other, better methods and other, better code.

I still do like this book, because of its breadth and the ready-to-use code (ready-to-use for your private project, of course). It's still my go-to reference if I want to implement some numerical method, and I may rip the code into my little project to have a first working method. But I'll then look for some alternative methods, because I just don't trust the code to be robust and stable.
Profile Image for Jon Honey.
85 reviews2 followers
September 28, 2019
This book rocks. The license does not. Can't fault the guy for that though. You can tell the author put a ton of time into distilling the information and presenting the incredibly complicated topics of numerical analysis in a way that can be immediately applicable to anyone who regularly has to solve complex numerical problems.

Even part-way into the first chapter, I learned something fundamental about C++ which for some reason I had never noticed (with 6 years of C++ and BSCS). How to detect a NaN value is as simple as "if (x!=x)". You'll have to read to learn more.

This is a must-have for the aspiring computer scientist seeking to expand their repertoire of problem-solving tools and techniques. From simple tips-and-tricks to supervised learning algorithms such as K-means clustering, this book will provide both adequate explanations as well as detailed implementations (you certainly want to write the code yourself *especially* for work, as the aforementioned license is comprehensive and limiting) which can provide you with solid foundations upon which to develop your own solutions.
25 reviews
February 3, 2025
Reading through this 3rd edition is nostalgic. I read the first edition cover to cover and it still provides a great introduction to a broad range of numerical computation subjects. It does not replace putting in the work in a CS course but it is still an enjoyable read.

The code is understandable. For demanding applications, you probably don’t want to use their code verbatim. Choose a tested library. There are open source and commercial ones available.
79 reviews
April 14, 2023
Honestly--a masterpiece of thorough and accessible pedagogy.

Minus one star because the code isn't open source and they're insufferable about it
Profile Image for Steve Stuart.
200 reviews27 followers
January 15, 2014
Even three decades after it was first published, it's hard to do better than this classic for a first step into any of the practical, numerical algorithms that it covers. There are other options available, all of them more modern, but none are as readable or entertaining as this one. And, in my opinion, none are as well targeted towards the things you need to know when implementing a method for yourself, while leaving for other texts the things that you don't need to know if you're just going to use a third-party library, or unless you need to code or develop specialized methods.

It also avoids delving too deeply into the numerical analysis topics that bog down many other books on numerical or scientific computing. Those formal approaches have their place, and are important to know, but can get in the way of practical implementation for most everyday scientific computing problems. The name Numerical Recipes is well chosen. If this were a cookbook, its competitors would spend many chapters on explaining the chemistry behind the role of coagulants and protein denaturation during cooking; this one gives you the recipes and some practical tips for how to get them to come out right.

A common criticism is that this book is a little out of date, presenting methods that now have better alternatives. This is true, but it's still my first choice when I need to remind myself of the basics, or grab a quick snippet of code, or figure out the best way to explain a topic to someone else.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.