Neha Patil (Editor)

Uzawa iteration

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In numerical mathematics, the Uzawa iteration is an algorithm for solving saddle point problems. It is named after Hirofumi Uzawa and was originally introduced in the context of concave programming.

Contents

Basic idea

We consider a saddle point problem of the form

( A B B ) ( x 1 x 2 ) = ( b 1 b 2 ) ,

where A is a symmetric positive-definite matrix. Multiplying the first row by B A 1 and subtracting from the second row yields the upper-triangular system

( A B S ) ( x 1 x 2 ) = ( b 1 b 2 B A 1 b 1 ) ,

where S := B A 1 B denotes the Schur complement. Since S is symmetric positive-definite, we can apply standard iterative methods like the gradient descent method or the conjugate gradient method to

S x 2 = B A 1 b 1 b 2

in order to compute x 2 . The vector x 1 can be reconstructed by solving

A x 1 = b 1 B x 2 .

It is possible to update x 1 alongside x 2 during the iteration for the Schur complement system and thus obtain an efficient algorithm.

Implementation

We start the conjugate gradient iteration by computing the residual

r 2 := B A 1 b 1 b 2 S x 2 = B A 1 ( b 1 B x 2 ) b 2 = B x 1 b 2 ,

of the Schur complement system, where

x 1 := A 1 ( b 1 B x 2 )

denotes the upper half of the solution vector matching the initial guess x 2 for its lower half. We complete the initialization by choosing the first search direction

p 2 := r 2 .

In each step, we compute

a 2 := S p 2 = B A 1 B p 2 = B p 1

and keep the intermediate result

p 1 := A 1 B p 2

for later. The scaling factor is given by

α := p 2 r 2 / p 2 a 2

and leads to the updates

x 2 := x 2 + α p 2 , r 2 := r 2 α a 2 .

Using the intermediate result p 1 saved earlier, we can also update the upper part of the solution vector

x 1 := x 1 α p 1 .

Now we only have to construct the new search direction by the Gram–Schmidt process, i.e.,

β := r 2 a 2 / p 2 a 2 , p 2 := r 2 β p 2 .

The iteration terminates if the residual r 2 has become sufficiently small or if the norm of p 2 is significantly smaller than r 2 indicating that the Krylov subspace has been almost exhausted.

Modifications and extensions

If solving the linear system A x = b exactly is not feasible, inexact solvers can be applied.

If the Schur complement system is ill-conditioned, preconditioners can be employed to improve the speed of convergence of the underlying gradient method.

Inequality constraints can be incorporated, e.g., in order to handle obstacle problems.

References

Uzawa iteration Wikipedia