Efficient and automatic implementation of the adjoint state method
Document Type
Article
Publication Date
3-2002
Abstract
Combination of object-oriented programming with automatic differentiation techniques facilitates the solution of data fitting, control, and design problems driven by explicit time stepping schemes for initial-boundary value problems. The C++ class fdtd takes a complete specification of a single step, along with some associated code, and assembles from it a complete simulator, along with the linearized and adjoint simulations. The result is a (nonlinear) operator in the sense of the Hilbert Class Library (HCL), a C++ software package for optimization. The HCL operator so produced links directly with any of the HCL optimization algorithms. Moreover the performance of simulators constructed in this way is equivalent to that of optimized Fortran implementations.
Publication Title
ACM Transactions on Mathematical Software
Recommended Citation
Gockenbach, M.,
Reynolds, D.,
Shen, P.,
&
Symes, W. W.
(2002).
Efficient and automatic implementation of the adjoint state method.
ACM Transactions on Mathematical Software,
28(1), 22-44.
http://doi.org/10.1145/513001.513003
Retrieved from: https://digitalcommons.mtu.edu/math-fp/30
Publisher's Statement
Copyright 2002 ACM. Publisher's version of record: https://dx.doi.org/10.1145/513001.513003