Computational Divided Differencing and Divided-Difference Arithmetics

  • Authors:
  • Thomas W. Reps;Louis B. Rall

  • Affiliations:
  • Computer Science Department, University of Wisconsin, 1210 W. Dayton St., Madison, WI 53706, USA. reps@cs.wisc.edu;Department of Mathematics, University of Wisconsin, 480 Lincoln Dr., Madison, WI 53706, USA. rall@math.wisc.edu

  • Venue:
  • Higher-Order and Symbolic Computation
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Tools for computational differentiation transform a program that computes a numerical function F(x) into a related program that computes F′(x) (the derivative of F). This paper describes how techniques similar to those used in computational-differentiation tools can be used to implement other program transformations—in particular, a variety of transformations for computational divided differencing. The specific technical contributions of the paper are as follows:– It presents a program transformation that, given a numerical function F(x) defined by a program, creates a program that computes F[x0, x1], the first divided difference of F(x), whereF[x_0,x_1] \eqdef\left\{\begin{array}{l@{\quad}l}\ds\frac{F(x_0)-F(x_1)}{x_0 - x_1}& \mbox{if}~x_0 \neq x_1 \\[10pt]\ds\frac{d}{d z} F(z), \mbox{evaluated at}~z = x_0 & \mbox{if}~x_0 = x_1\end{array}\right.– It shows how computational first divided differencing generalizes computational differentiation.– It presents a second program transformation that permits the creation of higher-order divided differences of a numerical function defined by a program.– It shows how to extend these techniques to handle functions of several variables.The paper also discusses how computational divided-differencing techniques could lead to faster and/or more robust programs in scientific and graphics applications.Finally, the paper describes how computational divided differencing relates to the numerical-finite-differencing techniques that motivated Robert Paige's work on finite differencing of set-valued expressions in SETL programs.