Numerical Recipes, the Art of Scientific Computing - Press, WH; Flannery, BP; Teukolsky, SA; Vetterling, WT (Cambridge University Press, 1986)