Algorithm Search⌘K

Proofs: Arnoldi iteration

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

The Arnoldi process gives an orthonormal Krylov basis, a Hessenberg projection and computable Ritz residuals full

This proof shows: correctness, termination.

Notation of the page: A∈Cn×nA \in \mathbb{C}^{n \times n}, b≠0b \ne 0, Kj=Kj(A,b)=span⁡{b,Ab,…,Aj−1b}K_j = K_j(A, b) = \operatorname{span}\{b, Ab, \dots, A^{j-1} b\}, Qj=[q1,…,qj]Q_j = [q_1, \dots, q_j], and hijh_{ij} the coefficients of lines L5 and L7. Exact arithmetic unless stated. In exact arithmetic the second pass of line L6 computes qi∗w=0q_i^* w = 0 for every ii, so it changes nothing, and modified Gram-Schmidt gives the same coefficients as classical Gram-Schmidt (Lemma 1).

Lemma 1 (modified equals classical). At step jj, let w(0)=Aqjw^{(0)} = A q_j and w(i)=w(i−1)−hijqiw^{(i)} = w^{(i-1)} - h_{ij} q_i with hij=qi∗w(i−1)h_{ij} = q_i^* w^{(i-1)}. If q1,…,qjq_1, \dots, q_j are orthonormal, then hij=qi∗Aqjh_{ij} = q_i^* A q_j.

Proof. w(i−1)=Aqj−∑l<ihljqlw^{(i-1)} = A q_j - \sum_{l < i} h_{lj} q_l, and qi∗ql=0q_i^* q_l = 0 for l<il < i, so qi∗w(i−1)=qi∗Aqjq_i^* w^{(i-1)} = q_i^* A q_j. □\square

Theorem 1 (orthonormal basis and the Arnoldi relation). Suppose the loop completes steps 1,…,k1, \dots, k with hj+1,j>0h_{j+1,j} > 0 for j<kj < k. Then q1,…,qkq_1, \dots, q_k are orthonormal, span⁡{q1,…,qj}=Kj\operatorname{span}\{q_1, \dots, q_j\} = K_j for j≤kj \le k, and

AQk=QkHk+wkekT,Qk∗wk=0,Hk=Qk∗AQk,A Q_k = Q_k H_k + w_k e_k^T, \qquad Q_k^* w_k = 0, \qquad H_k = Q_k^* A Q_k,

where wkw_k is the vector ww after line L5 (or L6) of step kk, wk=hk+1,kqk+1w_k = h_{k+1,k} q_{k+1} if hk+1,k>0h_{k+1,k} > 0, and Hk=(hij)i,j≤kH_k = (h_{ij})_{i, j \le k} is upper Hessenberg with hj+1,j>0h_{j+1,j} > 0 for j<kj < k.

Proof. Induction on jj. For j=1j = 1, q1=b/∥b∥2q_1 = b / \|b\|_2 is a unit vector spanning K1K_1. Assume the claims for jj. By Lemma 1, after line L5 we have w=Aqj−∑i≤j(qi∗Aqj)qiw = A q_j - \sum_{i \le j} (q_i^* A q_j) q_i, so ql∗w=ql∗Aqj−ql∗Aqj=0q_l^* w = q_l^* A q_j - q_l^* A q_j = 0 for every l≤jl \le j. If hj+1,j=∥w∥2>0h_{j+1,j} = \|w\|_2 > 0, then qj+1=w/hj+1,jq_{j+1} = w / h_{j+1,j} is a unit vector orthogonal to q1,…,qjq_1, \dots, q_j. Rearranging line L5 gives

Aqj=∑i=1jhijqi+hj+1,jqj+1.(1)A q_j = \sum_{i=1}^{j} h_{ij} q_i + h_{j+1,j} q_{j+1}. \qquad (1)

By the induction hypothesis qj∈Kjq_j \in K_j, so Aqj∈AKj⊆Kj+1A q_j \in A K_j \subseteq K_{j+1}. By (1), qj+1=(Aqj−∑i≤jhijqi)/hj+1,j∈Kj+1q_{j+1} = (A q_j - \sum_{i \le j} h_{ij} q_i)/h_{j+1,j} \in K_{j+1}. So span⁡{q1,…,qj+1}⊆Kj+1\operatorname{span}\{q_1, \dots, q_{j+1}\} \subseteq K_{j+1}, and since the j+1j + 1 orthonormal vectors are independent while dim⁡Kj+1≤j+1\dim K_{j+1} \le j + 1, the spans are equal. Writing (1) for j=1,…,kj = 1, \dots, k as columns gives AQk=QkHk+wkekTA Q_k = Q_k H_k + w_k e_k^T, with hij=0h_{ij} = 0 for i>j+1i > j + 1 since such entries are never set. Multiplying by Qk∗Q_k^* and using Qk∗Qk=IQ_k^* Q_k = I and Qk∗wk=0Q_k^* w_k = 0 gives Hk=Qk∗AQkH_k = Q_k^* A Q_k. □\square

Theorem 2 (breakdown and termination). Let mm be the smallest index with Km=Km+1K_m = K_{m+1}, that is, the degree of the minimal polynomial of bb with respect to AA. Then hj+1,j>0h_{j+1,j} > 0 for j<mj < m and hm+1,m=0h_{m+1,m} = 0. In that case KmK_m is invariant under AA, AQm=QmHmA Q_m = Q_m H_m, every eigenvalue of HmH_m is an eigenvalue of AA, and for Hmy=θyH_m y = \theta y the vector QmyQ_m y is an eigenvector of AA. The loop runs at most min⁡(k,n)\min(k, n) times, and each run does finitely many operations, so the algorithm terminates.

Proof. For j<mj < m, dim⁡Kj+1=j+1\dim K_{j+1} = j + 1, so Kj+1≠KjK_{j+1} \ne K_j. If hj+1,j=0h_{j+1,j} = 0 held, (1) would give Aqj∈span⁡{q1,…,qj}=KjA q_j \in \operatorname{span}\{q_1, \dots, q_j\} = K_j. Together with Aqi∈Ki+1⊆KjA q_i \in K_{i+1} \subseteq K_j for i<ji < j, this means AKj⊆KjA K_j \subseteq K_j, hence Ajb∈KjA^j b \in K_j and Kj+1=KjK_{j+1} = K_j, a contradiction. At j=mj = m, w=Aqm−QmQm∗Aqmw = A q_m - Q_m Q_m^* A q_m is the component of Aqm∈Km+1=KmA q_m \in K_{m+1} = K_m orthogonal to KmK_m, so w=0w = 0. Then AQm=QmHmA Q_m = Q_m H_m, and Hmy=θyH_m y = \theta y gives A(Qmy)=QmHmy=θQmyA (Q_m y) = Q_m H_m y = \theta Q_m y with Qmy≠0Q_m y \ne 0, because QmQ_m has orthonormal columns. Since dim⁡Kj≤n\dim K_j \le n, m≤nm \le n; the loop also stops at kk, and line L8 or the loop bound ends it. □\square

Theorem 3 (Ritz residual). Let Hky=θyH_k y = \theta y with ∥y∥2=1\|y\|_2 = 1 and x=Qkyx = Q_k y. Then ∥x∥2=1\|x\|_2 = 1 and

∥Ax−θx∥2=hk+1,k∣ekTy∣.\|A x - \theta x\|_2 = h_{k+1,k} |e_k^T y|.

Moreover (θ,x)(\theta, x) is an exact eigenpair of A+EA + E with E=−rx∗E = -r x^*, r=Ax−θxr = A x - \theta x, and ∥E∥2=∥r∥2\|E\|_2 = \|r\|_2.

Proof. By Theorem 1, Ax=QkHky+hk+1,kqk+1ekTy=θx+hk+1,k(ekTy)qk+1A x = Q_k H_k y + h_{k+1,k} q_{k+1} e_k^T y = \theta x + h_{k+1,k} (e_k^T y) q_{k+1}, and ∥qk+1∥2=1\|q_{k+1}\|_2 = 1. For E=−rx∗E = -r x^*, (A+E)x=Ax−r=θx(A + E) x = A x - r = \theta x, and ∥rx∗∥2=∥r∥2∥x∥2\|r x^*\|_2 = \|r\|_2 \|x\|_2. □\square

Lemma 2. If the first kk steps complete with hj+1,j>0h_{j+1,j} > 0 for j<kj < k, then Ajq1=QkHkje1A^j q_1 = Q_k H_k^j e_1 for 0≤j≤k−10 \le j \le k - 1, and Akq1=QkHkke1+γ wkA^k q_1 = Q_k H_k^k e_1 + \gamma\, w_k with γ=∏j=1k−1hj+1,j\gamma = \prod_{j=1}^{k-1} h_{j+1,j}.

Proof. The case j=0j = 0 is q1=Qke1q_1 = Q_k e_1. If Ajq1=QkHkje1A^j q_1 = Q_k H_k^j e_1, then by Theorem 1, Aj+1q1=AQkHkje1=QkHkj+1e1+wk ekTHkje1A^{j+1} q_1 = A Q_k H_k^j e_1 = Q_k H_k^{j+1} e_1 + w_k\, e_k^T H_k^j e_1. Since HkH_k is upper Hessenberg, Hkje1H_k^j e_1 has nonzero entries only in positions 1,…,j+11, \dots, j + 1, and its entry j+1j + 1 is ∏l=1jhl+1,l\prod_{l=1}^{j} h_{l+1,l}. So ekTHkje1=0e_k^T H_k^j e_1 = 0 for j<k−1j < k - 1, and it equals γ\gamma for j=k−1j = k - 1. □\square

Theorem 4 (polynomial optimality). Under the hypothesis of Lemma 2, let pkp_k be the characteristic polynomial of HkH_k. Then ∥pk(A)b∥2≤∥p(A)b∥2\|p_k(A) b\|_2 \le \|p(A) b\|_2 for every monic polynomial pp of degree kk.

Proof. Every monic pp of degree kk gives p(A)b=Akb−vp(A) b = A^k b - v with v∈Kkv \in K_k, and conversely. The minimum of ∥Akb−v∥2\|A^k b - v\|_2 over v∈Kkv \in K_k is attained when Akb−v⊥KkA^k b - v \perp K_k. By Lemma 2, pk(A)q1=Qkpk(Hk)e1+γ wkp_k(A) q_1 = Q_k p_k(H_k) e_1 + \gamma\, w_k, and pk(Hk)=0p_k(H_k) = 0 by the Cayley-Hamilton theorem, so pk(A)b=∥b∥2γ wkp_k(A) b = \|b\|_2 \gamma\, w_k. By Theorem 1, wk⊥Kkw_k \perp K_k. Hence pkp_k attains the minimum. □\square

Floating point (statements, with references). For the computed Q^k+1\hat Q_{k+1} and Hˉ^k\hat{\bar H}_k from modified Gram-Schmidt, AQ^k=Q^k+1Hˉ^k+FA \hat Q_k = \hat Q_{k+1} \hat{\bar H}_k + F with ∥F∥2\|F\|_2 bounded by u∥A∥2u \|A\|_2 times a low-degree polynomial in nn and kk. The loss of orthogonality ∥I−Q^k+1∗Q^k+1∥2\|I - \hat Q_{k+1}^* \hat Q_{k+1}\|_2 is bounded by a modest multiple of uu times the condition number of the matrix [b,AQ^k][b, A \hat Q_k] (Björck's bound for modified Gram-Schmidt, applied to the Arnoldi basis by Paige, Rozložník and Strakoš in 2006). For classical Gram-Schmidt applied twice, Giraud, Langou, Rozložník and van den Eshof (2005) proved orthogonality of order uu when the matrix being orthogonalized is numerically of full rank. Theorem 3 then holds for the computed quantities up to these errors. The implementation's tests check the relation and the orthogonality against 10 n u10\, n\, u for a random 60×6060 \times 60 matrix.

Back to Arnoldi iteration