Automatic differentiation and the adjoint state method
暂无分享,去创建一个
The C++ class fdtd uses automatic differentiation techniques to implement an abstract time stepping scheme in an object-oriented fashion, making it possible to use the resulting simulator to solve inverse or control problems. The class takes a complete specification of a single step of the scheme, 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, a C++ package for optimization. Performance is equivalent to that of optimized Fortran implementations.