Numerical recipes : the art of scientific computing - Press, William H. (Cambridge University Press, 2007)