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