Differentiation and generation of taylor coefficients in PASCAL-SC
Proc. of the symposium on A new approach to scientific computation
Differentiation in PASCAL-SC: type GRADIENT
ACM Transactions on Mathematical Software (TOMS)
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Experiments on slicing-based debugging aids
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
On interval enclosures using slope arithmetic
Applied Mathematics and Computation
Identifying the semantic and textual differences between two versions of a program
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Computer arithmetic and self-validating numerical methods
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Incremental program testing using program dependence graphs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated support for legacy code understanding
Communications of the ACM
Efficient detection of all pointer and array access errors
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Chains of recurrences—a method to expedite the evaluation of closed-form functions
ISSAC '94 Proceedings of the international symposium on Symbolic and algebraic computation
The if-problem in automatic differentiation
ICCAM'92 Proceedings of the fifth international conference on Computational and applied mathematics
Systematic derivation of incremental programs
Science of Computer Programming
Caching intermediate results for program improvement
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Discovering auxiliary information for incremental computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ADIC: an extensible automatic differentiation tool for ANSI-C
Software—Practice & Experience
Functional differentiation of computer programs
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
From recursion to iteration: what are the optimizations?
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple automatic derivative evaluation program
Communications of the ACM
Generalized common subexpressions in very high level languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
C++ Toolbox for Verified Scientific Computing I: Basic Numerical Problems
C++ Toolbox for Verified Scientific Computing I: Basic Numerical Problems
Transformational programming: applications to algorithms and systems
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Inductively computable constructs in very high level languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Elementary Numerical Analysis: An Algorithmic Approach
Elementary Numerical Analysis: An Algorithmic Approach
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
Fundamental Concepts in Programming Languages
Higher-Order and Symbolic Computation
Functional Differentiation of Computer Programs
Higher-Order and Symbolic Computation
Adifor 2.0: Automatic Differentiation of Fortran 77 Programs
IEEE Computational Science & Engineering
Program Specialization via Program Slicing
Selected Papers from the Internaltional Seminar on Partial Evaluation
High level operations in automatic programming
Proceedings of the ACM SIGPLAN symposium on Very high level languages
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Induction variables in very high level languages
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Loop optimization for aggregate array computations
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Incremental Computation: A Semantics-Based Systematic Transformational Approach
Incremental Computation: A Semantics-Based Systematic Transformational Approach
Accurate computation of divided differences
Accurate computation of divided differences
Programming languages and their compilers: Preliminary notes
Programming languages and their compilers: Preliminary notes
Hi-index | 0.00 |
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.