It's a good book in general for cookie cutter algorithms, however I would definitely look into second opinions for most algorithms in the book before you implement them. Numerous algorithms in the Numerical Recipies books have been shown to be either inefficient or just plain wrong, but for the most part it's a rather effective reference.
Personally I would recommend sticking with the 'Numerical Recipies in C' book and steering clear of the C++ edition. The algorithms and mathematical background in both of them are virtually the same, but the code in the C version is much easier to follow far less messy.
If you are only going to be performing some basic data analysis on rather small data sets then implementing your own algorithms as in this book will work quite nicely. However, if this will be used in a performance-critical appliaction, then you will be best off using optimized libraries to perform the FFTs (generally anywhere from 50x - 200x faster than rolling your own plus they will usually work with data sets that are not a power of 2). The following libraries are excelent for optimized FFTs:
FFTW: Fastest Fourier Transform in the West http://www.fftw.org. OpenSource FFT library generally recognized as the greatest thing since sliced bread. Works great on Linux, can be a bit of a hassle to get going with Visual Studio
Intel MKL: Intel Math Kernel Library http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm. Note that the MKL costs $$ if used for commercial use, but personal, academic, or general non-commercial use is free.
AMD ACML: AMD Core Math Library http://developer.amd.com/acml.jsp. My personal favorite. Extremely fast, free to use even for commercial use, and the interface to use it is very simple and not too cluttered. (If using with Visual Studio, be sure to use the Intel Fortran compiled versions as the PGI compiled versions have a few bugs in the FFT code)
|