Gauss–Seidel Method

Summary

Gauss–Seidel is the in-place sibling of Jacobi: each new component is used immediately in later equations of the same sweep. It often converges faster than Jacobi on the same matrix, but its iteration matrix differs.

Prerequisites

Problem Type

Iteratively solve Ax=b with aii0 .

Method Definition

With A=D+L+U (standard splitting),

(D+L)x(k+1)=bUx(k),

componentwise

xi(k+1)=1aii(bij=1i1aijxj(k+1)j=i+1naijxj(k)).

Iteration matrix: TGS=(D+L)1U .[1]

Assumptions / Requirements

Algorithm

  1. Start from x(0) .
  2. For i=1,,n , overwrite xi with the formula above.
  3. After a full sweep, test x(k+1)x(k) and/or residual.

Convergence

βi=1|aii|(j<i|aij|βj+j>i|aij|)

If maxiβi<1 , Gauss–Seidel converges.

Error / Accuracy

Same practical stops as Jacobi: step size and residual norms.

Worked Example

A=(4111522310),b=(786)

Sassenfeld:

β1=1+14=0.5,β2=10.5+25=0.5,β3=20.5+30.510=0.25.

maxβi=0.5<1 ⇒ Gauss–Seidel converges.

For comparison only, Jacobi’s TJ=D1(L+U) has

TJ=0.6<1,

so Jacobi also converges here—but that bound is about Jacobi, not a substitute for TGS .

One GS sweep from x(0)=0 :

x1=74=1.75,x2=81.755=1.95,x3=621.753(1.95)10=0.835.

Common Failure Modes

Connections

References


  1. Burden & Faires, Numerical Analysis, Gauss–Seidel and Sassenfeld; NIST DLMF Ch. 3, https://dlmf.nist.gov/3 ↩︎