Efficient derivative codes through automatic differentiation and interface contraction: An application in biostatistics

被引:19
作者
Hovland, P
Bischof, C
Spiegelman, D
Casella, M
机构
[1] ARGONNE NATL LAB, DIV MATH & COMP SCI, ARGONNE, IL 60439 USA
[2] HARVARD UNIV, SCH PUBL HLTH, DEPT EPIDEMIOL, BOSTON, MA 02115 USA
[3] HARVARD UNIV, SCH PUBL HLTH, DEPT BIOSTAT, BOSTON, MA 02115 USA
关键词
automatic differentiation; computational differentiation; interface contraction; log-likelihood functions; derivatives; ADIFOR;
D O I
10.1137/S1064827595281800
中图分类号
O29 [应用数学];
学科分类号
070104 ;
摘要
Developing code for computing the first- and higher-order derivatives of a function by hand can be very time consuming and is prone to errors. Automatic differentiation has proven capable of producing derivative codes with very little effort on the part of the user. Automatic differentiation avoids the truncation errors characteristic of divided difference approximations. However, the derivative code produced by automatic differentiation can be significantly less efficient than one produced by hand. This shortcoming may be overcome by utilizing insight into the high-level structure of a computation. This paper focuses on how to take advantage of the fact that the number of variables passed between subroutines frequently is small compared with the number of variables with respect to which one wishes to differentiate. Such an ''interface contraction,'' coupled with the associativity of the chain rule for differentiation, allows one to apply automatic differentiation in a more judicious fashion, resulting in much more efficient code for the computation of derivatives, A case study involving the ADIFOR (Automatic Differentiation of Fortran) tool and a program for maximizing a logistic-normal likelihood function developed from a problem in nutritional epidemiology is examined, and performance figures are presented.
引用
收藏
页码:1056 / 1066
页数:11
相关论文
共 29 条
[1]  
[Anonymous], 1992, MATH REFERENCE GUIDE
[2]   COMPUTING LARGE SPARSE JACOBIAN MATRICES USING AUTOMATIC DIFFERENTIATION [J].
AVERICK, BM ;
MORE, JJ ;
BISCHOF, CH ;
CARLE, A ;
GRIEWANK, A .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 1994, 15 (02) :285-294
[3]  
BISCHOF A, 1996, IEEE COMPUTATIONAL S, V3, P18
[4]  
BISCHOF C, 1992, J COMPUTING SYSTEMS, V3, P625
[5]  
BISCHOF C, 1996, ANLMCSP6261196 MATH
[6]  
BISCHOF C, 1994, COMPUTATIONAL METHOD, V10, P173
[7]  
Bischof C.H., 1992, Sci. Program., V1, P11, DOI [10.1155/1992/717832, DOI 10.1155/1992/717832]
[8]   Efficient computation of gradients and Jacobians by dynamic exploitation of sparsity in automatic differentiation [J].
Bischof, CH ;
Khademi, PM ;
Bouaricha, A ;
Carle, A .
OPTIMIZATION METHODS & SOFTWARE, 1996, 7 (01) :1-39
[9]  
BISCHOF CH, 1995, NATO ADV SCI I SER C, V462, P59
[10]  
CARLE A, 1994, P 25 AIAA FLUID DYNA