Volume 7, Issue 1 -
Spring/Summer 1999

Volume 6, Issue 3
Fall 1998

Volume 6, Issue 2
Spring/Summer 1998

Volume 6, Issue 1
Winter 1998

Volume 5, Issue 4
Fall 1997

Volume 5, Issue 3
Summer 1997

Volume 5, Issue 2
Spring 1997

Volume 5, Issue 1
Winter 1997

Volume 4, Issue 4
Fall 1996

Volume 4, Issue 3
Summer 1996

Volume 4, Issue 2
Spring 1996

Volume 4, Issue 1
Winter 1996

Volume 3, Issue 4
Fall 1995

Volume 3, Issue 3
Summer 1995

Volume 3, Issue 2
Spring 1995

Volume 3, Issue 1
January 1995

Volume 2, Issue 4
October 1994

Volume 2, Issue 3
July 1994

Volume 2, Issue 2
April 1994

Volume 2, Issue 1
January 1994

Volume 1, Issue 4
October 1993

Volume 1, Issue 3
July 1993

Volume 1, Issue 2
April 1993

Volume 1, Issue 1
January 1993

ADIFOR Provides Valuable Derivative Information for Fortran Codes

Christian Bischof, George Corliss, and Andreas Griewank, Mathematics and Computer Science Division, Argonne National Laboratory; Alan Carle, Department of Computer Science, Rice University; John Dennis, Department of Computer Science and Department of Computational and Applied Mathematics, Rice University; and Karen Williamson, Department of Computational and Applied Mathematics, Rice University

Virtually all modeling and optimization projects in scientific computing require qualitative information on the sensitivity of output variables with respect to input parameters. To meet this need, a joint CRPC project was initiated between the Mathematics and Computer Science Division at Argonne, the compiler group of the Computer Science Department at Rice University, and the optimization group of the Computational and Applied Mathematics Department at Rice University.

The resulting automatic differentiation tool, referred to as ADIFOR (Automatic Differentiation of Fortran), has convincingly demonstrated that large real-life Fortran codes can be automatically processed to provide the user with valuable derivative information. As a result, iterative processes can be accelerated, model parameters optimized, and the sensitivity of results with respect to initial conditions and control actions quantified. These beneficial effects have been obtained on trajectory optimization programs (Boeing), optimal design of membrane filtration processes (Rice), three-dimensional Navier-Stokes codes for transonic flow (NASA), car engine lubrication simulations (GM), and biomechanical models of complex human organs (National Institute of Standards and Technology).

The key to ADIFOR's success is its utilization of interprocedural information provided by the ParaScope Parallel Programming Environment developed at Rice. This information allows ADIFOR to determine efficiently, for each subroutine in the calling tree, which calling parameters, global variables, and local variables are active, i.e., lie on the dependency path between the independent and dependent variables specified by the user. Each program line involving active variables is augmented with additional instructions for propagating the corresponding derivative information by a suitable version of the chain rule. The resulting portable code computes derivative values correct to working accuracy and frequently does so significantly faster than divided differences.

Table of Contents

News | From the Director | Research Focus | Work in Progress | Education / Outreach | Resources | Calendar | CRPC Home