Skip to main content

Numerical Differentiation and Finite Differences

  • Chapter
  • First Online:
A Graduate Introduction to Numerical Methods

Abstract

Taking derivatives of numerical functions is one of the most often performed tasks in computation. Finite differences are a standard way to approximate the derivative of a function, and compact finite differences are especially attractive. We study the conditioning of differentiation, including some structured condition numbers for differentiation of polynomials. We look at differentiation matrices for derivatives of polynomials expressed in a Lagrange or Hermite interpolational basis. We look at regularization or smoothing before taking derivatives, and briefly touch on automatic differentiation. ⊲

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Olver and Townsend (2013) adopt the technique of using a different basis for the derivative \({f}^{\,{\prime}}(t)\) than for the function f(t), which allows a diagonal differentiation matrix, attaining great efficiency.

  2. 2.

    We puzzled for a while over what symbol to use for the vector of derivative values. If the function values f(τ i ) are denoted by ρ i , then clearly the symbol for the derivatives \({f}^{\,{\prime}}(\tau _{i})\) should be related, though different. Finally, we chose the Norse rune þ (pronounced “thorn” with a “th” as in the word “thin”) because it looks a bit like a ρ, and linguistically the symbol is equivalent to the atin D convenient for derivative. In some fonts it has an angular character, which fits with the loss of smoothness when derivatives are taken. We also had to worry about conflicts with other symbols in this book. So, “thorn” (þ) it is Elliot (1981).

  3. 3.

    It may become clearer why this is called a forward difference if you think of x k  = a and \(x_{k+1} = a + h\) with h > 0. Then Δ f and Δ x both “look ahead" to compute the differences.

  4. 4.

    For a large collection of resources, including reference books, tutorials, lists of papers, and (perhaps most importantly) links to programs that can differentiate your programs in languages ranging from C through MATLAB to Python, see www.autodiff.org.

  5. 5.

    Note the spelling of George F. Corliss’ name.

References

  • Anderssen, R. S., & Hegland, M. (1999). For numerical differentiation, dimensionality can be a blessing! Mathematics of Computation, 68, 1121–1141.

    Article  MATH  MathSciNet  Google Scholar 

  • Anderssen, R. S., & Hegland, M. (2010). Derivative spectroscopy—an enhanced role for numerical differentiation. Journal of Integral Equations and Applications, 22(3), 355–367.

    Article  MATH  MathSciNet  Google Scholar 

  • Bellman, R., Kashef, B., & Casti, J. (1972). Differential quadrature: a technique for the rapid solution of nonlinear partial differential equations. Journal of Computational Physics, 10(1), 40–52.

    Article  MATH  MathSciNet  Google Scholar 

  • Boole, G. (1880). A treatise on the calculus of finite differences (1951 ed. edited by J. F. Moulton). Macmillan and Company, 3rd Edition, London.

    Google Scholar 

  • Corliss, G. F., Faure, C., Griewank, A., Hascoët, L., & Naumann, U. (2002). Automatic differentiation of algorithms: from simulation to optimazation. New York: Springer.

    Book  Google Scholar 

  • Cullum, J. (1971). Numerical differentiation and regularization. SIAM Journal on Numerical Analysis, 8(2), 254–265.

    Article  MATH  MathSciNet  Google Scholar 

  • Don, W. S., & Solomonoff, A. (1995). Accuracy and speed in computing the Chebyshev collocation derivative. SIAM Journal of Scientific Computing, 16, 1253–1268.

    Article  MATH  MathSciNet  Google Scholar 

  • Elliot, Ralph WV. Runes: An Introduction Praeger (1981)

    Google Scholar 

  • Forth, S. A. (2006). An efficient overloaded implementation of forward mode automatic differentiation in MATLAB. ACM Transactions on Mathematical Software, 32(2), 195–222.

    Article  MathSciNet  Google Scholar 

  • Lanczos, C. (1988). Applied analysis. Dover, New York, NY.

    Google Scholar 

  • Lele, S. K. (1992). Compact finite difference schemes with spectral-like resolution. Journal of Computational Physics, 103(1), 16–42.

    Article  MATH  MathSciNet  Google Scholar 

  • Lu, S., & Pereverzev, S. V. (2006). Numerical differentiation from a viewpoint of regularization theory. Mathematics of Computation, 75(256), 1853.

    Article  MATH  MathSciNet  Google Scholar 

  • Lyness, J. N., & Moler, C. B. (1967). Numerical differentiation of analytic functions. SIAM Journal on Numerical Analysis, 4(2), 202–210.

    Article  MATH  MathSciNet  Google Scholar 

  • Milne-Thomson, L. M. (1951). The calculus of finite differences (2nd ed., 1st ed. 1933). MacMillan and Company, London.

    Google Scholar 

  • Olver, S., & Townsend, A. (2013). A fast and well-conditioned spectral method. SIAM Review, 55(3), 462–489.

    Article  MATH  MathSciNet  Google Scholar 

  • Pettigrew, M. F., & Rasmussen, H. (1996). A compact method for second-order boundary value problems on nonuniform grids. Computers & Mathematics with Applications, 31(9), 1–16.

    Article  MATH  MathSciNet  Google Scholar 

  • Rokicki, J., & Floryan, J. (1995). Domain decomposition and the compact fourth-order algorithm for the Navier–Stokes equations. Journal of Computational Physics, 116(1), 79–96.

    Article  MATH  MathSciNet  Google Scholar 

  • Squire, W., & Trapp, G. (1998). Using complex variables to estimate derivatives of real functions. SIAM Review, 40(1), 110–112.

    Article  MATH  MathSciNet  Google Scholar 

  • Trefethen, L. N. (2000). Spectral methods in MATLAB. Philadelphia: SIAM.

    Book  MATH  Google Scholar 

  • Trefethen, L. N. (2013). Approximation theory and approximation practice. Philadelphia: SIAM.

    MATH  Google Scholar 

  • Weideman, J. A., & Reddy, S. C. (2000). A matlab differentiation matrix suite. ACM Transactions on Mathematical Software, 26, 465–519.

    Article  MathSciNet  Google Scholar 

  • Zhao, J., Davison, M., & Corless, R. M. (2007). Compact finite difference method for American option pricing. Journal of Computational and Applied Mathematics, 206, 306–321.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Corless, R.M., Fillion, N. (2013). Numerical Differentiation and Finite Differences. In: A Graduate Introduction to Numerical Methods. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8453-0_11

Download citation

Publish with us

Policies and ethics