Algorithm Search⌘K

Proofs: Algebraic multigrid

These are the human proofs of Algebraic multigrid, at full length.

Cost of an AMG V-cycle full

This proof shows: time.per_cycle, space.extra.

Assume the coarsest level has at most a fixed number nmin⁡n_{\min} of unknowns, so its dense solve costs O(nmin⁡3)=O(1)O(n_{\min}^3) = O(1), and every row of every AlA_l has a nonzero diagonal, so nl≤zln_l \le z_l.

Level ll, not the coarsest. A Gauss-Seidel sweep visits every off-diagonal nonzero once with one multiplication and one subtraction, and divides once per row: 2(zl−nl)+nl≤2zl2(z_l - n_l) + n_l \le 2 z_l flops. There are ν\nu sweeps. The residual of line L4 costs 2zl2 z_l flops. Restriction (line L5) and prolongation (line L7) cost 2nnz⁡(Pl)2 \operatorname{nnz}(P_l) each. A C row of PlP_l has one entry; an F row ii has entries only for j∈C∩Sij \in C \cap S_i, a subset of the off-diagonal nonzeros of row ii of AlA_l. So nnz⁡(Pl)≤nl+zl≤2zl\operatorname{nnz}(P_l) \le n_l + z_l \le 2 z_l. The level costs at most (2ν+2)zl+8zl=(2ν+10)zl(2\nu + 2) z_l + 8 z_l = (2\nu + 10) z_l flops.

All levels. Each level is visited once per V-cycle, so the total is at most (2ν+10)∑lzl+O(1)=(2ν+10)cz+O(1)(2\nu + 10) \sum_l z_l + O(1) = (2 \nu + 10) c z + O(1), which is O(νcz)O(\nu c z) time since ν≥1\nu \ge 1 and the remaining bookkeeping is O(∑lnl)≤O(cz)O(\sum_l n_l) \le O(c z).

Space. The hierarchy stores ∑lzl=cz\sum_l z_l = c z matrix entries and ∑lnnz⁡(Pl)≤2cz\sum_l \operatorname{nnz}(P_l) \le 2 c z interpolation weights; the recursion keeps one residual and one correction per level, O(∑lnl)=O(cz)O(\sum_l n_l) = O(c z). In total O(cz)O(c z). ■\blacksquare

Convergence of the AMG V-cycle for symmetric positive definite matrices full

This proof shows: correctness, termination.

Exact arithmetic. A0=AA_0 = A is symmetric positive definite, Al+1=PlTAlPlA_{l+1} = P_l^T A_l P_l, and PlP_l has a unit row for every C point and no other entries in the C columns of those rows. Write ⟨u,v⟩l=uTAlv\langle u, v \rangle_l = u^T A_l v and ∥v∥l=⟨v,v⟩l1/2\|v\|_l = \langle v, v \rangle_l^{1/2}.

Lemma 1 (coarse matrices). Each PlP_l has full column rank and each AlA_l is symmetric positive definite.

Proof. The rows of PlP_l at the C points form the identity of order nl+1n_{l+1}, so Plc=0P_l c = 0 forces c=0c = 0. If AlA_l is symmetric positive definite, Al+1A_{l+1} is symmetric and cTAl+1c=(Plc)TAl(Plc)>0c^T A_{l+1} c = (P_l c)^T A_l (P_l c) > 0 for c≠0c \ne 0. Induction on ll. □\square

Lemma 2 (coarse correction). Kl=I−PlAl+1−1PlTAlK_l = I - P_l A_{l+1}^{-1} P_l^T A_l is the ⟨⋅,⋅⟩l\langle \cdot, \cdot \rangle_l-orthogonal projection onto the AlA_l-orthogonal complement of range⁡(Pl)\operatorname{range}(P_l).

Proof. Q=PlAl+1−1PlTAlQ = P_l A_{l+1}^{-1} P_l^T A_l satisfies Q2=PlAl+1−1(PlTAlPl)Al+1−1PlTAl=QQ^2 = P_l A_{l+1}^{-1} (P_l^T A_l P_l) A_{l+1}^{-1} P_l^T A_l = Q, QPl=PlQ P_l = P_l, and AlQ=QTAlA_l Q = Q^T A_l, so QQ is the AlA_l-orthogonal projection onto range⁡(Pl)\operatorname{range}(P_l) and Kl=I−QK_l = I - Q is the complementary one. □\square

Lemma 3 (Gauss-Seidel). Let Al=D+L+LTA_l = D + L + L^T with DD diagonal and LL strictly lower triangular. The forward sweep maps the error ee to SeS e with S=I−(D+L)−1AlS = I - (D + L)^{-1} A_l, and ∥Se∥l2=∥e∥l2−∥D1/2(D+L)−1Ale∥22\|S e\|_l^2 = \|e\|_l^2 - \|D^{1/2} (D + L)^{-1} A_l e\|_2^2. Hence ∥S∥l<1\|S\|_l < 1. The backward sweep has error operator S∗=I−(D+LT)−1AlS^* = I - (D + L^T)^{-1} A_l, the AlA_l-adjoint of SS, with ∥S∗∥l=∥S∥l\|S^*\|_l = \|S\|_l.

Proof. Put M=D+LM = D + L and g=M−1Aleg = M^{-1} A_l e. Then ∥e−g∥l2=∥e∥l2−2gTAle+gTAlg=∥e∥l2−gT(M+MT−Al)g\|e - g\|_l^2 = \|e\|_l^2 - 2 g^T A_l e + g^T A_l g = \|e\|_l^2 - g^T (M + M^T - A_l) g, using Ale=MgA_l e = M g so that 2gTAle=gT(M+MT)g2 g^T A_l e = g^T (M + M^T) g. And M+MT−Al=DM + M^T - A_l = D. Since DD has positive entries (the diagonal of a positive definite matrix), ∥Se∥l<∥e∥l\|S e\|_l < \|e\|_l for e≠0e \ne 0, and by compactness of the unit sphere ∥S∥l<1\|S\|_l < 1. For the adjoint, AlS=Al−AlM−1AlA_l S = A_l - A_l M^{-1} A_l and (S∗)TAl=Al−AlM−1Al(S^*)^T A_l = A_l - A_l M^{-1} A_l with S∗=I−M−TAlS^* = I - M^{-T} A_l, so AlS=(S∗)TAlA_l S = (S^*)^T A_l. □\square

Theorem 4 (V-cycle). Let ElE_l be the error propagation operator of AMG-VCYCLE on level ll with ν1=ν2=1\nu_1 = \nu_2 = 1 (forward then backward sweep), so that the new error is EleE_l e. Then ElE_l is AlA_l-self-adjoint and ∥El∥l≤∥Sl∥l2<1\|E_l\|_l \le \|S_l\|_l^2 < 1 on every level that is not the coarsest; on the coarsest level El=0E_l = 0.

Proof. Induction from the coarsest level, where the solve is exact. On a finer level, the error after the presmoothing is w=Sew = S e. The coarse right-hand side is PlTAlwP_l^T A_l w, and the recursive call returns (I−El+1)Al+1−1PlTAlw(I - E_{l+1}) A_{l+1}^{-1} P_l^T A_l w, because an iteration with error operator El+1E_{l+1} started from 00 leaves the error El+1yE_{l+1} y for the exact coarse solution y=Al+1−1PlTAlwy = A_{l+1}^{-1} P_l^T A_l w. The error after line L7 is therefore TwT w with T=I−Pl(I−El+1)Al+1−1PlTAlT = I - P_l (I - E_{l+1}) A_{l+1}^{-1} P_l^T A_l, and El=S∗TSE_l = S^* T S.

TT is AlA_l-self-adjoint: AlT=Al−AlPl(I−El+1)Al+1−1PlTAlA_l T = A_l - A_l P_l (I - E_{l+1}) A_{l+1}^{-1} P_l^T A_l, and (I−El+1)Al+1−1(I - E_{l+1}) A_{l+1}^{-1} is symmetric because El+1E_{l+1} is Al+1A_{l+1}-self-adjoint. With Lemma 3, El=S∗TSE_l = S^* T S is AlA_l-self-adjoint.

TT does not increase ∥⋅∥l\|\cdot\|_l: write w=Klw+Plyw = K_l w + P_l y (Lemma 2). Then Tw=Klw+Ply−Pl(I−El+1)y=Klw+PlEl+1yT w = K_l w + P_l y - P_l (I - E_{l+1}) y = K_l w + P_l E_{l+1} y. The two terms are AlA_l-orthogonal, so ∥Tw∥l2=∥Klw∥l2+∥El+1y∥l+12≤∥Klw∥l2+∥y∥l+12=∥Klw∥l2+∥Ply∥l2=∥w∥l2\|T w\|_l^2 = \|K_l w\|_l^2 + \|E_{l+1} y\|_{l+1}^2 \le \|K_l w\|_l^2 + \|y\|_{l+1}^2 = \|K_l w\|_l^2 + \|P_l y\|_l^2 = \|w\|_l^2, using ∥Plv∥l=∥v∥l+1\|P_l v\|_l = \|v\|_{l+1} and the induction hypothesis ∥El+1∥l+1≤1\|E_{l+1}\|_{l+1} \le 1.

So ∥El∥l≤∥S∗∥l∥T∥l∥S∥l≤∥S∥l2<1\|E_l\|_l \le \|S^*\|_l \|T\|_l \|S\|_l \le \|S\|_l^2 < 1. □\square

Corollary 5 (convergence and preconditioning). The stand-alone iteration satisfies ∥ek∥A≤∥S0∥A2k∥e0∥A→0\|e_k\|_A \le \|S_0\|_A^{2k} \|e_0\|_A \to 0. One V-cycle from zero applied to a vector rr returns BrB r with I−BA=E0I - B A = E_0, and BB is symmetric positive definite.

Proof. The first claim is Theorem 4 applied kk times. With x=0x = 0 the error is A−1rA^{-1} r and the new error is E0A−1rE_0 A^{-1} r, so Br=A−1r−E0A−1rB r = A^{-1} r - E_0 A^{-1} r and B=(I−E0)A−1B = (I - E_0) A^{-1}. AA-self-adjointness means AE0=E0TAA E_0 = E_0^T A, so E0A−1=A−1E0TE_0 A^{-1} = A^{-1} E_0^T and BT=A−1−A−1E0T=BB^T = A^{-1} - A^{-1} E_0^T = B. For r=Av≠0r = A v \ne 0, rTBr=vTA(I−E0)v=∥v∥A2−⟨v,E0v⟩A≥(1−∥E0∥A)∥v∥A2>0r^T B r = v^T A (I - E_0) v = \|v\|_A^2 - \langle v, E_0 v \rangle_A \ge (1 - \|E_0\|_A) \|v\|_A^2 > 0. □\square

Termination. AMG-SETUP stops because each pass either stops or strictly decreases nln_l (it continues only when 0<nl+1<nl0 < n_{l+1} < n_l), and AMG-VCYCLE recurses only to strictly smaller levels. The stand-alone solver stops at the tolerance or after its iteration limit. ■\blacksquare

Back to Algebraic multigrid