@Article{Naumann:2015:ADN, author = "Uwe Naumann and Johannes Lotz and Klaus Leppkes and Markus Towara", title = "Algorithmic Differentiation of Numerical Methods: Tangent and Adjoint Solvers for Parameterized Systems of Nonlinear Equations", journal = "{ACM} Transactions on Mathematical Software", volume = "41", number = "4", accepted = "11 December 2014", upcoming = "true", abstract = " We discuss software tool support for the Algorithmic Differentiation (also known as Automatic Differentiation; AD) of numerical simulation programs that contain calls to solvers for parameterized systems of $n$ nonlinear equations. The local computational overhead as well as the additional memory requirement for the computation of directional derivatives or adjoints of the solution of the nonlinear system with respect to the parameters can quickly become prohibitive for large values of $n$. Both are reduced drastically by analytical (in the following also: symbolic) approaches to differentiation of the underlying numerical methods. Following the discussion of the proposed terminology we develop the algorithmic formalism building on prior work by other colleagues and we present an implementation based on the AD software \texttt{dco/c++}. A representative case study supports the theoretically obtained computational complexity results with practical run time measurements.", }