http://www.ul.cs.cmu.edu/webRoot/Books/Numerical_Recipes/bookcpdf/