Algorithm Search⌘K

Proofs: Multigrid method

These are the human proofs of Multigrid method, at full length.

The V-cycle is a consistent linear iteration whose error operator is a contraction in the energy norm full

This proof shows: correctness, termination.

Setting: the model problem of the page. Level ll has nl=2l−1n_l = 2^l - 1 unknowns and Al=hl−2 tridiag(−1,2,−1)A_l = h_l^{-2}\,\mathrm{tridiag}(-1, 2, -1) with hl=2−lh_l = 2^{-l}, which is symmetric positive definite. Pl:Rnl−1→RnlP_l : \mathbb{R}^{n_{l-1}} \to \mathbb{R}^{n_l} is linear interpolation and RlR_l is full weighting. The smoother SS is weighted Jacobi with 0<ω≤10 < \omega \le 1 or forward Gauss-Seidel, applied ν1\nu_1 times before and ν2\nu_2 times after the coarse-grid correction, with ν1+ν2≥1\nu_1 + \nu_2 \ge 1. Arithmetic is exact. For SPD BB, ∥v∥B=(vTBv)1/2\|v\|_B = (v^T B v)^{1/2}.

Lemma 1 (transfer operators). Rl=12PlTR_l = \tfrac12 P_l^T and RlAlPl=Al−1R_l A_l P_l = A_{l-1}.

Proof. Column jj of PlP_l has entries 12,1,12\tfrac12, 1, \tfrac12 in fine rows 2j,2j+1,2j+22j, 2j+1, 2j+2 (0-based), so row jj of 12PlT\tfrac12 P_l^T is (14,12,14)(\tfrac14, \tfrac12, \tfrac14) in those columns, which is full weighting. For the product: hl2AlPlejh_l^2 A_l P_l e_j has −12-\tfrac12 in rows 2j−12j - 1 and 2j+32j + 3, 00 in rows 2j2j and 2j+22j+2, and 11 in row 2j+12j+1. Full weighting gives 12hl−2=2hl−1−2\tfrac12 h_l^{-2} = 2 h_{l-1}^{-2} at coarse position jj and −14hl−2=−hl−1−2-\tfrac14 h_l^{-2} = -h_{l-1}^{-2} at positions j±1j \pm 1, which is column jj of Al−1A_{l-1}. □\square

Lemma 2 (the V-cycle is a linear iteration). Let ul∗=Al−1flu^\ast_l = A_l^{-1} f_l. One V-cycle on level ll, lines L3 to L9, maps uu to u′u' with

u′−ul∗=Ml (u−ul∗),M1=0,Ml=Slν2(I−Pl(I−Ml−1)Al−1−1RlAl)Slν1,u' - u^\ast_l = M_l\,(u - u^\ast_l), \qquad M_1 = 0, \qquad M_l = S_l^{\nu_2}\big(I - P_l (I - M_{l-1}) A_{l-1}^{-1} R_l A_l\big) S_l^{\nu_1},

where SlS_l is the error operator of one smoothing sweep: I−ωhl22AlI - \tfrac{\omega h_l^2}{2} A_l for weighted Jacobi and I−(Dl−El)−1AlI - (D_l - E_l)^{-1} A_l for Gauss-Seidel.

Proof. By induction on ll. On level 1, line L6 computes u1=f1/(2h1−2)=A1−1f1u_1 = f_1/(2 h_1^{-2}) = A_1^{-1} f_1 exactly, so M1=0M_1 = 0. On level l≥2l \ge 2: each smoothing sweep is a splitting iteration u←u+B(f−Au)u \leftarrow u + B(f - A u), so the error is multiplied by I−BA=SlI - B A = S_l, and after line L4 the error is Slν1eS_l^{\nu_1} e. Line L5 sets fl−1=Rl(fl−Alu)=RlAl(ul∗−u)f_{l-1} = R_l(f_l - A_l u) = R_l A_l (u^\ast_l - u), whose exact coarse solution is Al−1−1RlAl(ul∗−u)A_{l-1}^{-1} R_l A_l (u^\ast_l - u). The levels below run, by the induction hypothesis, one V-cycle from 00 for that coarse system, so they return (I−Ml−1)Al−1−1RlAl(ul∗−u)(I - M_{l-1}) A_{l-1}^{-1} R_l A_l (u^\ast_l - u). Line L8 adds PlP_l times this, which multiplies the error by I−Pl(I−Ml−1)Al−1−1RlAlI - P_l (I - M_{l-1}) A_{l-1}^{-1} R_l A_l, and line L9 multiplies it by Slν2S_l^{\nu_2}. The two loops of the implementation visit the levels in exactly this nested order. □\square

Consistency. By Lemma 2, u=ul∗u = u^\ast_l is a fixed point of the V-cycle, so if the iterates converge, their limit solves ALu=fA_L u = f.

Lemma 3 (smoothers contract in the energy norm). ∥Sl∥Al<1\|S_l\|_{A_l} < 1.

Proof. Weighted Jacobi: Sl=I−ωhl22AlS_l = I - \tfrac{\omega h_l^2}{2} A_l is symmetric in the AlA_l inner product, with eigenvalues 1−ωλhl2/21 - \omega \lambda h_l^2/2 where λhl2=4sin⁡2(kπhl/2)∈(0,4)\lambda h_l^2 = 4\sin^2(k\pi h_l/2) \in (0, 4), so they lie in (1−2ω,1)⊆(−1,1)(1 - 2\omega, 1) \subseteq (-1, 1) for 0<ω≤10 < \omega \le 1. Gauss-Seidel: for SPD AA with M=D−EM = D - E, ∥e∥A2−∥(I−M−1A)e∥A2=(M−1Ae)TD(M−1Ae)>0\|e\|_A^2 - \|(I - M^{-1}A)e\|_A^2 = (M^{-1} A e)^T D (M^{-1} A e) > 0 for e≠0e \ne 0, the identity used in the Ostrowski-Reich theorem with ω=1\omega = 1. □\square

Lemma 4 (coarse-grid correction does not increase the energy). Let Cl=I−Pl(I−Ml−1)Al−1−1RlAlC_l = I - P_l (I - M_{l-1}) A_{l-1}^{-1} R_l A_l. If ∥Ml−1∥Al−1≤1\|M_{l-1}\|_{A_{l-1}} \le 1, then ∥Cl∥Al≤1\|C_l\|_{A_l} \le 1.

Proof. By Lemma 1, Π=PlAl−1−1RlAl=Pl(PlTAlPl)−1PlTAl\Pi = P_l A_{l-1}^{-1} R_l A_l = P_l (P_l^T A_l P_l)^{-1} P_l^T A_l is the AlA_l-orthogonal projector onto range(Pl)\mathrm{range}(P_l). For an error ee write y=Al−1−1RlAley = A_{l-1}^{-1} R_l A_l e, so Πe=Ply\Pi e = P_l y, and e1=e−Plye_1 = e - P_l y, which is AlA_l-orthogonal to range(Pl)\mathrm{range}(P_l). Then Cle=e1+PlMl−1yC_l e = e_1 + P_l M_{l-1} y. Since ∥Plz∥Al2=zTPlTAlPlz=2∥z∥Al−12\|P_l z\|_{A_l}^2 = z^T P_l^T A_l P_l z = 2\|z\|_{A_{l-1}}^2 by Lemma 1,

∥Cle∥Al2=∥e1∥Al2+2∥Ml−1y∥Al−12≤∥e1∥Al2+2∥y∥Al−12=∥e1∥Al2+∥Ply∥Al2=∥e∥Al2.□\|C_l e\|_{A_l}^2 = \|e_1\|_{A_l}^2 + 2\|M_{l-1} y\|_{A_{l-1}}^2 \le \|e_1\|_{A_l}^2 + 2\|y\|_{A_{l-1}}^2 = \|e_1\|_{A_l}^2 + \|P_l y\|_{A_l}^2 = \|e\|_{A_l}^2. \qquad \square

Theorem (convergence). For every ll, ∥Ml∥Al<1\|M_l\|_{A_l} < 1. Hence the iterates of line L2 satisfy ∥uk−u∗∥A≤∥ML∥Ak ∥u0−u∗∥A→0\|u_k - u^\ast\|_{A} \le \|M_L\|_{A}^k\,\|u_0 - u^\ast\|_{A} \to 0.

Proof. Induction: M1=0M_1 = 0. For l≥2l \ge 2, ∥Ml∥Al≤∥Sl∥Alν1 ∥Cl∥Al ∥Sl∥Alν2<1\|M_l\|_{A_l} \le \|S_l\|_{A_l}^{\nu_1}\,\|C_l\|_{A_l}\,\|S_l\|_{A_l}^{\nu_2} < 1 by Lemmas 3 and 4 and ν1+ν2≥1\nu_1 + \nu_2 \ge 1. □\square

This proves convergence on every grid, but the contraction factor it gives may approach 11 as h→0h \to 0. That the factor is bounded away from 11 uniformly in hh is a deeper result: the smoothing and approximation properties of Hackbusch, or, for this model problem, an exact Fourier analysis of the two-grid operator (Briggs, Henson and McCormick, Chapter 5), and for the V-cycle the theory of Braess and Hackbusch.

Termination. The loop at line L2 runs at most maxiter times. Each V-cycle runs two loops over L−1L - 1 levels with a fixed number of sweeps on each, so it terminates. The algorithm returns converged only when the test at line L10 holds.

What fails outside the hypotheses. For weighted Jacobi with ω>1\omega > 1, the highest mode has smoothing factor 1−2ωsin⁡2(nπh/2)1 - 2\omega\sin^2(n\pi h/2) close to 1−2ω<−11 - 2\omega < -1, so ∥Sl∥Al>1\|S_l\|_{A_l} > 1 and the V-cycle can diverge; the tests observe this for ω=1.5\omega = 1.5.

Back to Multigrid method