Algorithm Search⌘K

Proofs: Richardson iteration

These are the human proofs of Richardson iteration, at full length.

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×nA \in \mathbb{R}^{n \times n} be nonsingular, Ax=bA x = b, and let xkx_k, rk=b−Axkr_k = b - A x_k and ek=xk−xe_k = x_k - x be the iterate, residual and error after kk updates, with parameters ω0,ω1,…\omega_0, \omega_1, \ldots (all equal to ω\omega 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\|r_k\|_2 \le \mathrm{tol}\,\|b\|_2.

Lemma 1 (residual polynomial). ek+1=(I−ωkA)eke_{k+1} = (I - \omega_k A) e_k and rk+1=(I−ωkA)rkr_{k+1} = (I - \omega_k A) r_k. Hence rk=pk(A)r0r_k = p_k(A) r_0 and ek=pk(A)e0e_k = p_k(A) e_0 with

pk(t)=∏j=0k−1(1−ωjt),pk(0)=1,p_k(t) = \prod_{j=0}^{k-1}(1 - \omega_j t), \qquad p_k(0) = 1,

and xk∈x0+Kk(A,r0)x_k \in x_0 + \mathcal{K}_k(A, r_0), the Krylov subspace span{r0,Ar0,…,Ak−1r0}\mathrm{span}\{r_0, A r_0, \ldots, A^{k-1} r_0\}.

Proof. Line L5 gives xk+1=xk+ωkrkx_{k+1} = x_k + \omega_k r_k and rk=A(x−xk)=−Aekr_k = A(x - x_k) = -A e_k, so ek+1=ek−ωkAeke_{k+1} = e_k - \omega_k A e_k. Multiplying by −A-A, which commutes with I−ωkAI - \omega_k A, gives the residual recurrence. Induction gives the products. Finally xk−x0=∑j<kωjrj=∑j<kωjpj(A)r0x_k - x_0 = \sum_{j<k} \omega_j r_j = \sum_{j<k} \omega_j p_j(A) r_0, a polynomial of degree at most k−1k-1 in AA applied to r0r_0. □\square

Lemma 2 (stationary convergence). With constant ω\omega, xk→xx_k \to x for every x0x_0 if and only if ∣1−ωλ∣<1|1 - \omega\lambda| < 1 for every eigenvalue λ\lambda of AA, that is, every eigenvalue lies in the open disc of center and radius 1/ω1/\omega. If AA is symmetric positive definite with extreme eigenvalues λmin⁡\lambda_{\min} and λmax⁡\lambda_{\max}, this holds if and only if 0<ω<2/λmax⁡0 < \omega < 2/\lambda_{\max}.

Proof. ek=Gke0e_k = G^k e_0 with G=I−ωAG = I - \omega A, whose eigenvalues are 1−ωλ1 - \omega\lambda. By the spectral radius facts, Gke0→0G^k e_0 \to 0 for all e0e_0 if and only if ρ(G)<1\rho(G) < 1. For real positive λ\lambda, ∣1−ωλ∣<1|1 - \omega\lambda| < 1 means 0<ωλ<20 < \omega\lambda < 2; this holds for all eigenvalues exactly when 0<ω<2/λmax⁡0 < \omega < 2/\lambda_{\max}. □\square

Lemma 3 (rate for SPD AA). If AA is symmetric positive definite, then ∥rk∥2≤ρk∥r0∥2\|r_k\|_2 \le \rho^k \|r_0\|_2 and ∥ek∥2≤ρk∥e0∥2\|e_k\|_2 \le \rho^k\|e_0\|_2 with ρ=max⁡λ∣1−ωλ∣=max⁡(∣1−ωλmin⁡∣,∣1−ωλmax⁡∣)\rho = \max_\lambda |1 - \omega\lambda| = \max(|1 - \omega\lambda_{\min}|, |1 - \omega\lambda_{\max}|). The minimum of ρ\rho over ω\omega is attained at ω∗=2/(λmin⁡+λmax⁡)\omega^* = 2/(\lambda_{\min} + \lambda_{\max}) and equals (κ−1)/(κ+1)(\kappa - 1)/(\kappa + 1) with κ=κ2(A)=λmax⁡/λmin⁡\kappa = \kappa_2(A) = \lambda_{\max}/\lambda_{\min}.

Proof. GG is symmetric, so ∥G∥2=ρ(G)\|G\|_2 = \rho(G) and ∥Gk∥2≤ρ(G)k\|G^k\|_2 \le \rho(G)^k. The function ω↦max⁡(∣1−ωλmin⁡∣,∣1−ωλmax⁡∣)\omega \mapsto \max(|1 - \omega\lambda_{\min}|, |1 - \omega\lambda_{\max}|) is the maximum of a decreasing and an increasing function on the relevant range, so it is smallest where 1−ωλmin⁡=ωλmax⁡−11 - \omega\lambda_{\min} = \omega\lambda_{\max} - 1, which is ω∗\omega^*, with value (λmax⁡−λmin⁡)/(λmax⁡+λmin⁡)(\lambda_{\max} - \lambda_{\min})/(\lambda_{\max} + \lambda_{\min}). □\square

Lemma 4 (Chebyshev parameters). Let AA be symmetric with eigenvalues in [α,β][\alpha, \beta], 0<α<β0 < \alpha < \beta, and let ωj=1/τj\omega_j = 1/\tau_j for the roots τj=β+α2+β−α2cos⁡(2j+1)π2m\tau_j = \frac{\beta + \alpha}{2} + \frac{\beta - \alpha}{2}\cos\frac{(2j+1)\pi}{2m}, j=0,…,m−1j = 0, \ldots, m-1. Then after mm steps, ∥rm∥2≤∥r0∥2/Tm(β+αβ−α)\|r_m\|_2 \le \|r_0\|_2 / T_m\big(\frac{\beta + \alpha}{\beta - \alpha}\big), where TmT_m is the Chebyshev polynomial, and repeating the cycle cc times gives the bound to the power cc.

Proof. pm(t)=∏j(1−t/τj)p_m(t) = \prod_j (1 - t/\tau_j) has degree mm, roots τj\tau_j and pm(0)=1p_m(0) = 1, so pm(t)=Tm(β+α−2tβ−α)/Tm(β+αβ−α)p_m(t) = T_m\big(\frac{\beta + \alpha - 2t}{\beta - \alpha}\big)/T_m\big(\frac{\beta + \alpha}{\beta - \alpha}\big), because the right side has the same roots, the same degree and the same value at 00. On [α,β][\alpha, \beta] the argument of the numerator lies in [−1,1][-1, 1], where ∣Tm∣≤1|T_m| \le 1. Since AA is symmetric, ∥pm(A)∥2=max⁡λ∣pm(λ)∣≤1/Tm(β+αβ−α)\|p_m(A)\|_2 = \max_\lambda |p_m(\lambda)| \le 1/T_m\big(\frac{\beta + \alpha}{\beta - \alpha}\big). After cc cycles r=pm(A)cr0r = p_m(A)^c r_0. □\square

Lemma 5 (finite termination in exact arithmetic). If AA is diagonalizable with distinct nonzero eigenvalues λ1,…,λs\lambda_1, \ldots, \lambda_s and ωj=1/λj+1\omega_j = 1/\lambda_{j+1} for j<sj < s, then rs=0r_s = 0.

Proof. ps(A)=∏j(I−A/λj)p_s(A) = \prod_j (I - A/\lambda_j) maps every eigenvector to 00, and the eigenvectors span Rn\mathbb{R}^n. □\square

Conclusion. The algorithm stops; when it reports convergence, ∥ek∥2/∥x∥2≤κ2(A) tol\|e_k\|_2/\|x\|_2 \le \kappa_2(A)\,\mathrm{tol}. For symmetric positive definite AA and constant 0<ω<2/λmax⁡0 < \omega < 2/\lambda_{\max} the iterates converge to xx in exact arithmetic for every x0x_0, at the rate of Lemma 3; for ω≥2/λmax⁡\omega \ge 2/\lambda_{\max} or ω≤0\omega \le 0 they do not converge for every x0x_0. ■\blacksquare

About floating point. In floating point the computed residual of the iterates settles near a small multiple of u ∥A∥ ∥x∥u\,\|A\|\,\|x\|, which the tests observe; Lemma 5 does not survive rounding, and Lemma 4 holds up to rounding only for small mm in the natural order of the parameters.

Back to Richardson iteration