Automating Steady and Unsteady Adjoints: Efficiently Utilizing Implicit and Algorithmic Differentiation
Andrew Ning, Taylor McDonnell

TL;DR
This paper presents methods to automate the computation of derivatives in complex engineering analyses by combining implicit differentiation with algorithmic differentiation, resulting in significant speed-ups and minimal code modifications.
Contribution
It introduces a general AD rule leveraging implicit differentiation, automates unsteady adjoints efficiently, and accelerates explicit differential equation solvers, enhancing derivative computation in complex systems.
Findings
Order of magnitude speed-ups demonstrated
Minimal code changes required
Effective for problems of various sizes
Abstract
Algorithmic differentiation (AD) has become increasingly capable and straightforward to use. However, AD is inefficient when applied directly to solvers, a feature of most engineering analyses. We can leverage implicit differentiation to define a general AD rule, making adjoints automatic. Furthermore, we can leverage the structure of differential equations to automate unsteady adjoints in a memory efficient way. We also derive a technique to speed up explicit differential equation solvers, which have no iterative solver to exploit. All of these techniques are demonstrated on problems of various sizes, showing order of magnitude speed-ups with minimal code changes. Thus, we can enable users to easily compute accurate derivatives across complex analyses with internal solvers, or in other words, automate adjoints using a combination of AD and implicit differentiation.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical methods for differential equations · Advanced Optimization Algorithms Research · Matrix Theory and Algorithms
