Combining source transformation and operator overloading techniques to compute derivatives for MATLAB programs

被引:60
作者
Bischof, CH [1 ]
Bücker, HM [1 ]
Lang, B [1 ]
Rasch, A [1 ]
Vehreschild, A [1 ]
机构
[1] Univ Aachen, Inst Comp Sci, D-50256 Aachen, Germany
来源
SCAM 2002: SECOND IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS MANIPULATION, PROCEEDINGS | 2002年
关键词
source transformation; operator overloading; automatic differentiation; derivatives; MATLAB; high-level language;
D O I
10.1109/SCAM.2002.1134106
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Derivatives of mathematical functions play a key role in various areas of numerical and technical computing. Many of these computations are done in MATLAB, a popular environment for technical computing providing engineers and scientists with capabilities for mathematical computing, analysis, visualization, and algorithmic development. For functions written in the MATLAB language, a novel software tool is proposed to automatically transform a given MATLAB program into another MATLAB program capable of computing not only the original function but also user-specified derivatives of that function. That is, a program transformation known as automatic differentiation is performed to change the semantics of the program in a fashion based on the chain rule of differential calculus. The crucial ingredient of the tool is a combination of source-to-source transformation and operator overloading. The overall design of the tool is described and numerical experiments are reported demonstrating the efficiency of the resulting code for a sample problem.
引用
收藏
页码:65 / 72
页数:8
相关论文
共 26 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]  
Bendtsen C., 1996, Technical Report No. IMM-REP-1996-17
[3]  
Berz M., 1996, COMPUTATIONAL DIFFER
[4]  
BISC, 1996, COMPUTATIONAL DIFFER, P83
[5]  
BISCHOF C, 1996, IEEE COMPUTATIONAL S, V77, P18
[6]  
Bischof CH, 1997, SOFTWARE PRACT EXPER, V27, P1427, DOI 10.1002/(SICI)1097-024X(199712)27:12<1427::AID-SPE138>3.0.CO
[7]  
2-Q
[8]  
BISCHOF CH, 2002, COMPUTATIONAL METHOD
[9]   ADMIT-1: Automatic differentiation and MATLAB interface toolbox [J].
Coleman, TF ;
Verma, A .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2000, 26 (01) :150-175
[10]  
CORLISS G, AUTOMATIC DIFFERENTI