Richardson iteration multiplies the residual by a polynomial in A, and converges for symmetric positive definite A exactly when 0 < omega < 2 / lambda_max full
This proof shows: correctness, termination.
Let A∈Rn×n be nonsingular, Ax=b, and let xk, rk=b−Axk and ek=xk−x be the iterate, residual and error after k updates, with parameters ω0,ω1,… (all equal to ω in the stationary case).
Termination. The loop at line L3 runs at most maxiter + 1 times, so the algorithm stops. It reports convergence only when the test at line L4 holds, and then ∥rk∥2≤tol∥b∥2.
Lemma 1 (residual polynomial). ek+1=(I−ωkA)ek and rk+1=(I−ωkA)rk. Hence rk=pk(A)r0 and ek=pk(A)e0 with
pk(t)=j=0∏k−1(1−ωjt),pk(0)=1, and xk∈x0+Kk(A,r0), the Krylov subspace span{r0,Ar0,…,Ak−1r0}.
Proof. Line L5 gives xk+1=xk+ωkrk and rk=A(x−xk)=−Aek, so ek+1=ek−ωkAek. Multiplying by −A, which commutes with I−ωkA, gives the residual recurrence. Induction gives the products. Finally xk−x0=∑j<kωjrj=∑j<kωjpj(A)r0, a polynomial of degree at most k−1 in A applied to r0. □
Lemma 2 (stationary convergence). With constant ω, xk→x for every x0 if and only if ∣1−ωλ∣<1 for every eigenvalue λ of A, that is, every eigenvalue lies in the open disc of center and radius 1/ω. If A is symmetric positive definite with extreme eigenvalues λmin and λmax, this holds if and only if 0<ω<2/λmax.
Proof. ek=Gke0 with G=I−ωA, whose eigenvalues are 1−ωλ. By the spectral radius facts, Gke0→0 for all e0 if and only if ρ(G)<1. For real positive λ, ∣1−ωλ∣<1 means 0<ωλ<2; this holds for all eigenvalues exactly when 0<ω<2/λmax. □
Lemma 3 (rate for SPD A). If A is symmetric positive definite, then ∥rk∥2≤ρk∥r0∥2 and ∥ek∥2≤ρk∥e0∥2 with ρ=maxλ∣1−ωλ∣=max(∣1−ωλmin∣,∣1−ωλmax∣). The minimum of ρ over ω is attained at ω∗=2/(λmin+λmax) and equals (κ−1)/(κ+1) with κ=κ2(A)=λmax/λmin.
Proof. G is symmetric, so ∥G∥2=ρ(G) and ∥Gk∥2≤ρ(G)k. The function ω↦max(∣1−ωλmin∣,∣1−ωλmax∣) is the maximum of a decreasing and an increasing function on the relevant range, so it is smallest where 1−ωλmin=ωλmax−1, which is ω∗, with value (λmax−λmin)/(λmax+λmin). □
Lemma 4 (Chebyshev parameters). Let A be symmetric with eigenvalues in [α,β], 0<α<β, and let ωj=1/τj for the roots τj=2β+α+2β−αcos2m(2j+1)π, j=0,…,m−1. Then after m steps, ∥rm∥2≤∥r0∥2/Tm(β−αβ+α), where Tm is the Chebyshev polynomial, and repeating the cycle c times gives the bound to the power c.
Proof. pm(t)=∏j(1−t/τj) has degree m, roots τj and pm(0)=1, so pm(t)=Tm(β−αβ+α−2t)/Tm(β−αβ+α), because the right side has the same roots, the same degree and the same value at 0. On [α,β] the argument of the numerator lies in [−1,1], where ∣Tm∣≤1. Since A is symmetric, ∥pm(A)∥2=maxλ∣pm(λ)∣≤1/Tm(β−αβ+α). After c cycles r=pm(A)cr0. □
Lemma 5 (finite termination in exact arithmetic). If A is diagonalizable with distinct nonzero eigenvalues λ1,…,λs and ωj=1/λj+1 for j<s, then rs=0.
Proof. ps(A)=∏j(I−A/λj) maps every eigenvector to 0, and the eigenvectors span Rn. □
Conclusion. The algorithm stops; when it reports convergence, ∥ek∥2/∥x∥2≤κ2(A)tol. For symmetric positive definite A and constant 0<ω<2/λmax the iterates converge to x in exact arithmetic for every x0, at the rate of Lemma 3; for ω≥2/λmax or ω≤0 they do not converge for every x0. ■
About floating point. In floating point the computed residual of the iterates settles near a small multiple of u∥A∥∥x∥, which the tests observe; Lemma 5 does not survive rounding, and Lemma 4 holds up to rounding only for small m in the natural order of the parameters.