Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. (1992) Numerical Recipes in C: The art of scientific computing, 2nd Edn., Cambridge University Press.