Abstract

The numerical methods employed in the solution of many scientific computing problems require the computation of derivatives of a function f Rn→Rm. Both the accuracy and the computational requirements of the derivative computation are usually of critical importance for the robustness and speed of the numerical solution. Automatic Differentiation of FORtran (ADIFOR) is a source transformation tool that accepts Fortran 77 code for the computation of a function and writes portable Fortran 77 code for the computation of the derivatives. In contrast to previous approaches, ADIFOR views automatic differentiation as a source transformation problem. ADIFOR employs the data analysis capabilities of the ParaScope Parallel Programming Environment, which enable us to handle arbitrary Fortran 77 codes and to exploit the computational context in the computation of derivatives. Experimental results show that ADIFOR can handle real-life codes and that ADIFOR-generated codes are competitive with divided-difference approximations of derivatives. In addition, studies suggest that the source transformation approach to automatic differentiation may improve the time to compute derivatives by orders of magnitude.

Highlights

  • The methods employed for the solution of many scientific computing problems require the evaluation of derivatives of some function

  • Automatic Differentiation of FORtran (ADIFOR) is a tool to provide automatic differentiation for programs written in Fortran 77

  • The examples in the preceding section have shown that the principles underlying automatic differentiation are not complicated: we just associated extra computations with the statements executed in the original code

Read more

Summary

INTRODUCTION

The methods employed for the solution of many scientific computing problems require the evaluation of derivatives of some function. Xi+1 = X;+ S; end for Another important application is the numerical solution of initial value problems in stiff ordinary differential equations Methods such as implicit Runge-Kutta [6] and backward differentiation formula (BDF) [7] methods require a Jacobian which is either provided by the user or approximated by divided differences. That is why authors as early as the 1920s [8] and again in the late 1940s [9] were led to consider implicit methods in which the approximate solution Y;+ 1 at t = t;+ 1 is given by the solution to some nonlinear system which is solved by a Newton-type iteration requiring the Jacobian aI ay. There are four approaches to computing derivatives [10]: 1. By hand: Hand coding is increasingly difficult and error-prone, especially as the problem complexity increases

Divided differences
Symbolic differentiation
Automatic differentiation
Generality
Preservation of software development effort
AUTOMATIC DIFFERENTIATION
ADIFOR DESIGN PHILOSOPHY
Loss of efficiency
THE FUNCTIONALITY OF ADIFOR-GENERATED DERIVATIVE CODES
20 COITIIUE
EXPERIMENTAL RESULTS
X 29 3 X 29 6 X 6 1 X 8 190 X 190 190 X 190
FUTURE WORK
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call