Reading Material
A good introduction to numerical differentiation via finite differences is on Wikipedia. After reading that article, we suggest reading Section 5.7 in "Numeric Recipes in C", which has a full citation below.
In addition, there is interesting material in the SciPy proposal to add support for numerical differentiation to SciPy. The proposal can be found on GitHub.
Bibliography
- Press, William H., et al. "Numerical recipes in C". Vol. 2. Cambridge: Cambridge University Press, 1996.
- Iott, Jocelyn, Raphael T. Haftka, and Howard M. Adelman. "Selecting step sizes in sensitivity analysis by finite differences." (1985).
- Martins, Joaquim RRA, Peter Sturdza, and Juan J. Alonso. "The complex-step derivative approximation." ACM Transactions on Mathematical Software (TOMS) 29.3 (2003): 245-262.
- Lyness, James N., and Cleve B. Moler. "Numerical differentiation of analytic functions." SIAM Journal on Numerical Analysis 4.2 (1967): 202-210. APA