Results 1 
4 of
4
Jacobian code generated by source transformation and vertex elimination can be as efficient as handcoding
 ACM Transactions on Mathematical Software
, 2004
"... This paper presents the first extended set of results from EliAD, a sourcetransformation implementation of the vertexelimination Automatic Differentiation approach to calculating the Jacobians of functions defined by Fortran code (Griewank and Reese, Automatic Differentiation of Algorithms: Theory ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
This paper presents the first extended set of results from EliAD, a sourcetransformation implementation of the vertexelimination Automatic Differentiation approach to calculating the Jacobians of functions defined by Fortran code (Griewank and Reese, Automatic Differentiation of Algorithms: Theory, Implementation, and Application, 1991, pp. 126135). We introduce the necessary theory in terms of well known algorithms of numerical linear algebra applied to the linear, extended Jacobian system that prescribes the relationship between the derivatives of all variables in the function code. Using an example, we highlight the potential for numerical instability in vertexelimination. We describe the source transformation implementation of our tool EliAD and present results from 5 test cases, 4 of which are taken from the MINPACK2 collection (Averick et al, Report ANL/MCSTM150, 1992) and for which handcoded Jacobian codes are available. On 5 computer/compiler platforms, we show that the Jacobian code obtained by EliAD is as efficient as handcoded Jacobian code. It is also between 2 to 20 times more efficient than that produced by current, state of the art, Automatic Differentiation tools even when such tools make use of sophisticated techniques such as sparse Jacobian compression. We demonstrate the effectiveness of reverseordered preelimination from the (successively updated) extended Jacobian
Development and first applications of TAC++, in
 Utke (Eds.), Advances in Automatic Differentiation
, 2008
"... Summary. The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by sourcetosource translation. We have transferred to TAC++ a subset of the algorithms from its wellestablished Fortran equivalent, Transf ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Summary. The paper describes the development of the software tool Transformation of Algorithms in C++ (TAC++) for automatic differentiation (AD) of C(++) codes by sourcetosource translation. We have transferred to TAC++ a subset of the algorithms from its wellestablished 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.
Towards a tool for forward and reverse mode source to source transformation in C++
"... The paper presents a feasibility study for TAC++, the C++equivalent of Transformation of Algorithm in Fortran (TAF). The goal of this study is to design an ADtool capable of generating the adjoint of a simple but nontrivial C code. The purpose of this new tool is threefold: First, we demonstrate ..."
Abstract
 Add to MetaCart
The paper presents a feasibility study for TAC++, the C++equivalent of Transformation of Algorithm in Fortran (TAF). The goal of this study is to design an ADtool capable of generating the adjoint of a simple but nontrivial C code. The purpose of this new tool is threefold: First, we demonstrate the feasibility of reverse mode di#erentiation in C. Second, the tool serves as a starting point for development of TAC++. Third, the tool is valuable in itself, as it can di#erentiate simple C codes and can support handcoders of large adjoint C/C++ codes. We have transfered a subset of TAF algorithms to the new tool, including the E#cient Recomputation Algorithm (ERA). Our test code is a C version of the Roe solver in the CFD code EULSOLDO. For a gradient evaluation, the automatically generated adjoint takes the CPU time of about 3.6 to 4.3 function evaluations.
Optimal Sizing and Shape Optimization in Structural Mechanics
, 2003
"... This paper is devoted to optimal sizing as well as to shape optimization. As a model example we consider the problem of minimizing the mass of the frame of an injection moulding machine. The deformation of the frame is described by a generalized plane stress state wherein the varying thickness is in ..."
Abstract
 Add to MetaCart
This paper is devoted to optimal sizing as well as to shape optimization. As a model example we consider the problem of minimizing the mass of the frame of an injection moulding machine. The deformation of the frame is described by a generalized plane stress state wherein the varying thickness is incorporated in case of the optimal sizing. This constrained nonlinear optimization problem is solved by sequential quadratic programming (SQP) which requires gradients of the objective and the constraints with respect to the design parameters. As long as the number of design parameters is small, finite differences may be used. In order to handle also several hundreds of varying thickness parameters, we use the reverse mode of algorithmic (also called automatic) differentiation of the function evaluation. This approach works fine but requires huge memory and disk capacities. Furthermore, the use of iterative solvers for the governing state equations is limited. Therefore, we combine it with the adjoint method to get a fast and flexible gradient evaluation procedure. The last approach is especially useful in case of a shape optimization. The presented numerical results show the potential of this approach and imply that this method can also be used for finding an initial guess for a shape optimization. 1