Abstract
In contrast to integration, the differentiation of a function is an ill-conditioned process, if only an oracle is available for its pointwise evaluation. That is, unrelated small variations in the value of the composite function are allowed at nearly identical arguments. In contrast, we show here that, if the function is defined by an evaluation procedure as a composition of arithmetic operations and elementary functions, then automatic, or algorithmic differentiation is backward stable in the sense of Wilkinson. More specifically, the derivative values obtained are exact for a perturbation of the elementary components at the level of the machine precision. We also provide a forward error analysis for both the forward and reverse mode. The theoretical analysis is confirmed by numerical experiments.
Similar content being viewed by others
References
Berz M, Bischof C, Corliss G, Griewank A (eds) (1996) Computational differentiation: techniques, applications, and tools. Proceedings series. SIAM
Bücker M, Corliss G, Hovland P, Naumann U, Norris B (eds) (2005) Automatic differentiation: applications, theory, and tools. In: Lecture notes in computational science and engineering, vol 50. Springer, Berlin
Cacuci D, Weber C, Oblow E, Marable J (1980) Sensitivity theory for general systems of nonlinear equations. Nucl Sci Eng 88: 88–110
Christianson B (1991) Reverse accumulation and accurate rounding error estimate for Taylor series coefficients. Optim Method Softw 1: 81–94
Corliss, G, Faure, C, Griewank, A, Hascoet, L, Naumann, U (eds) (2002) Automatic differentiation of algorithms—from simulation to optimization. Springer, Berlin
Corliss, G, Griewank, A (eds) (1991) Automatic differentiation: theory, implementation, and application. Proceedings series. SIAM, Philadelphia
Griewank A, Utke J, Walther A (2000) Evaluating higher derivative tensors by forward propagation of univariate Taylor series. Math Comput 69(231): 1117–1130
Griewank A, Walther A (2008) Principles and techniques of algorithmic differentiation, 2nd edn. SIAM, Philadelphia
Higham NJ (2002) Accuracy and stability of numerical algorithms, 2nd edn. SIAM, Philadelphia
Iri M (1991) History of automatic differentiation and rounding error estimation. In: Griewank A, Corliss GF (eds) Automatic differentiation of algorithms: theory, implementation, and application. SIAM, Philadelphia, pp 1–16
Iri M, Tsuchiya T, Hoshi M (1988) Automatic computation of partial derivatives and rounding error estimates with applications to large-scale systems of nonlinear equations. Comput Appl Math 24:365–392. Original Japanese version appeared in J Inf Process 26:1411–1420 (1985)
Lefèvre V, Muller JM, Tisserand A (1998) Toward correctly rounded transcendentals. IEEE Trans Comput 47(11): 1235–1243
Li XS, Demmel JW, Bailey DH, Henry G, Hida Y, Iskandar J, Kahan W, Kapur A, Martin MC, Tung T, Yoo DJ (2002) Design, implementation and testing of extended and mixed precision blas. ACM Trans Math Softw 28:152–205. http://crd.lbl.gov/~xiaoye/XBLAS
Linnainmaa S (1976) Taylor expansion of the accumulated rounding error. BIT (Nordisk Tidskrift for Informationsbehandling) 16(1): 146–160
MathWorks T. Matlab. http://www.mathworks.com/
Michelsen M (1982) The isothermal flash problem. Part I: stability. Fluid Phase Equilibria 9(1): 1–19
Miller W, Wrathall C (1980) Software for Roundoff analysis of matrix algorithms. Academic Press, New York
Muller JM, Brisebarre N, de Dinechin F, Jeannerod CP, Lefèvre V, Melquiond G, Revol N, Stehlé D, Torres S (2010) Handbook of floating-point arithmetic. Birkhäuser, Boston. ACM G.1.0; G.1.2; G.4; B.2.0; B.2.4; F.2.1. ISBN:978-0-8176-4704-9
Ogita T, Rump S, Oishi S (2005) Accurate sum and dot product. SIAM J Sci Comput 26(6): 1955–1988
Ring M (2001) MAPM, a portable arbitrary precision math library in C. C/C++ Users J. http://www.tc.umn.edu/~ringx004/mapm-main.html
Rump S (2001) Rigorous and portable standard functions. BIT 41(3): 540–562
Rump S, Böhm H (1983) Least significant bit evaluation for arithmetic expressions. Computing 30: 189–199
Society IC (2008) IEEE standard for floating-point arithmetic. Tech rep, Microprocessor Standards Committee of the IEEE Computer Society
Speelpenning B (1980) Compiling fast partial derivatives of functions given by algorithms. PhD thesis, University of Illinois at Urbana, Champaign
Wilkinson J (1971) Modern error analysis. SIAM Rev 13: 548–568
Ziv A (1991) Fast evaluation of elementary mathematical functions with correctly rounded last bit. ACM Trans Math Softw 17: 410–423
Author information
Authors and Affiliations
Corresponding author
Additional information
The authors have presented some of the results of this paper during the SCAN 2010 conference in Lyon, September 2010.
Rights and permissions
About this article
Cite this article
Griewank, A., Kulshreshtha, K. & Walther, A. On the numerical stability of algorithmic differentiation. Computing 94, 125–149 (2012). https://doi.org/10.1007/s00607-011-0162-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-011-0162-z
Keywords
- Automatic differentiation
- Forward–backward stability
- Rounding error estimates
- IEEE arithmetic
- Ultimate rounding