An efficient method for the numerical evaluation of partial derivatives of arbitrary order

  • Authors:
  • Richard D. Neidinger

  • Affiliations:
  • Davidson College, Davidson, NC

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

For any typical multivariable expression f, point a in the domain of f, and positive integer maxorder, this method produces the numerical values of all partial derivatives at a up through order maxorder. By the technique known as automatic differentiation, theoretically exact results are obtained using numerical (as opposed to symbolic) manipulation. The key ideas are a hyperpyramid data structure and a generalized Leibniz's rule. Any expression in n variables corresponds to a hyperpyramid array, in n-dimensional space, containing the numerical values of all unique partial derivatives (not wasting space on different permutations of derivatives). The arrays for simple expressions are combined by hyperpyramid operators to form the arrays for more complicated expressions. These operators are facilitated by a generalized Leibniz's rule which, given a product of multivariable functions, produces any partial derivative by forming the minimum number of products (between two lower partials) together with a product of binomial coefficients. The algorithms are described in abstract pseudo-code. A section on implementation shows how these ideas can be converted into practical and efficient programs in a typical computing environment. For any specific problem, only the expression itself would require recoding.