The adjoint state method computes the gradient of a functional , where solves a PDE. Its cost is one extra linear solve, no matter how many parameters has.

The problem it solves. By the chain rule . Computing needs one PDE solve per direction , that is, per parameter. For pixels that is solves per gradient.

The trick. Using the Lagrangian :

  1. If solves the State Equation, then and for every .
  2. Differentiate in :
  3. Choose such that . This is the Adjoint Equation. Then the expensive term drops out:

Recipe for EIT (per current pattern ):

  1. solve the state equation ;
  2. solve the adjoint equation , with the same matrix, since the problem is self-adjoint;
  3. evaluate (see Functional Derivative of the Data Misfit).

Two solves per pattern give the full gradient. With a regulariser, add . The state and adjoint equations are unaffected because does not depend on .

¾stateumis¯tJ(u)adjoint¸rJ=¡ru¢r¸¾stateumis¯tJ(u)adjoint¸rJ=¡ru¢r¸

This is the continuous analogue of reverse-mode automatic differentiation (see Automatic Differentiation vs Adjoint Methods).

In ModularEIT.jl: AdjointStateObjective, value_and_gradient!.

References

  1. R.-E. Plessix (2006). A review of the adjoint-state method for computing the gradient of a functional with geophysical applications. Geophys. J. Int. 167(2), 495–503. doi:10.1111/j.1365-246X.2006.02978.x
  2. M. Hinze, R. Pinnau, M. Ulbrich, S. Ulbrich (2009). Optimization with PDE Constraints. Springer. doi:10.1007/978-1-4020-8839-1
  3. A. M. Bradley (2024). PDE-constrained optimization and the adjoint method. Lecture notes, Stanford. cs.stanford.edu/~ambrad/adjoint_tutorial.pdf
  4. D. Lahaye, W. Mulckhuyse (2012). Adjoint sensitivity in PDE constrained least squares problems as a multiphysics problem. COMPEL 31(3), 895–903. doi:10.1108/03321641211209780
  5. F. J. Margotti (2015). On Inexact Newton Methods for Inverse Problems in Banach Spaces. PhD thesis, KIT. doi:10.5445/IR/1000048606