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×n, b=0, Kj=Kj(A,b)=span{b,Ab,…,Aj−1b}, Qj=[q1,…,qj], and hij the coefficients of lines L5 and L7. Exact arithmetic unless stated. In exact arithmetic the second pass of line L6 computes qi∗w=0 for every i, 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 j, let w(0)=Aqj and w(i)=w(i−1)−hijqi with hij=qi∗w(i−1). If q1,…,qj are orthonormal, then hij=qi∗Aqj.
Proof. w(i−1)=Aqj−∑l<ihljql, and qi∗ql=0 for l<i, so qi∗w(i−1)=qi∗Aqj. □
Theorem 1 (orthonormal basis and the Arnoldi relation). Suppose the loop completes steps 1,…,k with hj+1,j>0 for j<k. Then q1,…,qk are orthonormal, span{q1,…,qj}=Kj for j≤k, and
AQk=QkHk+wkekT,Qk∗wk=0,Hk=Qk∗AQk, where wk is the vector w after line L5 (or L6) of step k, wk=hk+1,kqk+1 if hk+1,k>0, and Hk=(hij)i,j≤k is upper Hessenberg with hj+1,j>0 for j<k.
Proof. Induction on j. For j=1, q1=b/∥b∥2 is a unit vector spanning K1. Assume the claims for j. By Lemma 1, after line L5 we have w=Aqj−∑i≤j(qi∗Aqj)qi, so ql∗w=ql∗Aqj−ql∗Aqj=0 for every l≤j. If hj+1,j=∥w∥2>0, then qj+1=w/hj+1,j is a unit vector orthogonal to q1,…,qj. Rearranging line L5 gives
Aqj=i=1∑jhijqi+hj+1,jqj+1.(1) By the induction hypothesis qj∈Kj, so Aqj∈AKj⊆Kj+1. By (1), qj+1=(Aqj−∑i≤jhijqi)/hj+1,j∈Kj+1. So span{q1,…,qj+1}⊆Kj+1, and since the j+1 orthonormal vectors are independent while dimKj+1≤j+1, the spans are equal. Writing (1) for j=1,…,k as columns gives AQk=QkHk+wkekT, with hij=0 for i>j+1 since such entries are never set. Multiplying by Qk∗ and using Qk∗Qk=I and Qk∗wk=0 gives Hk=Qk∗AQk. □
Theorem 2 (breakdown and termination). Let m be the smallest index with Km=Km+1, that is, the degree of the minimal polynomial of b with respect to A. Then hj+1,j>0 for j<m and hm+1,m=0. In that case Km is invariant under A, AQm=QmHm, every eigenvalue of Hm is an eigenvalue of A, and for Hmy=θy the vector Qmy is an eigenvector of A. The loop runs at most min(k,n) times, and each run does finitely many operations, so the algorithm terminates.
Proof. For j<m, dimKj+1=j+1, so Kj+1=Kj. If hj+1,j=0 held, (1) would give Aqj∈span{q1,…,qj}=Kj. Together with Aqi∈Ki+1⊆Kj for i<j, this means AKj⊆Kj, hence Ajb∈Kj and Kj+1=Kj, a contradiction. At j=m, w=Aqm−QmQm∗Aqm is the component of Aqm∈Km+1=Km orthogonal to Km, so w=0. Then AQm=QmHm, and Hmy=θy gives A(Qmy)=QmHmy=θQmy with Qmy=0, because Qm has orthonormal columns. Since dimKj≤n, m≤n; the loop also stops at k, and line L8 or the loop bound ends it. □
Theorem 3 (Ritz residual). Let Hky=θy with ∥y∥2=1 and x=Qky. Then ∥x∥2=1 and
∥Ax−θx∥2=hk+1,k∣ekTy∣. Moreover (θ,x) is an exact eigenpair of A+E with E=−rx∗, r=Ax−θx, and ∥E∥2=∥r∥2.
Proof. By Theorem 1, Ax=QkHky+hk+1,kqk+1ekTy=θx+hk+1,k(ekTy)qk+1, and ∥qk+1∥2=1. For E=−rx∗, (A+E)x=Ax−r=θx, and ∥rx∗∥2=∥r∥2∥x∥2. □
Lemma 2. If the first k steps complete with hj+1,j>0 for j<k, then Ajq1=QkHkje1 for 0≤j≤k−1, and Akq1=QkHkke1+γwk with γ=∏j=1k−1hj+1,j.
Proof. The case j=0 is q1=Qke1. If Ajq1=QkHkje1, then by Theorem 1, Aj+1q1=AQkHkje1=QkHkj+1e1+wkekTHkje1. Since Hk is upper Hessenberg, Hkje1 has nonzero entries only in positions 1,…,j+1, and its entry j+1 is ∏l=1jhl+1,l. So ekTHkje1=0 for j<k−1, and it equals γ for j=k−1. □
Theorem 4 (polynomial optimality). Under the hypothesis of Lemma 2, let pk be the characteristic polynomial of Hk. Then ∥pk(A)b∥2≤∥p(A)b∥2 for every monic polynomial p of degree k.
Proof. Every monic p of degree k gives p(A)b=Akb−v with v∈Kk, and conversely. The minimum of ∥Akb−v∥2 over v∈Kk is attained when Akb−v⊥Kk. By Lemma 2, pk(A)q1=Qkpk(Hk)e1+γwk, and pk(Hk)=0 by the Cayley-Hamilton theorem, so pk(A)b=∥b∥2γwk. By Theorem 1, wk⊥Kk. Hence pk attains the minimum. □
Floating point (statements, with references). For the computed Q^k+1 and Hˉ^k from modified Gram-Schmidt, AQ^k=Q^k+1Hˉ^k+F with ∥F∥2 bounded by u∥A∥2 times a low-degree polynomial in n and k. The loss of orthogonality ∥I−Q^k+1∗Q^k+1∥2 is bounded by a modest multiple of u times the condition number of the matrix [b,AQ^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 u 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 10nu for a random 60×60 matrix.