Skip to content

Chapter 4. Core Theory of Automatic Differentiation

Automatic differentiation is built on a simple observation: a complicated derivative can be computed by composing many small local derivatives. Instead of manipulating a full...

SectionTitle
1Chapter 4. Core Theory of Automatic Differentiation
2Elementary Operations
3Forward Accumulation
4Reverse Accumulation
5Mixed-Mode Differentiation
6Computational Complexity
7Numerical Exactness up to Floating Point
8AD as Program Transformation
9Summary and Synthesis
10Tangent Propagation
Chapter 4. Core Theory of Automatic DifferentiationAutomatic differentiation is built on a simple observation: a complicated derivative can be computed by composing many small local derivatives. Instead of manipulating a full...
4 min
Elementary OperationsAutomatic differentiation reduces differentiation to a finite collection of elementary operations. Every program, regardless of complexity, is decomposed into primitive...
5 min
Forward AccumulationForward accumulation is the forward-mode form of automatic differentiation. It propagates derivative information in the same order as ordinary program evaluation. Each...
6 min
Reverse AccumulationReverse accumulation is the reverse-mode form of automatic differentiation. It propagates derivative information backward from outputs to inputs.
6 min
Mixed-Mode DifferentiationMixed-mode differentiation combines forward accumulation and reverse accumulation in the same derivative computation. It is used when neither pure forward mode nor pure...
5 min
Computational ComplexityAutomatic differentiation is fundamentally a computational technique. Its practical importance comes from the fact that derivatives can often be computed with asymptotic cost...
6 min
Numerical Exactness up to Floating PointAutomatic differentiation computes derivatives exactly with respect to the executed floating point program. This distinguishes AD from numerical differentiation, which...
6 min
AD as Program TransformationAutomatic differentiation can be understood as a transformation from one program into another program.
8 min
Summary and SynthesisAutomatic differentiation is a method for computing derivatives by transforming programs into derivative-propagating computations. It does not approximate derivatives...
5 min
Tangent PropagationForward mode automatic differentiation computes derivatives by propagating tangent values alongside ordinary values. The ordinary value is called the primal. The derivative...
4 min