Gauss–Jacobi Method

Summary

Jacobi iteration updates every unknown from the previous full vector. It is simple to parallelize and converges when the iteration matrix has spectral radius less than one (strict diagonal dominance is a common sufficient test).

Prerequisites

Problem Type

Iteratively solve Ax=b with aii0 .

Method Definition

Write A=D+L+U with D diagonal and L,U strict lower/upper parts. Jacobi uses

x(k+1)=D1(b(L+U)x(k)),

or componentwise

xi(k+1)=1aii(bijiaijxj(k)).

Iteration matrix: TJ=D1(L+U)=ID1A .[1]

Assumptions / Requirements

Algorithm

  1. Choose x(0) , tolerance ε , max iterations.
  2. For each i , compute xinew from all xjold , ji .
  3. Set xoldxnew only after all i are updated.
  4. Stop on xnewxold<ε or residual test.

Convergence

Converges for every start iff ρ(TJ)<1 . Strict diagonal dominance of A is sufficient. See Sufficient Convergence Condition for Gauss-Jacobi.

Error / Accuracy

Use infinity-norm step and residual bAx .

Worked Example

{2x1+x2=8x1+3x2=10x1(k+1)=12(8x2(k))x2(k+1)=13(10x1(k))

With x(0)=(0,0) :

k x1 x2
0 0 0
1 4 10/33.333
2 2.333 2
3 3 2.556
4 2.722 2.333

True solution: (x1,x2)=(14/5,12/5)=(2.8,2.4) . Residual of iterates shrinks toward zero.

Common Failure Modes

Connections

References


  1. Burden & Faires, Numerical Analysis, Jacobi iteration; NIST DLMF Ch. 3, https://dlmf.nist.gov/3 ↩︎