Automatic differentiation platform : design
ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique, Volume 36 (2002) no. 5, p. 783-792
Automatic differentiation (AD) has proven its interest in many fields of applied mathematics, but it is still not widely used. Furthermore, existing numerical methods have been developed under the hypotheses that computing program derivatives is not affordable for real size problems. Exact derivatives have therefore been avoided, or replaced by approximations computed by divided differences. The hypotheses is no longer true due to the maturity of AD added to the quick evolution of machine capacity. This encourages the development of new numerical methods that freely make use of program derivatives, and will require the definition and development of new AD strategies. AD tools must be extended to produce these new derivative programs, in such a modular way that the different sub-problems can be solved independently from one another. Flexibility assures the user to be able to generate whatever specific derivative program he needs, with at the same time the possibility to generate standard ones. This paper sketches a new model of modular, extensible and flexible AD tool that will increase tenfold the DA potential for applied mathematics. In this model, the AD tool consists of an AD kernel named KAD supported by a general program transformation platform.
Classification:  65Y20,  26B05
Keywords: AD, algorithmic differentiation, computational differentiation, design, open platform
     author = {Faure, Christ\`ele},
     title = {Automatic differentiation platform : design},
     journal = {ESAIM: Mathematical Modelling and Numerical Analysis - Mod\'elisation Math\'ematique et Analyse Num\'erique},
     publisher = {EDP-Sciences},
     volume = {36},
     number = {5},
     year = {2002},
     pages = {783-792},
     doi = {10.1051/m2an:2002042},
     zbl = {1024.65020},
     language = {en},
     url = {}
Faure, Christèle. Automatic differentiation platform : design. ESAIM: Mathematical Modelling and Numerical Analysis - Modélisation Mathématique et Analyse Numérique, Volume 36 (2002) no. 5, pp. 783-792. doi : 10.1051/m2an:2002042.

[1] M. Berz, C.H. Bischof, G.F. Corliss and A. Griewank, Computational Differentiation: Applications, Techniques, and Tools. SIAM, Philadelphia (1996). | MR 1431037 | Zbl 0857.00033

[2] C. Bischof, A. Carle, P. Khademi, A. Mauer and P. Hovland, Adifor 2.0 User's Guide, Technical Report ANL/MCS-TM-192/CRPC-TR95516-S. Argonne National Laboratory Technical Memorandum and CRPC Technical Report (1998).

[3] G. Corliss, C. Faure, A. Griewank, L. Hascoet and U. Naumann, Automatic Differentiation: From Simulation to Optimization. Springer-Verlag (2001).

[4] C. Faure, Adjoining strategies for multi-layered programs. Optim. Methods Softw. 17 (2002) 129-164. | Zbl 1057.68142

[5] C. Faure and U. Naumann, Minimizing the Tape Size, in Automatic Differentiation: From Simulation to Optimization, G. Corliss, C. Faure, A. Griewank, L. Hascoët and U. Naumann Eds. Springer-Verlag (2001).

[6] C. Faure and Y. Papegay, Odyssée User's Guide, Version 1.7. Rapport technique 0224. INRIA (1998).

[7] R. Giering, Tangent linear and Adjoint Model Compiler, Users manual (1997). Unpublished, available from

[8] R. Giering and T. Kaminski, Generating recomputations in reverse mode, in Automatic Differentiation of Algorithms: From Simulation to Optimization. Springer-Verlag (2001).

[9] A. Griewank, Principles and Techniques of Algorithmic Differentiation. SIAM (2000). | MR 1753583 | Zbl 0958.65028

[10] A. Griewank and G.F. Corliss, Automatic Differentiation of Algorithms: Theory, Implementation, and Applications. SIAM, Philadelphia (1991). | MR 1143784 | Zbl 0747.00030

[11] Stanford Compiler Group, Suif Compiler System, Technical report. Stanford University.

[12] M. Iri, Simultaneous computation of functions, partial derivatives and estimates of rounding errors, complexity and practicality. Japan J. Appl. Math. 1 (1984) 223-252. | Zbl 0634.65009

[13] M. Iri and K. Kubota, Methods of fast automatic differentiation and applications, Research memorandum rmi 87-02, Department of Mathematical Engineering and Instrumentation Physics. Faculty of Engineering, University of Tokyo (1987).

[14] J. Joss, Algorithmisches Differenzieren. Ph.D. Thesis, ETH Zurich (1976).

[15] K.V. Kim, Yu.E. Nesterov and B.V. Cherkasskiĭ, An estimate of the effort in computing the gradient. Soviet Math. Dokl. 29 (1984) 384-387. | Zbl 0583.90085

[16] G.M. Ostrovskii, Yu.M. Volin and W.W. Borisov, Uber die berechnung von ableitungen. Wiss. Z. Tech. Hochsch. Chimie 13 (1971) 382-384. | Zbl 0228.65016

[17] J.W. Sawyer, First partial differentiation by computer with an application to categorial data analysis. Amer. Statist. 38 (1984) 300-308. | Zbl 0548.65005

[18] B. Speelpening, Compiling fast partial derivatives of functions given by algorithms. Ph.D. Thesis, University of Illinois, Urbana-Champaign (1980).