DIF: Automatic Differentiation of FORTRAN-Coded Polynomials

Orchard-Hays, W. & Butrimenko, I. (1978). DIF: Automatic Differentiation of FORTRAN-Coded Polynomials. IIASA Research Memorandum. IIASA, Laxenburg, Austria: RM-78-045

[thumbnail of RM-78-045.pdf]

Download (819kB) | Preview


The program described creates the first derivative functions of given function of limited complexity, namely generalized polynomials, but involving possibly many variables. Neither nested functions nor general rational forms are handled. However, partials to such functions can usually be readily programmed utilizing those forms produced automatically. Similarly, if a function of many variables is nonlinear in only a few, only derivatives of nonlinear terms need to be created; the constant derivatives can be added with ordinary DO-loops or similar standard programming techniques.

Three main files are used, indicated by integer variables IN, IFIN and IFOUT. Using these symbols to denote these files, IN contains the FORTRAN source code representing one or more functions f(X) to be differetiated, where X is a vector. The code must contain special comment lines delimiting and identifying each function. File IFIN contains additional comment lines which are really statements in a stylized language which specifies differ entiation, referring to the functions defined in IN. File IFIN can be a preprogrammed (but incomplete) FORTRAN routine which includes the differ entiation statements at appropriate points. File IFOUT, the output, contains the program from IFIN elaborated with statements to compute the derivatives specified. The comment lines are retained and serve as useful comments in the final routine.

After an explanatory foreword, usage of the program is explained. This can be regarded as a users manual. Therafter, detailed explanations of the method, including flowcharts, are given.

Item Type: Monograph (IIASA Research Memorandum)
Research Programs: Energy Program (ENP)
Depositing User: IIASA Import
Date Deposited: 15 Jan 2016 01:45
Last Modified: 27 Aug 2021 17:09
URI: https://pure.iiasa.ac.at/952

Actions (login required)

View Item View Item