The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by source-to-source translation. We have transferred to TAC++ a subset of the algorithms from its well-established Fortran equivalent, Transformation of Algorithms in Fortran (TAF). TAC++ features forward and reverse as well as scalar and vector modes of AD. Efficient higher order derivative code is generated by multiple application of TAC++. High performance of the generated derivate code is demonstrated for five examples from application fields covering remote sensing, computer vision, computational finance, and aeronautics. For instance, the run time of the adjoints for simultaneous evaluation of the function and its gradient is between 1.9 and 3.9 times slower than that of the respective function codes. Options for further enhancement are discussed. © 2008 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Voßbeck, M., Giering, R., & Kaminski, T. (2008). Development and first applications of TAC++. In Lecture Notes in Computational Science and Engineering (Vol. 64 LNCSE, pp. 187–197). https://doi.org/10.1007/978-3-540-68942-3_17
Mendeley helps you to discover research relevant for your work.