43 of 45 people found the following review helpful:
3.0 out of 5 stars
Valuable book, but not worth an upgrade, June 28, 2008
This review is from: Numerical Recipes 3rd Edition: The Art of Scientific Computing (Hardcover)
Bottom line up front: Every computational scientist should own a copy of Numerical Recipes but, if you already own a previous version, then don't bother upgrading.
I already owned a copy of "Numerical Recipes in C, 2nd Edition" (from 1992), so I was absolutely thrilled when I saw that the book had been updated in over 15 years. This is why I was so underwhelmed with the 3rd edition. As a previous reviewer noted, the vast majority of the book is largely unchanged.
As in previous editions, the authors do a great job of providing codes that cover the spectrum of topics encountered by researchers. As in previous editions, the authors still take the "give a man a fish" instead of the "teach a man to fish" method. This might seem like a negative but, in my opinion, this is why every scientist should own a copy of Numerical Recipes. Often, topics pop up that need immediate solving and one can often find a code for the topic in Numerical Recipes. As in previous editions, Numerical Recipes is really just an annotated code repository, with very stringent/restrictive licensing rules by the way!
However, as the authors note in the introduction, they made a conscious decision to fill pages with verbatim codes, not building insight into various topics. In my experience, the codes given in Numerical Recipes get the job done, but these tend to be simple and less efficient than other well-known algorithms.
As in previous editions, Numerical Recipes is a terrible pedagogical text. If you're interesting in understanding a particular topic, then get a special-purpose book.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
84 of 93 people found the following review helpful:
5.0 out of 5 stars
Essential book on scientific computing, September 28, 2007
This review is from: Numerical Recipes 3rd Edition: The Art of Scientific Computing (Hardcover)
Fifteen years after its previous edition, this peerless book on scientific computing has been upgraded with some very welcome changes. Not only have some advances in scientific computing been incorporated, the explanations are even clearer and more detailed than before. More importantly, the code has been reworked so that it is better than it was in the previous edition. I don't agree with the other reviewer that "it is getting worse". However, it still does seem like C++ code that was written by a Fortran programmer who just doesn't want to let go of the past, although I'd have to say that the code has broken away from the Fortran-like structure of previous editions to some degree. If you do scientific computing at all, this new edition is a must have. Below I detail what is different in this new third edition versus the previous 1992 edition. There are a very few sections that were deleted. I don't mention them. Instead I list any sections or chapters that have been added.
1. Preliminaries
Completely reorganized to reflect the book.
2.Solution of Linear Algebraic Equations
THE SAME
3. Interpolation and Extrapolation
3.7 Interpolation on a Scattered Data in Multidimensions
3.8 Laplace Interpolation
4. Integration of Functions
4.5 Quadrature by Variable Transformation
4.8 Adaptive Quadrature
5. Evaluation of Functions
THE SAME
6. Special Functions
6.10 Generalized Fermi-Dirac Integrals
6.11 Inverse of the Function xlog(x)
6.14 Statistical Functions
7. Random Numbers
7.2 Completely Hashing a Large Array
7.3 Deviates from Other Distributions
7.4 Multivariate Normal Deviates
7.5 Linear Feedback Shift Registers
7.6 Hash Tables and Hash Memories
8. Sorting
THE SAME
9. Root Finding and Nonlinear Sets of Equations
THE SAME
10. Minimization or Maximization of Functions
10.1 Initially Bracketing a Minimum
10.6 Line Methods in Multidimensions
10.11 Linear Programming: Interior-Point Methods
10.13 Dynamic Programming
11. Eigensystems
11.2 Real Symmetric Matrices
11.6 Real Nonsymmetric Matrices
12. Fast Fourier Transform
THE SAME
13. Fourier and Spectral Applications
THE SAME
14. Statistical Description of Data
14.7 Information-Theoretic Properties of Distributions
15. Modeling of Data
15.8 Markov Chain Monte Carlo
15.9 Gaussian Process Regression
16. Classification and Inference (NEW CHAPTER)
17. Integration of Ordinary Differential Equations
17.7 Stochastic Simulation of Chemical Reaction Networks
18. Two-Point Boundary Value Problems
THE SAME
19. Integral Equations and Inverse Theory
THE SAME
20. Partial Differential Equations
20.7 Spectral Methods
21. Computational Geometry (NEW CHAPTER)
22. Less-Numerical Algorithms
22.1 Plotting Simple Graphs
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
82 of 91 people found the following review helpful:
3.0 out of 5 stars
Contents improved, but codes not, September 27, 2007
This review is from: Numerical Recipes 3rd Edition: The Art of Scientific Computing (Hardcover)
I'm a fan of this book since I've been using this book for a very long time. I pre-ordered the new version and got it a week ago. I think the contents are improved after I had a look at it. I'm pretty happy about that. However, the quality of the source codes, well, I have to say it is getting worse. As you may notice, authors of N.R. put a stringent license on usage of their codes, which is fine since these codes are their intellectual properties. But since they are selling their codes, they are supposed to hire some professional programmers to design a beatiful architecture, a nice data structure, and an easy-to-use interface, and implement all the algorithms with efficiency. As I can tell, C++ is abused in the 3rd version in a very bad way. I've been developing scientific computing software using C/C++ over 10 years, and I have to say the authors of the codes organized their work in a weird way. In the previous version of their codes in C++, global variables are still defined and used at so many places. Any professional programmer knows how bad such a programming style is. In this version, instead of wrapping their routines in classes, they simply use "struct" to hold global variables, does this delight you? This is just an example which upsets me. The only good thing is that they finally learned to use template...
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No