The adjoint state method is a
numerical method
In numerical analysis, a numerical method is a mathematical tool designed to solve numerical problems. The implementation of a numerical method with an appropriate convergence check in a programming language is called a numerical algorithm.
Mathem ...
for efficiently computing the
gradient of a
function or
operator
Operator may refer to:
Mathematics
* A symbol indicating a mathematical operation
* Logical operator or logical connective in mathematical logic
* Operator (mathematics), mapping that acts on elements of a space to produce elements of another ...
in a
numerical optimization problem
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
. It has applications in
geophysics,
seismic imaging,
photonics and more recently in
neural networks
A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
.
The adjoint state space is chosen to simplify the physical interpretation of equation
constraint
Constraint may refer to:
* Constraint (computer-aided design), a demarcation of geometrical characteristics between two or more entities or solid modeling bodies
* Constraint (mathematics), a condition of an optimization problem that the solution ...
s.
[Plessix, R-E. "A review of the adjoint-state method for computing the gradient of a functional with geophysical applications." Geophysical Journal International,2006,167(2): 495-503]
free access on GJI website
/ref>
Adjoint state techniques allow the use of integration by parts, resulting in a form which explicitly contains the physically interesting quantity. An adjoint state equation is introduced, including a new unknown variable.
The adjoint method formulates the gradient of a function towards its parameters in a constraint optimization form. By using the dual form of this constraint optimization problem, it can be used to calculate the gradient very fast. A nice property is that the number of computations is independent of the number of parameters for which you want the gradient.
The adjoint method is derived from the dual problem and is used e.g. in the Landweber iteration method.
The name adjoint state method refers to the dual
Dual or Duals may refer to:
Paired/two things
* Dual (mathematics), a notion of paired concepts that mirror one another
** Dual (category theory), a formalization of mathematical duality
*** see more cases in :Duality theories
* Dual (grammatical ...
form of the problem, where the adjoint matrix
In mathematics, the conjugate transpose, also known as the Hermitian transpose, of an m \times n complex matrix \boldsymbol is an n \times m matrix obtained by transposing \boldsymbol and applying complex conjugate on each entry (the complex ...
is used.
When the initial problem consists of calculating the product and must satisfy , the dual problem can be realized as calculating the product , where must satisfy .
And
is called the adjoint state vector.
General case
The original adjoint calculation method goes back to Jean Cea, with the use of the lagrangian of the optimization problem to compute the derivative of a functional
Functional may refer to:
* Movements in architecture:
** Functionalism (architecture)
** Form follows function
* Functional group, combination of atoms within molecules
* Medical conditions without currently visible organic basis:
** Functional sy ...
with respect to a shape parameter.
For a state variable , an optimization variable , an objective functional is defined. The state variable is often implicitly dependant on through the (direct) state equation (usually the weak form of a partial differential equation
In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a Multivariable calculus, multivariable function.
The function is often thought of as an "unknown" to be sol ...
), thus the considered objective is . Usually, one would be interested in calculating using the chain rule:
:
Unfortunately, the term is often very hard to differentiate analytically since the dependance is defined through an implicit equation. The lagrangian functional can be used as a workaround for this issue. Since the state equation can be considered as a constraint in the minimization of , the problem
:
:
has an associate lagrangian functional defined by
:
where is a Lagrange multiplier or adjoint state variable and is an inner product on . The method of Lagrange multipliers states that a solution to the problem has to be a stationary point of the lagrangian, namely
:
where is the Gateaux derivative of with respect to in the direction . The last equation is equivalent to , the state equation, to which the solution is . The first equation is the so-called adjoint state equation,
:
because the operator involved is the adjoint operator of , . Resolving this equation yields the adjoint state .
The gradient of the quantity of interest with respect to is (the second equation with and ), thus it can be easily identified by subsequently resolving the direct and adjoint state equations. The process is even simpler when the operator is self-adjoint or symmetric since the direct and adjoint state equations differ only by their right-hand side.
Example: Linear case
In a real finite dimensional linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear function#As a polynomial function, li ...
context, the objective function could be , for , and , and let the state equation be , with and .
The lagrangian function of the problem is , where .
The derivative of with respect to yields the state equation as shown before, and the state variable is . The derivative of with respect to is equivalent to the adjoint equation, which is, for every ,
:
Thus, we can write symbolically . The gradient would be
:
where is a third order tensor, is the dyadic product between the direct and adjoint states and denotes a double tensor contraction. It is assumed that has a known analytic expression that can be differentiated easily.
Numerical consideration for the self-adjoint case
If the operator was self-adjoint, , the direct state equation and the adjoint state equation would have the same left-hand side. In the goal of never inverting a matrix, which is a very slow process numerically, a LU decomposition can be used instead to solve the state equation, in operations for the decomposition and operations for the resolution. That same decomposition can then be used to solve the adjoint state equation in only operations since the matrices are the same.
See also
* Backpropagation
* Adjoint equation
* Shape optimization
* Method of Lagrange multipliers
References
External links
* A well written explanation by Errico
What is an adjoint Model?
* Another well written explanation with worked examples, written by Bradle
* More technical explanation:
review
of the adjoint-state method for computing the gradient of a functional with geophysical applications
* MIT cours
* MIT note
Numerical analysis
{{Mathapplied-stub