Press, William H, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery Numerical recipes in Fortran : the art of scientific computing - CUP