Automatic Differentiation of Computer Programs
Gershon Kedem · ACM Transactions on Mathematical Software · 1980
A method for the automatic dffferentmtion of computer functions (subroutmes) written m a highlevel language is discussed.A theory is developed to show that most functions that arise m applicatmns can be dffferentmted automatmally.It is shown how to take a Fortran function (subroutine) and, with the md of a precompiler, obtain a Fortran subroutine that computes the origmal function and its desired derwatives.Implementation of two types of dffferentmtion are described: (1) automatic Taylor serms expansmn of Fortran programs; (2) automatm gradient calculatmn of Fortran functmns.Key Words and Phrases: automatic differentmtmn, factorable functions CR Categories 5.7 f, then subroutine B is the derivative of A if subroutine B evaluates f'.Of course not all Fortran programs compute mathematical functions and therefore the Permismon to copy without fee all or part of this maternal is granted provided that the copies are not made or chstributed for direct commermal advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machmery.To copy otherwise, or to repubhsh, reqmres a fee and/or specific permission This work was supported by the U.