Results 1 
3 of
3
Computational Divided Differencing and DividedDifference Arithmetics
, 2000
"... Tools for computational differentiation transform a program that computes a numerical function F (x) into a related program that computes F 0 (x) (the derivative of F ). This paper describes how techniques similar to those used in computationaldifferentiation tools can be used to implement other pr ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Tools for computational differentiation transform a program that computes a numerical function F (x) into a related program that computes F 0 (x) (the derivative of F ). This paper describes how techniques similar to those used in computationaldifferentiation 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) de ned by a program, creates a program that computes F [x0 ; x1 ], the first divided difference of F(x), where F [x0 ; x1 ] def = F (x 0 ) F (x 1 ) x 0 x 1 if x0 6= x1 d dz F (z); evaluated at z = x0 if x0 = x1 It shows how computational first divided differencing generalizes computational differentiation. It presents a second program transformation that permits the creation of higherorder divided differences of a numerical function de ...
Code generation: evaluating polynomials
, 2003
"... Writing a program to evaluate a given polynomial at a point can be done rather simply. If it has to be done repeatedly, efficiently, and/or accurately, a naive approach may not suffice. There is in fact a huge design space of how to approach this problem [12]. Depending upon one’s criteria, it may b ..."
Abstract
 Add to MetaCart
Writing a program to evaluate a given polynomial at a point can be done rather simply. If it has to be done repeatedly, efficiently, and/or accurately, a naive approach may not suffice. There is in fact a huge design space of how to approach this problem [12]. Depending upon one’s criteria, it may be worthwhile to use automated programgeneration programs to write source code. Such generated code can be structured to exploit whatever special knowledge of the polynomial being evaluated may be available early, as well as the design requirements. This knowledge can include its degree, some or all of its coefficients (used in precomputing coefficients of an auxiliary polynomial), special knowledge of the point at which it is evaluated (real or complex), special knowledge of the computer on which it is run (pipeline depth and number of arithmetic units), the required error tolerance, and whether auxiliary information is needed such as the first or second derivative of the polynomial. It is possible also to indicate exactly the number of arithmetic operations used, and in some cases, other information describing the efficiency of the code. In this paper we describe some programgenerating programs that may be of assistance. All the code is available in an online appendix. Although the implementation language is ANSI Standard Common Lisp, the target language is (your choice of) Lisp or C. 1