ALGORITHM 746 - PCOMP - A FORTRAN CODE FOR AUTOMATIC DIFFERENTIATION

被引:16
作者
DOBMANN, M
LIEPELT, M
SCHITTKOWSKI, K
机构
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 1995年 / 21卷 / 03期
关键词
AUTOMATIC DIFFERENTIATION; FORWARD ACCUMULATION; REVERSE ACCUMULATION;
D O I
10.1145/210089.210091
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automatic differentiation is an interesting and important tool for all numerical algorithms that require derivatives, e.g., in nonlinear programming, optimal control, parameter estimation, and differential equations. The basic idea is to avoid not only numerical approximations, which are expensive with respect to CPU time and contain round-off errors, but also hand-coded differentiation. This article introduces the forward and backward accumulation methods and describes the numerical implementation of a computer code with the name PCOMP. The main intention of the approach used is to provide a flexible and portable Fortran code for practical applications. The underlying language is described in terms of a formal grammar and is a subset of Fortran with a few extensions. Besides a parser that generates an intermediate code and that can be executed independently from the evaluation routines, there are other subroutines for the direct computation of function and gradient values, which can be called directly from a user program. On the other hand, it is possible to generate a Fortran code for function and gradient evaluation that can be compiled and linked separately.
引用
收藏
页码:233 / 266
页数:34
相关论文
共 21 条
[1]  
CHAR B, 1988, MAPLE REFERENCE MANU
[2]  
DOBMANN M, 1993, THESIS U BAYREUTH BA
[3]  
FISCHER H, 1991, AUTOMATIC DIFFERENTI
[4]  
GRIEWANK A, 1991, MCSP1801190 ARN MATH
[5]  
Griewank A., 1989, MATH PROGRAMMING REC, V6, P83
[6]  
Griewank A., 1991, AUTOMATIC DIFFERENTI
[7]  
HILLSTROM KE, 1985, ANLMCSTM16 MATH COMP
[8]  
HOCK W, 1981, LECTURE NOTES EC MAT, V187
[9]  
IDNANI A, 1987, NLPSOLVER USERS GUID
[10]  
JUEDES D, 1991, AUTOMATIC DIFFERENTI