These are the human proofs of Subspace iteration, at full length.
Subspace iteration returns a small symmetric backward error and its subspace converges at the rate |λ_(p+1)/λ_p| full
This proof shows: correctness, termination.
Exact arithmetic throughout, except that Lemma 3 holds for any computed block that satisfies its hypotheses. Notation of the page: A∈Rn×n symmetric with eigenvalues ordered by modulus, ∣λ1∣≥⋯≥∣λn∣, orthonormal eigenvectors vi, Vp=[v1,…,vp], V⊥=[vp+1,…,vn], Λ1=diag(λ1,…,λp), Λ2=diag(λp+1,…,λn), Vp=spanVp. Qk is the basis Q at the start of step k+1 (so Q0 comes from line L1), and line L10 computes an exact orthonormal basis of the span of W. For subspaces S, T of equal dimension with orthogonal projectors PS, PT, θ(S,T) is the largest principal angle and sinθ(S,T)=∥(I−PT)PS∥2=∥(I−PS)PT∥2. Write ϱ=∣λp+1/λp∣ and θk=θ(spanQk,Vp).
Lemma 1 (the Rayleigh-Ritz step keeps the span). At every step, Y is orthogonal, X=QY has orthonormal columns with spanX=spanQ, and W=AX, so spanW=AspanQ.
Proof.H=QTAQ is symmetric, so line L5 gives an orthogonal Y and a diagonal Θ with H=YΘYT (reordering the columns keeps Y orthogonal). Then XTX=YTQTQY=I, and since Y is invertible, spanQY=spanQ. Finally W=ZY=AQY=AX, and spanAX=AspanX=AspanQ. □
Lemma 2 (the subspace is AkS0). Let S0=spanX0 have dimension p, and suppose VpTX0 is nonsingular and λp=0. Then for every k reached, AkX0 has rank p and spanQk=AkS0.
Proof.VpTAkX0=Λ1kVpTX0 because VpTA=Λ1VpT. Both factors are nonsingular (∣λi∣≥∣λp∣>0 for i≤p), so AkX0 has rank p. For the span, induction on k: spanQ0=S0 by line L1, and if spanQk−1=Ak−1S0, then by Lemma 1 the matrix W of step k spans AkS0, which has dimension p, so line L10 returns Qk with that span. □
Lemma 3 (backward error). Let X∈Rn×p with XTX=I, let Θ be diagonal, R=AX−XΘ, and suppose XTR=0. Then E=−(RXT+XRT) is symmetric, (A+E)X=XΘ, and ∥E∥2=∥R∥2≤pmaxi∥ri∥2. At line L8 the hypotheses hold, so on CONVERGED ∥E∥2≤ptolmaxj∣θj∣≤ptol∥A∥2.
Proof.E is symmetric by construction. EX=−R(XTX)−X(RTX)=−R, since RTX=(XTR)T=0. So (A+E)X=AX−R=XΘ. For the norm, E2=RXTRXT+RXTXRT+XRTRXT+XRTXRT=RRT+X(RTR)XT, because XTR=0 kills the first and last terms. The two terms act on the orthogonal subspaces spanR and spanX (they are orthogonal because XTR=0), so ∥E∥22=∥E2∥2=max(∥RRT∥2,∥RTR∥2)=∥R∥22. Also ∥R∥2≤∥R∥F≤pmaxi∥ri∥2. At line L8, XTR=YTQTAQY−YTQTQYΘ=YTHY−Θ=0. Each Ritz value is a Rayleigh quotient xiTAxi of a unit vector, so ∣θj∣≤∥A∥2. □
Lemma 4 (tangent of a graph). Let F∈R(n−p)×p and S=span(Vp+V⊥F). Then tanθ(S,Vp)=∥F∥2.
Proof.B=(Vp+V⊥F)(I+FTF)−1/2 has orthonormal columns and spans S. The cosines of the principal angles between S and Vp are the singular values of VpTB=(I+FTF)−1/2, namely 1/1+σi2 for the singular values σi of F. The largest angle has cosθ=1/1+σmax2, so tanθ=σmax=∥F∥2. □
Theorem 5 (convergence of the subspace). Suppose ∣λp∣>∣λp+1∣ and C=VpTX0 is nonsingular. Then for every k≥0 reached,
tanθk≤ϱktanθ0.
Proof. Write X0=VpC+V⊥D with D=V⊥TX0. Then S0=spanX0C−1=span(Vp+V⊥F0) with F0=DC−1, and tanθ0=∥F0∥2 by Lemma 4. Since AVp=VpΛ1 and AV⊥=V⊥Λ2, AkX0=VpΛ1kC+V⊥Λ2kD. Multiplying on the right by the nonsingular C−1Λ1−k does not change the span, so by Lemma 2
spanQk=AkS0=span(Vp+V⊥Λ2kF0Λ1−k).
By Lemma 4, tanθk=∥Λ2kF0Λ1−k∥2≤∥Λ2∥2k∥F0∥2∥Λ1−1∥2k=∣λp+1∣ktanθ0/∣λp∣k. □
Lemma 6 (residual and size of the block). Let Q have orthonormal columns, P=QQT, H=QTAQ, s=sinθ(spanQ,Vp) and c=cosθ(spanQ,Vp). Then ∥AQ−QH∥2≤2∥A∥2s and ∥H∥2≥∣λp∣c−3∥A∥2s.
Proof. Let PV=VpVpT; it commutes with A. AQ−QH=(I−P)AQ=(I−P)APVQ+(I−P)A(I−PV)Q. In the first term, APV=PVAPV, and ∥(I−P)PV∥2=s by the definition of the angle, so its norm is at most ∥A∥2s. In the second term, ∥(I−PV)Q∥2=∥(I−PV)P∥2=s, so its norm is at most ∥A∥2s. This gives the first bound. For the second, ∥H∥2=∥QTAQ∥2=∥PAQ∥2≥∥AQ∥2−∥(I−P)AQ∥2≥∥AQ∥2−2∥A∥2s, and ∥AQ∥2≥∥APVQ∥2−∥A(I−PV)Q∥2≥∥VpΛ1VpTQ∥2−∥A∥2s. The smallest singular value of VpTQ is c (the cosines of the principal angles are its singular values), and ∥Λ1M∥2≥∣λp∣∥M∥2 for any M, so ∥VpΛ1VpTQ∥2≥∣λp∣c. □
Theorem 7 (correctness and termination). The algorithm returns after at most maxit steps. Whenever it returns CONVERGED, the output is a block of exact eigenpairs of a symmetric matrix A+E with ∥E∥2≤ptol∥A∥2. If moreover ∣λp∣>∣λp+1∣, VpTX0 is nonsingular and tol>0, it returns CONVERGED at the first step k with 2∥A∥2sinθk−1≤tol(∣λp∣cosθk−1−3∥A∥2sinθk−1) or earlier, and such a k exists; so it returns CONVERGED whenever maxit is at least that k.
Proof. The loop of line L2 runs at most maxit times, and line L9 returns on the last one, so the algorithm terminates. The backward error statement is Lemma 3. For the rest, at step k the basis is Qk−1. By Lemma 1, R=(AQk−1−Qk−1H)Y, so maxi∥ri∥2≤∥R∥2=∥AQk−1−Qk−1H∥2≤2∥A∥2sinθk−1 by Lemma 6. The Ritz values are the eigenvalues of the symmetric H, so maxj∣θj∣=∥H∥2≥∣λp∣cosθk−1−3∥A∥2sinθk−1. Hence the test of line L8 holds at any step where the displayed inequality holds. By Theorem 5, sinθk≤tanθk≤ϱktanθ0→0 and cosθk→1, while ∣λp∣>0 and tol>0, so the inequality holds for all large k. □
Remark (what is not proved here). The faster rates of the individual Ritz values, ∣θi(k)−λi∣=O(∣λp+1/λi∣2k), are proved in Parlett, The Symmetric Eigenvalue Problem, Chapter 14, and Saad 2011, Chapter 5; the tests measure them. The implementation's replacement of a column that loses almost all of its norm in Gram-Schmidt is a guard for rank-deficient blocks; under the hypotheses of Lemma 2 the blocks have full rank, and the proofs above assume that line L10 is an exact orthonormalization.