Automatic differentiation of iterative processes
ICCAM'92 Proceedings of the fifth international conference on Computational and applied mathematics
Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++
ACM Transactions on Mathematical Software (TOMS)
SIAM Journal on Scientific Computing
ADIC: an extensible automatic differentiation tool for ANSI-C
Software—Practice & Experience
Recipes for adjoint code construction
ACM Transactions on Mathematical Software (TOMS)
Automatic differentiation of numerical integration algorithms
Mathematics of Computation
ADMIT-1: automatic differentiation and MATLAB interface toolbox
ACM Transactions on Mathematical Software (TOMS)
A case study of computational differentiation applied to neutron scattering
Automatic differentiation of algorithms
SIAM Journal on Scientific Computing
Sensitivity Analysis of Turbulence Models Using Automatic Differentiation
SIAM Journal on Scientific Computing
Cheap Second Order Directional Derivatives of Stiff ODE Embedded Functionals
SIAM Journal on Scientific Computing
Adjoint sensitivity analysis of regional air quality models
Journal of Computational Physics
Automatic differentiation of explicit Runge-Kutta methods for optimal control
Computational Optimization and Applications
Discrete second order adjoints in atmospheric chemical transport modeling
Journal of Computational Physics
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
On the properties of runge-kutta discrete adjoints
ICCS'06 Proceedings of the 6th international conference on Computational Science - Volume Part IV
Hi-index | 7.29 |
We investigate the behavior of adaptive time stepping numerical algorithms under the reverse mode of automatic differentiation (AD). By differentiating the time step controller and the error estimator of the original algorithm, reverse mode AD generates spurious adjoint derivatives of the time steps. The resulting discrete adjoint models become inconsistent with the adjoint ODE, and yield incorrect derivatives. To regain consistency, one has to cancel out the contributions of the non-physical derivatives in the discrete adjoint model. We demonstrate that the discrete adjoint models of one-step, explicit adaptive algorithms, such as the Runge-Kutta schemes, can be made consistent with their continuous counterparts using simple code modifications. Furthermore, we extend the analysis to cover second order adjoint models derived through an extra forward mode differentiation of the discrete adjoint code. Several numerical examples support the mathematical derivations.