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