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