Computing Library › Scientific Ml
Scientific Ml

The Adjoint Method

The adjoint method computes the gradient of an objective with respect to many parameters at a cost independent of the number of parameters.

The scaling problem it solves

Gradient-based design must know how an objective changes as each of possibly thousands of parameters varies. Computing this by finite differences requires one extra simulation per parameter, which is hopeless at scale. The adjoint method computes the entire gradient with one forward solve and one backward, adjoint, solve, regardless of how many parameters there are.

Forward and adjoint

Kronos motion — many body

Given a system that solves state equations for a state u depending on parameters p, and an objective J(u,p), the adjoint method introduces an auxiliary adjoint variable. Solving the adjoint equation, which runs backward and is driven by the sensitivity of J to the state, yields the gradient of J with respect to p through a simple final combination. The forward solve fixes the state; the adjoint solve fixes the sensitivities.

Relation to backpropagation

Backpropagation in neural networks is the adjoint method applied to the composition of layers. Reverse-mode automatic differentiation and the discrete adjoint of a solver compute the same quantity. This equivalence is why differentiable simulators and neural networks can be trained with the same optimizers and the same chain-rule machinery.

Continuous versus discrete adjoint

Where it is used

Adjoint methods are standard in aerodynamic shape optimization, seismic inversion, and any design task with a scalar objective and many parameters. In magnetic-confinement design, adjoint techniques help optimize coil shapes and plasma profiles efficiently, complementing learned surrogates that provide fast approximate evaluations during exploratory sweeps.