Press, W. H.; Teukolsky, S. A.; Vetterling, W. T. & Flannery, B. P. (2007), Numerical Recipes 3rd Edition: The Art of Scientific Computing , Cambridge University Press .