Algorithmic Differencing

Louis B. Rall and Thomas W. Reps
University of Wisconsin

An algorithmic representation of a function is a step-by-step specification of its evaluation in terms of known operations and functions, such as a computer program. In addition to function values, the algorithmic representation can be used to compute related quantities such as derivatives of the function. A process similar to automatic (or algorithmic) differentiation will be applied to obtain differences and divided differences of functions. Advantages of this approach are that it often reduces the sometimes catastrophic cancellation errors in computation of differences and divided differences and provides numerical convergence of divided differences to derivatives.