Algorithm Search⌘K

Proofs: Inverse iteration

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

Inverse iteration converges to the eigenvector of the eigenvalue nearest the shift full

This proof shows: correctness, termination.

Notation of the page: A∈Cn×nA \in \mathbb{C}^{n \times n}, a shift σ\sigma that is not an eigenvalue, B=(A−σI)−1B = (A - \sigma I)^{-1}, and xkx_k the unit vector after step kk. In exact arithmetic line L4 computes y=Bxk−1y = B x_{k-1}, so by induction xk=Bkx0/∥Bkx0∥2x_k = B^k x_0 / \|B^k x_0\|_2: each step multiplies by BB and rescales, and rescaling does not change the direction.

Spectrum of BB. If Av=λvA v = \lambda v, then (A−σI)v=(λ−σ)v(A - \sigma I) v = (\lambda - \sigma) v, so Bv=μvB v = \mu v with μ=1/(λ−σ)\mu = 1/(\lambda - \sigma). So BB has the eigenvalues μi=1/(λi−σ)\mu_i = 1/(\lambda_i - \sigma) with the same eigenvectors. The eigenvalue of AA nearest σ\sigma is the eigenvalue of BB of largest modulus.

Theorem 1 (convergence, diagonalizable case). Let A=VΛV−1A = V \Lambda V^{-1} be diagonalizable, with eigenvectors v1,…,vnv_1, \dots, v_n of unit norm. Let JJ be an index with

∣λJ−σ∣<∣λi−σ∣for every i with λi≠λJ,|\lambda_J - \sigma| < |\lambda_i - \sigma| \quad \text{for every } i \text{ with } \lambda_i \neq \lambda_J,

and let PP be the eigenprojector onto null⁡(A−λJI)\operatorname{null}(A - \lambda_J I) along the other eigenvectors. Let r=max⁡λi≠λJ∣λJ−σ∣/∣λi−σ∣<1r = \max_{\lambda_i \neq \lambda_J} |\lambda_J - \sigma| / |\lambda_i - \sigma| < 1. If Px0≠0P x_0 \neq 0, then for every k≥1k \ge 1

sin⁡∠(xk,null⁡(A−λJI))≤Crk1−Crkwhenever Crk<1,C=∑λi≠λJ∣ci∣∥Px0∥2,\sin \angle(x_k, \operatorname{null}(A - \lambda_J I)) \le \frac{C r^k}{1 - C r^k} \quad \text{whenever } C r^k < 1, \qquad C = \frac{\sum_{\lambda_i \neq \lambda_J} |c_i|}{\|P x_0\|_2},

where x0=∑icivix_0 = \sum_i c_i v_i.

Proof. Write x0=Px0+∑λi≠λJcivix_0 = P x_0 + \sum_{\lambda_i \neq \lambda_J} c_i v_i, where Px0=∑λi=λJciviP x_0 = \sum_{\lambda_i = \lambda_J} c_i v_i is an eigenvector of λJ\lambda_J. Then

Bkx0μJk=Px0+∑λi≠λJci(μiμJ)kvi=Px0+ek,∥ek∥2≤∑λi≠λJ∣ci∣ rk,\frac{B^k x_0}{\mu_J^k} = P x_0 + \sum_{\lambda_i \neq \lambda_J} c_i \left(\frac{\mu_i}{\mu_J}\right)^k v_i = P x_0 + e_k, \qquad \|e_k\|_2 \le \sum_{\lambda_i \neq \lambda_J} |c_i| \, r^k,

because ∣μi/μJ∣=∣λJ−σ∣/∣λi−σ∣≤r|\mu_i / \mu_J| = |\lambda_J - \sigma| / |\lambda_i - \sigma| \le r and ∥vi∥2=1\|v_i\|_2 = 1. Let w=Px0+ekw = P x_0 + e_k, which is parallel to xkx_k. The distance from ww to the eigenspace is at most ∥ek∥2\|e_k\|_2, and ∥w∥2≥∥Px0∥2−∥ek∥2\|w\|_2 \ge \|P x_0\|_2 - \|e_k\|_2. So

sin⁡∠(xk,null⁡(A−λJI))=dist⁡(w,null⁡(A−λJI))∥w∥2≤∥ek∥2∥Px0∥2−∥ek∥2≤Crk1−Crk.□\sin \angle(x_k, \operatorname{null}(A - \lambda_J I)) = \frac{\operatorname{dist}(w, \operatorname{null}(A - \lambda_J I))}{\|w\|_2} \le \frac{\|e_k\|_2}{\|P x_0\|_2 - \|e_k\|_2} \le \frac{C r^k}{1 - C r^k}. \qquad \square

So the angle goes to zero at least linearly with the ratio rr. The ratio is sharp when cK≠0c_K \neq 0 for an index KK with ∣λJ−σ∣/∣λK−σ∣=r|\lambda_J - \sigma| / |\lambda_K - \sigma| = r, since then the KK term of eke_k has exactly that rate.

Theorem 2 (the eigenvalue estimate, Hermitian case). If AA is Hermitian, λJ\lambda_J is simple, and sk=sin⁡∠(xk,vJ)s_k = \sin \angle(x_k, v_J), then the Rayleigh quotient θk=xk∗Axk\theta_k = x_k^* A x_k of line L6 satisfies ∣θk−λJ∣≤(λmax⁡−λmin⁡) sk2|\theta_k - \lambda_J| \le (\lambda_{\max} - \lambda_{\min}) \, s_k^2.

Proof. Write xk=cos⁡ϕ vJ+sin⁡ϕ zx_k = \cos\phi \, v_J + \sin\phi \, z with zz a unit vector orthogonal to vJv_J, after a unimodular scaling of vJv_J; here ∣sin⁡ϕ∣=sk|\sin \phi| = s_k. As AvJ=λJvJA v_J = \lambda_J v_J and z⊥vJz \perp v_J, the cross terms vanish and θk=cos⁡2ϕ λJ+sin⁡2ϕ z∗Az\theta_k = \cos^2\phi \, \lambda_J + \sin^2\phi \, z^* A z. So θk−λJ=sin⁡2ϕ (z∗Az−λJ)\theta_k - \lambda_J = \sin^2\phi \, (z^* A z - \lambda_J), and both z∗Azz^* A z and λJ\lambda_J lie in [λmin⁡,λmax⁡][\lambda_{\min}, \lambda_{\max}]. □\square

So for a Hermitian matrix the eigenvalue estimate converges with the rate r2r^2.

Theorem 3 (what the stopping test certifies). When the loop returns at line L8 with CONVERGED, the pair (θ,x)(\theta, x) is an exact eigenpair of A+EA + E with E=−rkxk∗E = -r_k x_k^* and ∥E∥2=∥rk∥2≤tol⋅∥A∥F\|E\|_2 = \|r_k\|_2 \le \mathrm{tol} \cdot \|A\|_F.

Proof. (A+E)xk=Axk−rk=θxk(A + E) x_k = A x_k - r_k = \theta x_k because xk∗xk=1x_k^* x_k = 1. The norm of the rank-one matrix rkxk∗r_k x_k^* is ∥rk∥2∥xk∥2=∥rk∥2\|r_k\|_2 \|x_k\|_2 = \|r_k\|_2. □\square

Termination. The loop of line L3 runs at most kmax\mathrm{kmax} times, and each step does a fixed finite amount of work, so the algorithm stops. The test of line L8 is also met eventually under the hypotheses of Theorem 1, in exact arithmetic with tol>0\mathrm{tol} > 0. Write xk=wk+dkx_k = w_k + d_k with wkw_k the nearest point of the eigenspace, so ∥dk∥2≤2sin⁡∠(xk,null⁡(A−λJI))→0\|d_k\|_2 \le 2 \sin\angle(x_k, \operatorname{null}(A - \lambda_J I)) \to 0. Then Awk=λJwkA w_k = \lambda_J w_k, so ∥Axk−λJxk∥2=∥(A−λJI)dk∥2→0\|A x_k - \lambda_J x_k\|_2 = \|(A - \lambda_J I) d_k\|_2 \to 0. The Rayleigh quotient minimizes the residual over all scalars for a unit vector, so ∥Axk−θkxk∥2≤∥Axk−λJxk∥2→0\|A x_k - \theta_k x_k\|_2 \le \|A x_k - \lambda_J x_k\|_2 \to 0.

Floating point. Line L1 computes LL and UU with LU=P(A−σI+F)L U = P(A - \sigma I + F), ∥F∥\|F\| of order nu ρn∥A∥n u \, \rho_n \|A\| for the growth factor ρn\rho_n, and the triangular solves are backward stable. So the computed y^\hat y satisfies (A−σI+E)y^=xk−1(A - \sigma I + E) \hat y = x_{k-1} with ∥E∥2≤c n u ρn∥A∥2\|E\|_2 \le c \, n \, u \, \rho_n \|A\|_2. Then for x^=y^/∥y^∥2\hat x = \hat y / \|\hat y\|_2,

∥(A−σI)x^∥2=∥xk−1−Ey^∥2∥y^∥2≤1∥y^∥2+∥E∥2.\|(A - \sigma I) \hat x\|_2 = \frac{\|x_{k-1} - E \hat y\|_2}{\|\hat y\|_2} \le \frac{1}{\|\hat y\|_2} + \|E\|_2 .

When σ\sigma is close to an eigenvalue, ∥y^∥2\|\hat y\|_2 is large, so the pair (σ,x^)(\sigma, \hat x) already has a residual of order ∥E∥2\|E\|_2, that is, it is backward stable. The large error in y^\hat y that the near-singular solve makes lies almost entirely along the wanted eigenvector, so it does no harm (Wilkinson 1965, Chapter 9; Peters and Wilkinson 1979).

Back to Inverse iteration