Results 1 
6 of
6
ADIC: An Extensible Automatic Differentiation Tool for ANSIC
, 1997
"... . In scientific computing, we often require the derivatives @f=@x of a function f expressed as a program with respect to some input parameter(s) x, say. Automatic differentiation (AD) techniques augment the program with derivative computation by applying the chain rule of calculus to elementary oper ..."
Abstract

Cited by 80 (14 self)
 Add to MetaCart
. In scientific computing, we often require the derivatives @f=@x of a function f expressed as a program with respect to some input parameter(s) x, say. Automatic differentiation (AD) techniques augment the program with derivative computation by applying the chain rule of calculus to elementary operations in an automated fashion. This article introduces ADIC (Automatic Differentiation of C), a new AD tool for ANSIC programs. ADIC is currently the only tool for ANSIC that employs a sourcetosource program transformation approach; that is, it takes a C code and produces a new C code that computes the original results as well as the derivatives. We first present ADIC "by example" to illustrate the functionality and ease of use of ADIC and then describe in detail the architecture of ADIC. ADIC incorporates a modular design that provides a foundation for both rapid prototyping of better AD algorithms and their sharing across AD tools for different languages. A component architecture call...
The complexstep derivative approximation
 ACM Transactions on Mathematical Software
"... The complexstep derivative approximation and its application to numerical algorithms are presented. Improvements to the basic method are suggested that further increase its accuracy and robustness and unveil the connection to algorithmic differentiation theory. A general procedure for the implement ..."
Abstract

Cited by 29 (4 self)
 Add to MetaCart
The complexstep derivative approximation and its application to numerical algorithms are presented. Improvements to the basic method are suggested that further increase its accuracy and robustness and unveil the connection to algorithmic differentiation theory. A general procedure for the implementation of the complexstep method is described in detail and a script is developed that automates its implementation. Automatic implementations of the complexstep method for Fortran and C/C++ are presented and compared to existing algorithmic differentiation tools. The complexstep method is tested in two large multidisciplinary solvers and the resulting sensitivities are compared to results given by finite differences. The resulting sensitivities are shown to be as accurate as the analyses. Accuracy, robustness, ease of implementation and maintainability make these complexstep derivative approximation tools very attractive options for sensitivity analysis.
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 1 (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.
DIAMANLAB – AN INTERACTIVE TAYLORBASED CONTINUATION TOOL IN MATLAB
, 2013
"... Abstract. With the interactive continuation tool Diamanlab, solution branches of a parametric nonlinear problem are computed as sets of Taylorbased solutions stored in checkpoints. Theoretical aspects and implementation are generic, taking advantage of the efficient higherorder asymptotic numerica ..."
Abstract
 Add to MetaCart
Abstract. With the interactive continuation tool Diamanlab, solution branches of a parametric nonlinear problem are computed as sets of Taylorbased solutions stored in checkpoints. Theoretical aspects and implementation are generic, taking advantage of the efficient higherorder asymptotic numerical method in its Diamant form that interprets the generic nonlinear problem as a sequence of linear ones, of Automatic Differentiation (AD) for Taylor coefficient computations, of objectoriented programming and graphical user interface capabilities of MATLAB. The implementation involves four classes devoted to the interactive management of the continuation, to the manipulation of a generic system of nonlinear equations, to the checkpoint management and to higherorder AD, respectively. In practice, any analytical nonlinear system of equation may be implemented in a natural way as a subclass of the generic system class, then solved in an easy manner using the graphical user interface. A benchmark of classical nonlinear problems is provided to serve as a basis for the implementation userdefined problems. Diamanlab usage and bifurcation detection are discussed on the Brusselator problem whose solution involves three interconnected loops. Additional userdefined graphics are presented for the Bratu problem. Asymptotic numerical method, automatic differentiation, MANLAB, Diamant, graphical user interface 1.
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.
39 Diamanlab – An interactive Taylorbased continuation tool in MATLAB ISABELLE CHARPENTIER, Centre National de la Recherche Scientifique
, 2013
"... With the interactive continuation tool Diamanlab, solution branches of a parametric nonlinear problem are computed as sets of Taylorbased solutions stored in checkpoints. Theoretical aspects and implementation are generic, taking advantage of the efficient higherorder asymptotic numerical method i ..."
Abstract
 Add to MetaCart
With the interactive continuation tool Diamanlab, solution branches of a parametric nonlinear problem are computed as sets of Taylorbased solutions stored in checkpoints. Theoretical aspects and implementation are generic, taking advantage of the efficient higherorder asymptotic numerical method in its Diamant form that interprets the generic nonlinear problem as a sequence of linear ones, of Automatic Differentiation (AD) for Taylor coefficient computations, of objectoriented programming and graphical user interface capabilities of MATLAB. The implementation involves four classes devoted to the interactive management of the continuation, to the manipulation of a generic system of nonlinear equations, to the checkpoint management and to higherorder AD, respectively. In practice, any analytical nonlinear system of equation may be implemented in a natural way as a subclass of the generic system class, then solved in an easy manner using the graphical user interface. A benchmark of classical nonlinear problems is provided to serve as a basis for the implementation userdefined problems. Diamanlab usage and bifurcation detection are discussed on the Brusselator problem whose solution involves three interconnected loops. Additional userdefined graphics are presented for the Bratu problem.