Top positive review
5 of 5 people found this helpful
Even better than previous editions
on 25 December 2009
Numerical Recipes requires no introduction, as it has been the most often used and taught from book on numerical methods for more than two decades. Its objective has always been to teach practical numerical methods, and in the meantime provide code which, although not a professional numerical library, can be used in practice. In my opinion, all editions fulfilled this goal to a great extent. During the time passed since the first edition, a great development took place in computer hardware, programming methods and numerical algorithms. This development also made its way into Numerical Recipes: more methods are included and the code became much more closer to what one expects from a numerical code library (i.e. it is now much easier to extend NR code with exception handling, global variables have been eliminated). Most importantly, the new version of the code is written in object oriented C++, which makes even the code itself, but more importantly, code based on NR routines, much more readable. At the same time, the readability and clarity of the text has been retained in the new edition, despite the growth in the material covered. The level of mathematical rigor also has not changed, and is in accord with the main objective of the book; the routines are explained, but some mathematical details and technicalities are omitted. The reader interested in these can look them up in the references or can supplement the book with a more mathematical one, eg. the one by Bulirsch and Stoer.
The only backside of Numerical Recipes is the somewhat restrictive license of the code. If one is planning to use the routines in programs made for their own research, then one will not run into this problem. Even sharing code between researchers should not pose any difficulties, because most probably the other researcher also owns a copy, and they only have to share the parts written by themselves. However, including the code into open source projects is impossible. In such a case, alternative code libraries, such as LAPACK and GSL have to be used.
Summary: if you intend to use numerical methods, get a copy. As with all editions, its very easy to learn from NR and to get started using its routines. Keep in mind however, that you might have to use another code library if you intend to distribute your program source.