← Blog

Eigenpairs from Matrix–Vector Products: Power Iteration, Deflation, Lanczos, and Arnoldi

This document rigorously studies what can be learned about the A nonzero vector u\mathbf u is an eigenvector of A\mathbf A, with eigenvalue λ\lambda, when Au=λu.\mathbf A\mathbf u=\lambda\mathbf u. Multiplying u\mathbf u by A\mathbf A only rescales it, by the factor λ\lambda, and the pair (λ,u)(\lambda,\mathbf u) is called an eigenpair. For example, A=[2112]\mathbf A=\left[\begin{smallmatrix}2&1\\1&2\end{smallmatrix}\right] maps [1,1]⊤[1,1]^\top to 3[1,1]⊤3[1,1]^\top and [1,−1]⊤[1,-1]^\top to itself, so these two vectors are eigenvectors, with the eigenvalues 33 and 11. Rewriting the definition as (A−λ Id)u=0(\mathbf A-\lambda\,\mathbb I_d)\mathbf u=0 shows that λ\lambda is an eigenvalue exactly when the matrix A−λ Id\mathbf A-\lambda\,\mathbb I_d is singular, that is, when λ\lambda is a root of the polynomial λ↦det⁡(λ Id−A),\lambda\mapsto\det(\lambda\,\mathbb I_d-\mathbf A), of degree dd, called the characteristic polynomial of A\mathbf A. The eigenvectors of λ\lambda are then the nonzero vectors of the null space ker⁡(A−λ Id)\ker(\mathbf A-\lambda\,\mathbb I_d), called the eigenspace of λ\lambda. A real polynomial can have complex roots, so a real matrix can have complex eigenvalues. The rotation [0−110]\left[\begin{smallmatrix}0&-1\\1&0\end{smallmatrix}\right] turns every real vector by a quarter turn, so it has no real eigenvector, and its characteristic polynomial λ2+1\lambda^2+1 has the roots ±i\pm i. A real symmetric matrix, in contrast, has only real eigenvalues and an orthonormal basis of eigenvectors, by the spectral theorem used in Sections 1 to 4. Computing the characteristic polynomial requires every entry of A\mathbf A, which the setting of this post does not provide. The definition itself, however, involves A\textcolor{#2563eb}{\mathbf A} only through the product Au\textcolor{#2563eb}{\mathbf A\mathbf u}. One product is enough to test a candidate pair (λ,u)(\lambda,\mathbf u), because the residual Au−λu=(A−λ Id)u\mathbf A\mathbf u-\lambda\mathbf u=(\mathbf A-\lambda\,\mathbb I_d)\mathbf u vanishes exactly when the pair is an eigenpair. The methods of this post use A\mathbf A in no other way. For a symmetric matrix, Lemma 2 and Remark 11 also turn a small residual into a guarantee: if ∥u∥=1\|\mathbf u\|=1, then λ\lambda is within ∥Au−λu∥\|\mathbf A\mathbf u-\lambda\mathbf u\| of an eigenvalue. of a real matrix A∈Rd×d\mathbf{A}\in\mathbb{R}^{d\times d} that is known only through the map x↦Ax\mathbf{x}\mapsto\mathbf{A}\mathbf{x}. Storing A\mathbf{A} takes d2d^2 numbers, and forming it can cost much more. In many applications, however, the product Ax\mathbf{A}\mathbf{x} is cheap, because it follows directly from how A\mathbf{A} is defined, whether A\mathbf{A} is built from a data matrix, a sparse graph or a discretized differential operator, or is the Hessian of a function whose gradient can be computed (Section 2 gives more examples). Two families of methods need nothing more than such products: power iteration (Section 3), which extracts one eigenpair at a time and reaches further eigenpairs through shifts and deflation, and the Lanczos method (Section 4), which builds an orthonormal basis of a Krylov subspace and solves a small tridiagonal eigenvalue problem inside it. Sections 1 to 4 assume that A\mathbf{A} is symmetric, as Hessians, covariance matrices and the adjacency matrices of undirected graphs are. The Arnoldi method (Section 5) extends the Lanczos method to nonsymmetric matrices, such as the transition matrix of a random walk on a directed graph.

The results assume neither positive definiteness nor distinct eigenvalues. Each statement says precisely which eigenpairs are recovered, and the remarks say which are not. All the delicate cases are treated explicitly: a dominant eigenvalue of either sign, opposite eigenvalues of equal magnitude, repeated eigenvalues, and zero eigenvalues. Sections 3, 4 and 5 each end with an implementable procedure: Algorithm 1 for power iteration, Algorithm 2 for the Lanczos method and Algorithm 3 for the Arnoldi method. All three stop when a residual computed with the original matrix falls below a tolerance. The figures run these procedures on matrices with prescribed spectra and on five matrices from applications: the adjacency matrix of a graph, a covariance matrix and the Hessian of a neural network (Section 2), and the transition matrix of a random walk on a directed graph and a discretized convection–diffusion operator (Section 5.1). The code that produces them, with implementations of the three algorithms, is on GitHub.

For a symmetric A\mathbf{A}, the central object is the decomposition of a vector along the eigenspaces of A\mathbf{A}. Let Λ(A)\Lambda(\mathbf{A}) be the set of distinct eigenvalues of A\mathbf{A}, and let Πλ\Pi_\lambda be the orthogonal projection onto the eigenspace of λ∈Λ(A)\lambda\in\Lambda(\mathbf{A}). Then, for every vector v∈Rd\mathbf{v}\in\mathbb{R}^d and every integer k≥0k\ge0,

v=∑λ∈Λ(A)Πλv,Akv=∑λ∈Λ(A)λk Πλv.\mathbf{v}=\sum_{\lambda\in\Lambda(\mathbf{A})}\Pi_\lambda\mathbf{v}, \qquad \mathbf{A}^k\mathbf{v}=\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda^k\,\Pi_\lambda\mathbf{v}.

Started from v\mathbf{v}, power iteration keeps the last vector of the sequence v,Av,A2v,…\mathbf{v},\mathbf{A}\mathbf{v},\mathbf{A}^2\mathbf{v},\dots and lets the factors λk\lambda^k select the eigenvalue of largest magnitude. The Lanczos method keeps the whole sequence and optimizes over its span. Every proof of Sections 3 and 4 follows the components Πλv\Pi_\lambda\mathbf{v} through these operations, and Section 5 shows what changes when the eigenspaces are no longer orthogonal.

1. Notation and preliminaries

Notation

  • ∥⋅∥\|\cdot\| is the Euclidean norm, Id\mathbb{I}_d the d×dd\times d identity matrix, δiℓ\delta_{i\ell} the Kronecker delta, and em=[0,…,0,1]⊤∈Rm\mathbf{e}_m=[0,\ldots,0,1]^\top\in\mathbb{R}^m the last standard basis vector of Rm\mathbb{R}^m.

  • For a subspace S⊆RdS\subseteq\mathbb{R}^d, S⊥={x∈Rd:x⊤s=0 ∀s∈S}S^\perp=\{\mathbf{x}\in\mathbb{R}^d:\mathbf{x}^\top\mathbf{s}=0 \ \forall \mathbf{s}\in S\} is its orthogonal complement.

  • For a matrix M\mathbf{M} with nn columns, ker⁡(M)={x∈Rn:Mx=0}\ker(\mathbf{M})=\{\mathbf{x}\in\mathbb{R}^n:\mathbf{M}\mathbf{x}=0\} is its null space and range⁡(M)={Mx:x∈Rn}\operatorname{range}(\mathbf{M})=\{\mathbf{M}\mathbf{x}:\mathbf{x}\in\mathbb{R}^n\} is its column space.

  • In Sections 1 to 4, A∈Rd×d\mathbf{A}\in\mathbb{R}^{d\times d} is symmetric, and Section 5 drops this assumption. We let Λ(A)\Lambda(\mathbf{A}) be the set of its distinct eigenvalues, so that a repeated eigenvalue appears once in Λ(A)\Lambda(\mathbf{A}), and we write λmin⁡(A)=min⁡Λ(A)\lambda_{\min}(\mathbf{A})=\min\Lambda(\mathbf{A}) and λmax⁡(A)=max⁡Λ(A)\lambda_{\max}(\mathbf{A})=\max\Lambda(\mathbf{A}). For each λ∈Λ(A)\lambda\in\Lambda(\mathbf{A}), Eλ=ker⁡(A−λId)E_\lambda=\ker(\mathbf{A}-\lambda\mathbb{I}_d) is the eigenspace of λ\lambda, and Πλ\Pi_\lambda is the orthogonal projection onto EλE_\lambda. If the columns u1,…,umλ\mathbf{u}_1,\dots,\mathbf{u}_{m_\lambda} of Uλ∈Rd×mλ\mathbf{U}_\lambda\in\mathbb{R}^{d\times m_\lambda} form an orthonormal basis of EλE_\lambda, where mλm_\lambda is the multiplicity of λ\lambda, then Πλ=UλUλ⊤=∑i=1mλuiui⊤\Pi_\lambda=\mathbf{U}_\lambda\mathbf{U}_\lambda^\top=\sum_{i=1}^{m_\lambda}\mathbf{u}_i\mathbf{u}_i^\top, that is, Πλx=∑i=1mλ(ui⊤x) ui\Pi_\lambda\mathbf{x}=\sum_{i=1}^{m_\lambda}(\mathbf{u}_i^\top\mathbf{x})\,\mathbf{u}_i keeps the components of x\mathbf{x} along these basis vectors. An expression in terms of A\mathbf{A} alone is given below.

  • For vectors u1,…,um∈Rd\mathbf{u}_1,\dots,\mathbf{u}_m\in\mathbb{R}^d, [u1,…,um]∈Rd×m[\mathbf{u}_1,\dots,\mathbf{u}_m]\in\mathbb{R}^{d\times m} is the matrix with these columns, and span⁡{u1,…,um}\operatorname{span}\{\mathbf{u}_1,\dots,\mathbf{u}_m\} is the set of their linear combinations

  • diag⁡(c1,…,cm)\operatorname{diag}(c_1,\dots,c_m) is the diagonal matrix with diagonal entries c1,…,cm∈Rc_1,\dots,c_m \in \mathbb{R}.

  • N(0,Id)\mathcal{N}(0,\mathbb{I}_d) is the standard Gaussian distribution on Rd\mathbb{R}^d, and sgn⁡(t)∈{−1,1}\operatorname{sgn}(t)\in\{-1,1\} is the sign of a real number t≠0t\neq0.

Spectral decomposition

When A\mathbf{A} is symmetric, the Every real symmetric matrix has an orthonormal basis of eigenvectors. Collecting the basis vectors that share the eigenvalue λ\lambda as the columns of a matrix Uλ\mathbf U_\lambda gives Πλ=UλUλ⊤\Pi_\lambda=\mathbf U_\lambda\mathbf U_\lambda^\top, and the three identities follow from the orthonormality of the basis. gives

A=∑λ∈Λ(A)λ Πλ,Id=∑λ∈Λ(A)Πλ,ΠλΠμ=0when λ≠μ.\mathbf{A}=\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda\,\Pi_\lambda, \qquad \mathbb{I}_d=\sum_{\lambda\in\Lambda(\mathbf{A})}\Pi_\lambda, \qquad \Pi_\lambda\Pi_\mu=0 \quad\text{when }\lambda\neq\mu .

The powers of A\mathbf{A} act on each eigenspace separately, and so does every polynomial: for every integer k≥0k\ge0 and every polynomial pp,

Ak=∑λ∈Λ(A)λk Πλ,p(A)=∑λ∈Λ(A)p(λ) Πλ.\mathbf{A}^k=\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda^k\,\Pi_\lambda, \qquad p(\mathbf{A})=\sum_{\lambda\in\Lambda(\mathbf{A})}p(\lambda)\,\Pi_\lambda .

In fact, each column ui\mathbf{u}_i of Uλ\mathbf{U}_\lambda is an eigenvector, Aui=λui\mathbf{A}\mathbf{u}_i=\lambda\mathbf{u}_i, so multiplying Πλ=∑i=1mλuiui⊤\Pi_\lambda=\sum_{i=1}^{m_\lambda} \mathbf{u}_i\mathbf{u}_i^\top by A\mathbf{A} gives A Πλ=∑i=1mλ(Aui) ui⊤=λ Πλ.\mathbf{A}\,\Pi_\lambda=\sum_{i=1}^{m_\lambda}(\mathbf{A}\mathbf{u}_i)\,\mathbf{u}_i^\top=\lambda\,\Pi_\lambda. The spectral theorem gives the same identity, since A Πλ=∑μμ ΠμΠλ=λ Πλ2\mathbf{A}\,\Pi_\lambda=\sum_{\mu}\mu\,\Pi_\mu\Pi_\lambda=\lambda\,\Pi_\lambda^2 and Πλ2=Πλ\Pi_\lambda^2=\Pi_\lambda. Applying it kk times gives AkΠλ=λkΠλ\mathbf{A}^k\Pi_\lambda=\lambda^k\Pi_\lambda, and multiplying Id=∑λΠλ\mathbb{I}_d=\sum_\lambda\Pi_\lambda by Ak\mathbf{A}^k then gives the first identity above. For a polynomial p(t)=∑k=0ncktkp(t)=\sum_{k=0}^n c_k t^k, we have p(A)=∑k=0nckAk=∑λ(∑k=0nckλk)Πλ=∑λp(λ)Πλp(\mathbf{A})=\sum_{k=0}^nc_k\mathbf{A}^k=\sum_\lambda\bigl(\sum_{k=0}^nc_k\lambda^k\bigr)\Pi_\lambda=\sum_\lambda p(\lambda)\Pi_\lambda, which is the second identity.

Taking for pp the Given finitely many distinct numbers, the Lagrange polynomial attached to one of them equals 11 at that number and 00 at all the others. For λ∈Λ(A)\lambda\in\Lambda(\mathbf A) it is ℓλ(t)=∏μ∈Λ(A), μ≠λt−μλ−μ.\displaystyle\ell_\lambda(t)=\prod_{\mu\in\Lambda(\mathbf A),\,\mu\neq\lambda}\frac{t-\mu}{\lambda-\mu}. Each factor vanishes at its own μ\mu and equals 11 at t=λt=\lambda, so ℓλ(λ)=1\ell_\lambda(\lambda)=1 and ℓλ(μ)=0\ell_\lambda(\mu)=0 for every other μ∈Λ(A)\mu\in\Lambda(\mathbf A). Its degree is ∣Λ(A)∣−1|\Lambda(\mathbf A)|-1. Substituting it for pp in p(A)=∑νp(ν) Πνp(\mathbf A)=\sum_{\nu}p(\nu)\,\Pi_\nu keeps only the term ν=λ\nu=\lambda, so ℓλ(A)=Πλ.\ell_\lambda(\mathbf A)=\Pi_\lambda. For example, if Λ(A)={1,3}\Lambda(\mathbf A)=\{1,3\}, then ℓ1(t)=(3−t)/2\ell_1(t)=(3-t)/2 and Π1=(3 Id−A)/2\Pi_1=(3\,\mathbb I_d-\mathbf A)/2. that equals 11 at λ\lambda and 00 at the other distinct eigenvalues expresses each projection through A\mathbf{A} alone:

Πλ=∏μ∈Λ(A)μ≠λA−μ Idλ−μ,\Pi_\lambda=\prod_{\substack{\mu\in\Lambda(\mathbf{A})\\\mu\neq\lambda}}\frac{\mathbf{A}-\mu\,\mathbb{I}_d}{\lambda-\mu},

where the empty product, when A\mathbf{A} has a single distinct eigenvalue, equals Id\mathbb{I}_d.

These projections are used in the analysis. The algorithms below do not require computing them.

2. Matrices known only through their products

The results below use A\mathbf{A} only through the products x↦Ax\mathbf{x}\mapsto\mathbf{A}\mathbf{x}, so they hold whatever routine computes those products. The following cases are typical.

2.1 Hessians

In many problems, A=∇θ2f(θ)\mathbf{A}=\nabla_\theta^2f(\theta) is the Hessian of a function f:Rd→Rf:\mathbb{R}^d\to\mathbb{R} that is twice continuously differentiable in a neighborhood of a point θ\theta. Examples include the following.

  • Training losses. The training loss of a (deep) neural network with parameters θ\theta is f(θ)=1n∑i=1nℓ(zi(θ),yi)f(\theta)=\frac1n\sum_{i=1}^n \ell\bigl(\mathbf{z}_i(\theta),\mathbf{y}_i\bigr), where zi(θ)\mathbf{z}_i(\theta) is the output of the network on the ii-th of nn training inputs, yi\mathbf{y}_i is the target for that input, and ℓ\ell is a cost function such as ℓ(z,y)=12∥z−y∥2\ell(\mathbf{z},\mathbf{y})=\frac12\|\mathbf{z}-\mathbf{y}\|^2. Its curvature is studied to understand optimization (how training progresses) and generalization (how the network performs on new inputs).
  • Likelihoods. The negative log-likelihood of observations y1,…,yn\mathbf{y}_1,\dots,\mathbf{y}_n under a statistical model with density p(⋅ ;θ)p(\cdot\,;\theta) is f(θ)=−∑i=1nlog⁡p(yi;θ)f(\theta)=-\sum_{i=1}^n\log p(\mathbf{y}_i;\theta). Its minimizer θ^\hat\theta is the maximum-likelihood estimate, and the Hessian ∇2f(θ^)\nabla^2f(\hat\theta) is the observed Fisher information. For large samples, its inverse approximates the covariance of θ^\hat\theta, that is, how precisely the data determine the parameters.
  • Newton-type optimization. To minimize f(θ)f(\theta), Near θ\theta, Newton’s method replaces ff by its second-order Taylor expansion, a quadratic function of the step: f(θ+Δθ)≈f(θ)+∇f(θ)⊤Δθ+12 Δθ⊤∇2f(θ) Δθ.f(\theta+\Delta\theta)\approx f(\theta)+\nabla f(\theta)^\top\Delta\theta+\tfrac12\,\Delta\theta^\top\nabla^2f(\theta)\,\Delta\theta. The gradient of this model with respect to Δθ\Delta\theta is ∇f(θ)+∇2f(θ) Δθ\nabla f(\theta)+\nabla^2f(\theta)\,\Delta\theta, and setting it to zero gives the linear system ∇2f(θ) Δθ=−∇f(θ)\nabla^2f(\theta)\,\Delta\theta=-\nabla f(\theta). When ∇2f(θ)\nabla^2f(\theta) is positive definite, the model is a bowl and Δθ\Delta\theta goes to its bottom. Otherwise, the model has no minimum, and practical methods modify the step. In one dimension, the step Δθ=−f′(θ)/f′′(θ)\Delta\theta=-f'(\theta)/f''(\theta) moves to the point where the tangent line of f′f' at θ\theta crosses zero, as Newton’s method does to solve f′=0f'=0. Write the Hessian in an orthonormal eigenbasis, ∇2f(θ)=∑j=1dλjujuj⊤\nabla^2f(\theta)=\sum_{j=1}^d\lambda_j\mathbf{u}_j\mathbf{u}_j^\top, with every λj>0\lambda_j>0. Since ui⊤uj=δij\mathbf{u}_i^\top\mathbf{u}_j=\delta_{ij}, multiplying the sum on the left by ui⊤\mathbf{u}_i^\top gives ui⊤∇2f(θ)=λiui⊤\mathbf{u}_i^\top\nabla^2f(\theta)=\lambda_i\mathbf{u}_i^\top. Multiplying the linear system on the left by ui⊤\mathbf{u}_i^\top therefore gives λi ui⊤Δθ=−ui⊤∇f(θ)\lambda_i\,\mathbf{u}_i^\top\Delta\theta=-\mathbf{u}_i^\top\nabla f(\theta), that is, ui⊤Δθ=−ui⊤∇f(θ)/λi.\mathbf{u}_i^\top\Delta\theta=- \mathbf{u}_i^\top\nabla f(\theta)/\lambda_i. Expanding the step in the same basis, Δθ=∑i=1d(ui⊤Δθ) ui\Delta\theta=\sum_{i=1}^d(\mathbf{u}_i^\top\Delta\theta)\,\mathbf{u}_i, and substituting each coordinate gives Δθ=−∑i=1dui⊤∇f(θ)λi ui.\displaystyle\Delta\theta=-\sum_{i=1}^d\frac{\mathbf{u}_i^\top\nabla f(\theta)}{\lambda_i}\,\mathbf{u}_i. Each component of the gradient is divided by the curvature λi\lambda_i along ui\mathbf{u}_i, so the step is short where ff is steep and long where ff is flat. Gradient descent instead takes the step Δθ=−α∇f(θ)=−∑i=1dα (ui⊤∇f(θ)) ui,\displaystyle\Delta\theta=-\alpha\nabla f(\theta)=-\sum_{i=1}^d\alpha\,\bigl(\mathbf{u}_i^\top\nabla f(\theta)\bigr)\,\mathbf{u}_i, which multiplies every coordinate by the same factor α\alpha. takes the step Δθ\Delta\theta that solves the linear system ∇2f(θ) Δθ=−∇f(θ)\nabla^2f(\theta)\,\Delta\theta=-\nabla f(\theta). Solving it by forming and factorizing the d×dd\times d Hessian would take d2d^2 numbers of storage and about d3d^3 operations. Truncated Newton methods (Dembo and Steihaug, 1983) instead run a few iterations of the conjugate gradient method (Hestenes and Stiefel, 1952), which uses the Hessian only through products ∇2f(θ) x\nabla^2f(\theta)\,\mathbf{x}, computed as explained below, and stop once the step is accurate enough. The conjugate gradient method builds the same Krylov subspaces as the Lanczos method.
  • Molecular vibrations. The potential energy f(θ)f(\theta) of a molecule depends on the positions θ∈R3N\theta\in\mathbb{R}^{3N} of its NN atoms. Near an equilibrium θ⋆\theta^\star, where ∇f(θ⋆)=0\nabla f(\theta^\star)=0, small displacements obey Newton’s second law says that mass times acceleration equals force, and the force on the atoms is minus the gradient of the potential energy, −∇f(θ)-\nabla f(\theta): the atoms are pushed downhill. Near θ⋆\theta^\star, the first-order Taylor expansion of the gradient is ∇f(θ)≈∇f(θ⋆)+∇2f(θ⋆)(θ−θ⋆)=∇2f(θ⋆)(θ−θ⋆),\nabla f(\theta)\approx\nabla f(\theta^\star)+\nabla^2f(\theta^\star)(\theta-\theta^\star)=\nabla^2f(\theta^\star)(\theta-\theta^\star), because ∇f(θ⋆)=0\nabla f(\theta^\star)=0 at an equilibrium. The force is therefore a linear restoring force, as for a system of springs, and Mθ¨=−∇f(θ)\mathbf M\ddot\theta=-\nabla f(\theta) becomes the stated equation, where θ¨\ddot\theta is the acceleration, the second time derivative of the positions. Mθ¨=−∇2f(θ⋆)(θ−θ⋆)\mathbf{M}\ddot\theta=-\nabla^2f(\theta^\star)(\theta-\theta^\star), where M\mathbf{M} is the diagonal matrix of atomic masses, each repeated for the three coordinates of its atom. The eigenvectors of the In the mass-weighted coordinates x=M1/2(θ−θ⋆)\mathbf x=\mathbf M^{1/2}(\theta-\theta^\star), substituting θ−θ⋆=M−1/2x\theta-\theta^\star=\mathbf M^{-1/2}\mathbf x into the equation of motion and multiplying it on the left by M−1/2\mathbf M^{-1/2} gives x¨=−Kx,K=M−1/2∇2f(θ⋆)M−1/2.\ddot{\mathbf x}=-\mathbf K\mathbf x,\qquad\mathbf K=\mathbf M^{-1/2}\nabla^2f(\theta^\star)\mathbf M^{-1/2}. A motion in which every coordinate oscillates at the same frequency ω\omega in a fixed pattern v\mathbf v, x(t)=cos⁡(ωt) v\mathbf x(t)=\cos(\omega t)\,\mathbf v, has x¨=−ω2x\ddot{\mathbf x}=-\omega^2\mathbf x, so it solves the equation exactly when Kv=ω2v\mathbf K\mathbf v=\omega^2\mathbf v. Each eigenvector of K\mathbf K is thus a vibration pattern, a normal mode, and its eigenvalue is the squared frequency of that mode. Because K\mathbf K is symmetric, its orthonormal eigenvectors split every small motion into independent normal modes, each vibrating at its own frequency, and the weighting by M−1/2\mathbf M^{-1/2} on both sides is what keeps the matrix symmetric. At a minimum of ff, the Hessian is positive semidefinite, and so is K\mathbf K, since x⊤Kx=(M−1/2x)⊤∇2f(θ⋆)(M−1/2x)≥0\mathbf x^\top\mathbf K\mathbf x=(\mathbf M^{-1/2}\mathbf x)^\top\nabla^2f(\theta^\star)(\mathbf M^{-1/2}\mathbf x)\ge0. Its eigenvalues are therefore nonnegative, and each one is the square of a real frequency ω\omega. At a saddle point of ff, an eigenvalue −μ<0-\mu<0 would have no real square root, and the displacement along its mode would grow like eμ te^{\sqrt{\mu}\,t} instead of oscillating. For example, take two atoms of masses m1m_1 and m2m_2 at positions θ1\theta_1 and θ2\theta_2 on a line, joined by a spring of stiffness kk and rest length aa. The energy of the spring is f(θ)=k2(θ2−θ1−a)2f(\theta)=\tfrac k2(\theta_2-\theta_1-a)^2, and ∇2f(θ⋆)=k[1−1−11],K=k[1/m1−1/m1m2−1/m1m21/m2].\nabla^2f(\theta^\star)=k\begin{bmatrix}1&-1\\-1&1\end{bmatrix},\qquad\mathbf K=k\begin{bmatrix}1/m_1&-1/\sqrt{m_1m_2}\\-1/\sqrt{m_1m_2}&1/m_2\end{bmatrix}. The eigenvalues of K\mathbf K are 00, whose mode moves both atoms together and stretches nothing, and k(1/m1+1/m2)k(1/m_1+1/m_2), the trace of K\mathbf K. The second mode moves the atoms in opposite directions, the heavier one less, and it is the stretching vibration, with frequency ω=k(1/m1+1/m2)\omega=\sqrt{k(1/m_1+1/m_2)}. M−1/2∇2f(θ⋆)M−1/2\mathbf{M}^{-1/2}\nabla^2f(\theta^\star)\mathbf{M}^{-1/2} are the vibration patterns of the molecule (its normal modes), and its eigenvalues are the squared vibration frequencies ω2\omega^2. A product with this matrix is a Hessian–vector product between two diagonal scalings, M−1/2(∇2f(θ⋆)(M−1/2x))\mathbf{M}^{-1/2}\bigl(\nabla^2f(\theta^\star)(\mathbf{M}^{-1/2}\mathbf{x})\bigr), so the lowest-frequency modes of a large molecule, its slowest collective motions, can be computed without forming the 3N×3N3N\times3N Hessian.

Such a Hessian is symmetric by When the second partial derivatives of ff are continuous near θ\theta, they do not depend on the order of differentiation: ∂2f/∂θi∂θj=∂2f/∂θj∂θi\partial^2f/\partial\theta_i\partial\theta_j=\partial^2f/\partial\theta_j\partial\theta_i. The Hessian is therefore a real symmetric matrix.. In that case, each product can be evaluated as Ax=∇θ(∇θf(θ)⊤x),\mathbf{A}\mathbf{x}=\nabla_\theta\bigl(\nabla_\theta f(\theta)^\top\mathbf{x}\bigr), with x\mathbf{x} held constant during differentiation. The scalar ∇θf(θ)⊤x\nabla_\theta f(\theta)^\top\mathbf{x} is the directional derivative of ff along x\mathbf{x}. Its gradient with respect to θ\theta is ∇θ2f(θ)⊤x\nabla_\theta^2f(\theta)^\top\mathbf{x}, which equals Ax\mathbf{A}\mathbf{x} because the Hessian is symmetric. Automatic differentiation therefore returns the product at a The product is obtained by differentiating the gradient computation once more, in forward or reverse mode. Each pass costs a small constant multiple of the original computation, so the product costs about as much as a few gradient evaluations. (Pearlmutter, 1994), and the d×dd\times d matrix is never formed.

The point θ\theta and everything that defines ff must remain fixed during an eigensolver run. For a training loss, evaluating it on a different random subset of the data (a minibatch) between two products changes the matrix being analyzed, and the statements below then no longer describe the computation.

Every symmetric matrix A\mathbf{A} is in fact a Hessian: the quadratic x↦12x⊤Ax\mathbf{x}\mapsto\frac12\mathbf{x}^\top\mathbf{A}\mathbf{x} has the Hessian A\mathbf{A} at every point. This does not help to compute products, since the gradient of that quadratic is Ax\mathbf{A}\mathbf{x} itself. The Hessian route pays off when ff is given by a program whose gradient is cheap, so that curvature is obtained from first-order code. For the matrices of the following section, the products come instead from the structure that defines A\mathbf{A}.

2.2 Other matrices known through their products

Products are just as cheap in many cases where A\mathbf{A} is not presented as a Hessian.

  • Gram and covariance matrices. For a data matrix X∈Rn×d\mathbf{X}\in\mathbb{R}^{n\times d}, whose nn rows are observations of dd variables, the product X⊤Xx=X⊤(Xx)\mathbf{X}^\top\mathbf{X}\mathbf{x}=\mathbf{X}^\top(\mathbf{X}\mathbf{x}) The parentheses fix the order: two matrix–vector products, and X⊤X\mathbf X^\top\mathbf X is never formed. First, each of the nn entries of y=Xx\mathbf y=\mathbf X\mathbf x is the inner product of a row of X\mathbf X with x\mathbf x, about dd multiplications and additions. Then each of the dd entries of X⊤y\mathbf X^\top\mathbf y is the inner product of a column of X\mathbf X with y\mathbf y, about nn of them. Each pass costs about ndnd operations, and only y\mathbf y is stored in between. Forming X⊤X\mathbf X^\top\mathbf X instead takes d2d^2 inner products of columns of length nn, about nd2nd^2 operations, and d2d^2 numbers of storage. For n=106n=10^6 observations of d=104d=10^4 variables, one product costs about 2⋅10102\cdot10^{10} operations, whereas forming X⊤X\mathbf X^\top\mathbf X costs about 101410^{14} operations and 10810^8 numbers of storage. If X\mathbf X is sparse, a product costs on the order of its number of nonzero entries., whereas forming X⊤X\mathbf{X}^\top\mathbf{X} costs O(nd2)O(nd^2) and storing it costs O(d2)O(d^2). When each column of X\mathbf{X} has zero mean, the sample covariance matrix of the dd variables is the average of the outer products of the observations, X⊤X/n=(1/n)∑i=1nXiXi⊤\mathbf{X}^\top\mathbf{X}/n=(1/n)\sum_{i=1}^n\mathbf{X}_i\mathbf{X}_i^\top, where Xi∈Rd\mathbf{X}_i\in\mathbb{R}^d is the ii-th row of X\mathbf{X}. Its leading eigenvector, the first principal component, is the direction of largest variance in the data: it maximizes the variance 1n∥Xu∥2\frac1n\|\mathbf{X}\mathbf{u}\|^2 of the data projected on u\mathbf{u} over unit vectors u\mathbf{u}.
  • Gauss–Newton matrices. Many objectives are compositions f(θ)=ψ(F(θ))f(\theta)=\psi\bigl(F(\theta)\bigr) of a map F:Rd→RpF:\mathbb{R}^d\to\mathbb{R}^p and a function ψ:Rp→R\psi:\mathbb{R}^p\to\mathbb{R}, both twice differentiable. For the training loss of Section 2.1, F(θ)F(\theta) stacks the outputs z1(θ),…,zn(θ)\mathbf{z}_1(\theta),\dots,\mathbf{z}_n(\theta) into one vector of Rp\mathbb{R}^p, and ψ(z)=1n∑i=1nℓ(zi,yi)\psi(\mathbf{z})=\frac1n\sum_{i=1}^n\ell(\mathbf{z}_i,\mathbf{y}_i) for z=[z1;… ;zn]\mathbf{z}=[\mathbf{z}_1;\dots;\mathbf{z}_n]. Let J∈Rp×d\mathbf{J}\in\mathbb{R}^{p\times d} be the Jacobian of FF at θ\theta, with entries Jkj=∂Fk(θ)/∂θjJ_{kj}=\partial F_k(\theta)/\partial\theta_j, and let H=∇2ψ(F(θ))∈Rp×p\mathbf{H}=\nabla^2\psi\bigl(F(\theta)\bigr)\in\mathbb{R}^{p\times p}. The chain rule gives ∇2f(θ)=J⊤HJ+∑k=1p∂kψ(F(θ)) ∇2Fk(θ)\nabla^2f(\theta)=\mathbf{J}^\top\mathbf{H}\mathbf{J}+\sum_{k=1}^p\partial_k\psi\bigl(F(\theta)\bigr)\,\nabla^2F_k(\theta), where ∂kψ\partial_k\psi is the partial derivative of ψ\psi with respect to its kk-th argument. The generalized Gauss–Newton matrix G=J⊤HJ\mathbf{G}=\mathbf{J}^\top\mathbf{H}\mathbf{J} keeps the first term. It is symmetric, and positive semidefinite when ψ\psi is convex. It is applied as Gx=J⊤(H(Jx))\mathbf{G}\mathbf{x}=\mathbf{J}^\top\bigl(\mathbf{H}(\mathbf{J}\mathbf{x})\bigr), where automatic differentiation computes Jx\mathbf{J}\mathbf{x} in forward mode and J⊤u\mathbf{J}^\top\mathbf{u} in reverse mode without forming J\mathbf{J}. For least squares, ψ(z)=12∥z−y∥2\psi(\mathbf{z})=\frac12\|\mathbf{z}-\mathbf{y}\|^2 for a target y∈Rp\mathbf{y}\in\mathbb{R}^p, so H=Ip\mathbf{H}=\mathbb{I}_p and G=J⊤J\mathbf{G}=\mathbf{J}^\top\mathbf{J}. When FF is linear, F(θ)=JθF(\theta)=\mathbf{J}\theta, every ∇2Fk\nabla^2F_k vanishes and G\mathbf{G} is the exact Hessian. When FF is nonlinear, G=J⊤J\mathbf{G}=\mathbf{J}^\top\mathbf{J} is the classical Gauss–Newton approximation of the Hessian. For the squared loss and the softmax cross-entropy of a neural network, G\mathbf{G} is also the Suppose the model gives each target a probability density p(y ∣ z)p(\mathbf y\,|\,\mathbf z) that depends on the output z=F(θ)\mathbf z=F(\theta), and that ℓ\ell is the corresponding negative log-likelihood. The Fisher information matrix is Ey∼p(⋅ ∣ F(θ))[∇θlog⁡p(y ∣ F(θ)) ∇θlog⁡p(y ∣ F(θ))⊤].\mathbb E_{\mathbf y\sim p(\cdot\,|\,F(\theta))}\bigl[\nabla_\theta\log p(\mathbf y\,|\,F(\theta))\,\nabla_\theta\log p(\mathbf y\,|\,F(\theta))^\top\bigr]. By the chain rule it equals J⊤IzJ\mathbf J^\top\mathbf I_{\mathbf z}\mathbf J at z=F(θ)\mathbf z=F(\theta), where Iz=Ey∼p(⋅ ∣ z)[∇zlog⁡p(y ∣ z) ∇zlog⁡p(y ∣ z)⊤]=Ey∼p(⋅ ∣ z)[−∇z2log⁡p(y ∣ z)].\mathbf I_{\mathbf z}=\mathbb E_{\mathbf y\sim p(\cdot\,|\,\mathbf z)}\bigl[\nabla_{\mathbf z}\log p(\mathbf y\,|\,\mathbf z)\,\nabla_{\mathbf z}\log p(\mathbf y\,|\,\mathbf z)^\top\bigr]=\mathbb E_{\mathbf y\sim p(\cdot\,|\,\mathbf z)}\bigl[-\nabla_{\mathbf z}^2\log p(\mathbf y\,|\,\mathbf z)\bigr]. When −∇z2log⁡p(y ∣ z)-\nabla_{\mathbf z}^2\log p(\mathbf y\,|\,\mathbf z) does not depend on y\mathbf y, the last expectation is H\mathbf H, so the Fisher matrix is G\mathbf G. This holds for a Gaussian with mean z\mathbf z (the squared loss, H=I\mathbf H=\mathbb I) and for a categorical distribution with probabilities sk=ezk/∑jezjs_k=e^{z_k}/\sum_je^{z_j} (the softmax cross-entropy, H=diag⁡(s)−ss⊤\mathbf H=\operatorname{diag}(\mathbf s)-\mathbf s\mathbf s^\top). of the model.
  • Graphs. For an undirected graph on dd nodes, the adjacency matrix W\mathbf{W} has the entries Wij=Wji≥0W_{ij}=W_{ji}\ge0, the weight of the edge between nodes ii and jj, with Wij=0W_{ij}=0 when there is no edge. It is symmetric, and so is the Laplacian L=diag⁡(W1)−W\mathbf{L}=\operatorname{diag}(\mathbf{W}\mathbf{1})-\mathbf{W}, where 1\mathbf{1} is the all-ones vector. A product with either matrix costs one pass over the edges. Since x⊤Lx=∑i<jWij(xi−xj)2\mathbf{x}^\top\mathbf{L}\mathbf{x}=\sum_{i<j}W_{ij}(x_i-x_j)^2, the eigenvectors of L\mathbf{L} with the smallest eigenvalues vary little across heavily weighted edges. They are used to split the graph into well-connected groups, in spectral clustering and graph partitioning (von Luxburg, 2007).
  • Discretized differential operators. Finite-difference and finite-element discretizations of self-adjoint differential operators, such as those of heat conduction, elasticity or quantum mechanics, are applied point by point or element by element, in time proportional to the number of unknowns and without assembling the matrix. For instance, the operator u↦−u′′u\mapsto-u'' on [0,1][0,1] with u(0)=u(1)=0u(0)=u(1)=0, discretized on the grid ti=iht_i=ih with h=1/(d+1)h=1/(d+1), becomes the matrix defined by (Ax)i=(2xi−xi−1−xi+1)/h2(\mathbf{A}\mathbf{x})_i=(2x_i-x_{i-1}-x_{i+1})/h^2 for i∈{1,…,d}i\in\{1,\dots,d\}, with x0=xd+1=0x_0=x_{d+1}=0. Lanczos (1950) designed his method for linear differential and integral operators.
  • Structured matrices. A symmetric Toeplitz matrix is constant along each diagonal, Aij=a∣i−j∣A_{ij}=a_{|i-j|} for numbers a0,…,ad−1a_0,\dots,a_{d-1}, as is the covariance matrix of a stationary time series. It is applied in O(dlog⁡(d))O(d\log(d)) operations by embedding it in a circulant matrix of size 2d2d, whose rows are cyclic shifts of one another and which the fast Fourier transform (Cooley and Tukey, 1965) diagonalizes. Operators that act separately along the two axes of a grid are Kronecker products. A Kronecker product of symmetric matrices M1∈Rd1×d1\mathbf{M}_1\in\mathbb{R}^{d_1\times d_1} and M2∈Rd2×d2\mathbf{M}_2\in\mathbb{R}^{d_2\times d_2} is applied without being formed, through (M1⊗M2)vec⁡(Y)=vec⁡(M2YM1⊤)(\mathbf{M}_1\otimes\mathbf{M}_2)\operatorname{vec}(\mathbf{Y})=\operatorname{vec}(\mathbf{M}_2\mathbf{Y}\mathbf{M}_1^\top) for Y∈Rd2×d1\mathbf{Y}\in\mathbb{R}^{d_2\times d_1}, where vec⁡(⋅)\operatorname{vec}(\cdot) stacks the columns of a matrix.
  • Shifted inverses. If linear systems with A−σId\mathbf{A}-\sigma\mathbb{I}_d can be solved for a shift σ\sigma that is not an eigenvalue, for instance with a sparse factorization computed once, then x↦(A−σId)−1x\mathbf{x}\mapsto(\mathbf{A}-\sigma\mathbb{I}_d)^{-1}\mathbf{x} is a product with a symmetric matrix that has the same eigenvectors as A\mathbf{A} and the eigenvalues 1/(λ−σ)1/(\lambda-\sigma). Power iteration and the Lanczos method applied to it find the eigenvalues of A\mathbf{A} closest to σ\sigma. This is the shift-and-invert strategy.

All these matrices are symmetric, and the results of Sections 3 and 4 rely on symmetry through the spectral theorem. For a nonsymmetric matrix accessed through products, such as the transition matrix of a random walk on a directed graph, whose entry (i,j)(i,j) is the probability of stepping from node ii to node jj, the Arnoldi method (Arnoldi, 1951) replaces the Lanczos method. Section 5 presents it, together with nonsymmetric examples and what power iteration retains without symmetry.

3. Power iteration

In this part, we first establish the convergence conditions for ordinary power iteration, then describe how shifting and deflation recover additional eigenpairs. Starting from a unit vector v0\mathbf{v}_0, power iteration alternates a product with A\mathbf{A} and a normalization:

vk+1=Avk∥Avk∥,k≥0.\mathbf{v}_{k+1}=\frac{\mathbf{A}\mathbf{v}_k}{\|\mathbf{A}\mathbf{v}_k\|}, \qquad k\ge0 .

If Av0=0\mathbf{A}\mathbf{v}_0=0, then v0\mathbf{v}_0 is already an eigenvector with eigenvalue zero. In this case, the algorithm should return (0,v0)(0,\mathbf{v}_0) without attempting to normalize Av0\mathbf{A}\mathbf{v}_0.

The numerical analyst Alston S. Householder attributed the first treatment of the method to Müntz (1913) in his book The Theory of Matrices in Numerical Analysis (1964), as recalled in the historical survey of Golub and van der Vorst (2000). Deflation schemes built on it were analyzed early on, for example by Osborne (1958). The eigenvalue estimate of power iteration is the For a unit vector v\mathbf v, the Rayleigh quotient v⊤Av\mathbf v^\top\mathbf A\mathbf v is the curvature of x↦12x⊤Ax\mathbf x\mapsto\frac12\mathbf x^\top\mathbf A\mathbf x along v\mathbf v. It lies between λmin⁡(A)\lambda_{\min}(\mathbf A) and λmax⁡(A)\lambda_{\max}(\mathbf A). It equals λ\lambda for every unit vector v\mathbf v of the eigenspace EλE_\lambda, since Av=λv\mathbf A\mathbf v=\lambda\mathbf v gives v⊤Av=λ∥v∥2=λ\mathbf v^\top\mathbf A\mathbf v=\lambda\|\mathbf v\|^2=\lambda. The converse fails: v⊤Av=λ\mathbf v^\top\mathbf A\mathbf v=\lambda does not make v\mathbf v an eigenvector, except when λ\lambda is λmin⁡(A)\lambda_{\min}(\mathbf A) or λmax⁡(A)\lambda_{\max}(\mathbf A). vk⊤Avk\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k.

3.1 Proposition 1 [Convergence of power iteration]

Let v0∈Rd\mathbf{v}_0\in\mathbb{R}^d be a unit vector, and define Λ0={λ∈Λ(A):Πλv0≠0}.\Lambda_0=\{\lambda\in\Lambda(\mathbf{A}):\Pi_\lambda\mathbf{v}_0\neq0\}. Thus, Λ0\Lambda_0 contains precisely the eigenvalues whose eigenspaces have a nonzero component in the initialization. Suppose that Λ0\Lambda_0 contains a nonzero eigenvalue λ⋆\lambda_\star satisfying ∣λ⋆∣>∣λ∣|\lambda_\star|>|\lambda| for every λ∈Λ0∖{λ⋆}\lambda\in\Lambda_0\setminus\{\lambda_\star\}. The eigenvalue λ⋆\lambda_\star may have arbitrary multiplicity. Then the iteration

vk+1:=Avk∥Avk∥=Ak+1v0∥Ak+1v0∥,k≥0,\mathbf{v}_{k+1}:=\frac{\mathbf{A}\mathbf{v}_k}{\|\mathbf{A}\mathbf{v}_k\|}=\frac{\mathbf{A}^{k+1}\mathbf{v}_0}{\|\mathbf{A}^{k+1}\mathbf{v}_0\|}, \qquad k\ge0,

is well defined, and

(sgn⁡(λ⋆))kvk⟶q⋆:=Πλ⋆v0∥Πλ⋆v0∥.\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k \longrightarrow \mathbf{q}_\star:=\frac{\Pi_{\lambda_\star}\mathbf{v}_0}{\|\Pi_{\lambda_\star}\mathbf{v}_0\|}.

In particular,

Aq⋆=λ⋆q⋆,vk⊤Avk⟶λ⋆.\mathbf{A}\mathbf{q}_\star=\lambda_\star\mathbf{q}_\star, \qquad \mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k\longrightarrow\lambda_\star .

Remark 1 [Why the dominant component wins]

Recall that for every vector v∈Rd\mathbf{v}\in\mathbb{R}^d and every integer k≥0k\ge0, v=∑λ∈Λ(A)Πλv\mathbf{v}=\sum_{\lambda\in\Lambda(\mathbf{A})}\Pi_\lambda\mathbf{v} and Akv=∑λ∈Λ(A)λk Πλv.\mathbf{A}^k\mathbf{v}=\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda^k\,\Pi_\lambda\mathbf{v}. So, for the iteration above, each application of A\mathbf{A} multiplies the component of the current vector in EλE_\lambda by λ\lambda, so after kk steps the component in EλE_\lambda carries the factor λk\lambda^k:

Akv0=∑λ∈Λ0λk Πλv0=λ⋆k Πλ⋆v0+∑λ∈Λ0∖{λ⋆}λk Πλv0=λ⋆k(Πλ⋆v0+∑λ∈Λ0∖{λ⋆}(λλ⋆)k Πλv0).\mathbf{A}^k\mathbf{v}_0 =\sum_{\lambda\in\Lambda_0}\lambda^k\,\Pi_\lambda\mathbf{v}_0 =\textcolor{#2563eb}{\lambda_\star^k\,\Pi_{\lambda_\star}\mathbf{v}_0}+\textcolor{#ea580c}{\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\lambda^k\,\Pi_\lambda\mathbf{v}_0} =\lambda_\star^k \left( \textcolor{#2563eb}{\Pi_{\lambda_\star}\mathbf{v}_0}+\textcolor{#ea580c}{\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}} \left(\frac{\lambda}{\lambda_\star}\right)^k\,\Pi_\lambda\mathbf{v}_0} \right).

Among the components present in v0\mathbf{v}_0, the blue one, with the largest ∣λ∣|\lambda| (we have ∣λ⋆∣>∣λ∣|\lambda_\star|>|\lambda| for every λ∈Λ0∖{λ⋆}\lambda\in\Lambda_0\setminus\{\lambda_\star\} by assumption), grows fastest, and the normalization removes the common factor ∣λ⋆∣k|\lambda_\star|^k, so the orange components fade relative to it. Only the sign of λ⋆k\lambda_\star^k survives, which is why the statement multiplies vk\mathbf{v}_k by (sgn⁡(λ⋆))k\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k. The limit is the normalized projection of v0\mathbf{v}_0 onto the whole eigenspace Eλ⋆E_{\lambda_\star}: inside a repeated eigenspace, the direction is chosen by the initialization, not by the method.

Proof

Set pλ=Πλv0\mathbf{p}_\lambda=\Pi_\lambda\mathbf{v}_0. The spectral decomposition gives

v0=∑λ∈Λ0pλ,Akv0=∑λ∈Λ0λkpλ(k≥1).\mathbf{v}_0=\sum_{\lambda\in\Lambda_0}\mathbf{p}_\lambda, \qquad \mathbf{A}^k\mathbf{v}_0=\sum_{\lambda\in\Lambda_0}\lambda^k\mathbf{p}_\lambda \quad(k\ge1).

Well-definedness. Because pλ⋆≠0\mathbf{p}_{\lambda_\star}\neq0 and λ⋆≠0\lambda_\star\neq0, the component Πλ⋆Akv0=λ⋆kpλ⋆\Pi_{\lambda_\star}\mathbf{A}^k\mathbf{v}_0=\lambda_\star^k\mathbf{p}_{\lambda_\star} is nonzero for every k≥0k\ge0. Consequently, Akv0≠0\mathbf{A}^k\mathbf{v}_0\neq0 for every k≥0k\ge0. Since ∥v0∥=1\|\mathbf{v}_0\|=1, repeated normalization satisfies vk=Akv0∥Akv0∥.\mathbf{v}_k=\frac{\mathbf{A}^k\mathbf{v}_0}{\|\mathbf{A}^k\mathbf{v}_0\|}. Indeed, this identity holds at k=0k=0. If it holds at iteration kk, then

vk+1=A(Akv0/∥Akv0∥)∥A(Akv0/∥Akv0∥)∥=Ak+1v0∥Ak+1v0∥.\begin{aligned} \mathbf{v}_{k+1} &=\frac{\mathbf{A}\bigl(\mathbf{A}^k\mathbf{v}_0/\|\mathbf{A}^k\mathbf{v}_0\|\bigr)}{\bigl\|\mathbf{A}\bigl(\mathbf{A}^k\mathbf{v}_0/\|\mathbf{A}^k\mathbf{v}_0\|\bigr)\bigr\|}\\ &=\frac{\mathbf{A}^{k+1}\mathbf{v}_0}{\|\mathbf{A}^{k+1}\mathbf{v}_0\|}. \end{aligned}

Convergence of the direction. For k≥1k\ge1, define the scaled remainder

rk=∑λ∈Λ0∖{λ⋆}(λλ⋆)kpλ.\mathbf{r}_k=\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left(\frac{\lambda}{\lambda_\star}\right)^k\mathbf{p}_\lambda .

Then

Akv0=λ⋆k(pλ⋆+rk).\mathbf{A}^k\mathbf{v}_0=\lambda_\star^k\bigl(\textcolor{#2563eb}{\mathbf{p}_{\lambda_\star}}+\textcolor{#ea580c}{\mathbf{r}_k}\bigr).

The eigenspaces are orthogonal, so pλ⋆⊤rk=0\mathbf{p}_{\lambda_\star}^\top\mathbf{r}_k=0 and

∥rk∥2=∑λ∈Λ0∖{λ⋆}∣λλ⋆∣2k∥pλ∥2⟶0,\|\mathbf{r}_k\|^2=\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2\longrightarrow0,

since every ratio ∣λ/λ⋆∣|\lambda/\lambda_\star| in this sum is smaller than one. Therefore,

vk=Akv0∥Akv0∥=λ⋆k∣λ⋆∣kpλ⋆+rk∥pλ⋆∥2+∥rk∥2=(sgn⁡(λ⋆))kpλ⋆+rk∥pλ⋆∥2+∥rk∥2,(sgn⁡(λ⋆))kvk=pλ⋆+rk∥pλ⋆∥2+∥rk∥2⟶pλ⋆∥pλ⋆∥.\begin{aligned} \mathbf{v}_k &= \frac{\mathbf{A}^k\mathbf{v}_0}{\|\mathbf{A}^k\mathbf{v}_0\|} %=\frac{\lambda_\star^k\bigl(\mathbf{p}_{\lambda_\star}+\mathbf{r}_k\bigr)}{|\lambda_\star|^k\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}} =\frac{\lambda_\star^k}{|\lambda_\star|^k} \frac{\textcolor{#2563eb}{\mathbf{p}_{\lambda_\star}}+\textcolor{#ea580c}{\mathbf{r}_k}}{\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}} =\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k \frac{\textcolor{#2563eb}{\mathbf{p}_{\lambda_\star}}+\textcolor{#ea580c}{\mathbf{r}_k}}{\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}},\\ \bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k &=\frac{\textcolor{#2563eb}{\mathbf{p}_{\lambda_\star}}+\textcolor{#ea580c}{\mathbf{r}_k}}{\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}} \longrightarrow\frac{\mathbf{p}_{\lambda_\star}}{\|\mathbf{p}_{\lambda_\star}\|}. \end{aligned}

The blue term is the component along the dominant eigenspace, and it keeps its size after rescaling. The orange term collects every other component, and it shrinks geometrically. Since pλ⋆∈Eλ⋆\mathbf{p}_{\lambda_\star}\in E_{\lambda_\star}, the limit q⋆\mathbf{q}_\star satisfies Aq⋆=λ⋆q⋆\mathbf{A}\mathbf{q}_\star=\lambda_\star\mathbf{q}_\star.

Rayleigh quotient. For k≥1k\ge1, the symmetry of A\mathbf{A} and its spectral decomposition A=∑λ∈Λ(A)λ Πλ\mathbf{A}=\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda\,\Pi_\lambda give

vk⊤Avk=(Akv0)⊤A(Akv0)∥Akv0∥2=v0⊤A2k+1v0v0⊤A2kv0=∑λ∈Λ(A)λ2k+1 v0⊤Πλv0∑λ∈Λ(A)λ2k v0⊤Πλv0=∑λ∈Λ0λ2k+1∥pλ∥2∑λ∈Λ0λ2k∥pλ∥2=λ⋆∥pλ⋆∥2+∑λ∈Λ0∖{λ⋆}λ∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2+∑λ∈Λ0∖{λ⋆}∣λλ⋆∣2k∥pλ∥2⟶λ⋆∥pλ⋆∥2∥pλ⋆∥2=λ⋆.\begin{aligned} \mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k &=\frac{(\mathbf{A}^k\mathbf{v}_0)^\top\mathbf{A}(\mathbf{A}^k\mathbf{v}_0)}{\|\mathbf{A}^k\mathbf{v}_0\|^2}\\ &=\frac{\mathbf{v}_0^\top \mathbf{A}^{2k+1}\mathbf{v}_0}{\mathbf{v}_0^\top \mathbf{A}^{2k}\mathbf{v}_0}\\ &=\frac{\displaystyle\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda^{2k+1}\,\mathbf{v}_0^\top\Pi_\lambda\mathbf{v}_0}{\displaystyle\sum_{\lambda\in\Lambda(\mathbf{A})}\lambda^{2k}\,\mathbf{v}_0^\top\Pi_\lambda\mathbf{v}_0}\\ &=\frac{\displaystyle\sum_{\lambda\in\Lambda_0}\lambda^{2k+1}\|\mathbf{p}_\lambda\|^2}{\displaystyle\sum_{\lambda\in\Lambda_0}\lambda^{2k}\|\mathbf{p}_\lambda\|^2}\\ &=\frac{\displaystyle\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2+\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\lambda\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\displaystyle\|\mathbf{p}_{\lambda_\star}\|^2+\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}\\ &\longrightarrow\frac{\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2}=\lambda_\star . \end{aligned}

The second line uses (Akv0)⊤=v0⊤Ak(\mathbf{A}^k\mathbf{v}_0)^\top=\mathbf{v}_0^\top\mathbf{A}^k, since A\mathbf{A} is symmetric. The third expands A2k+1\mathbf{A}^{2k+1} and A2k\mathbf{A}^{2k} with Aj=∑λλj Πλ\mathbf{A}^j=\sum_\lambda\lambda^j\,\Pi_\lambda. The fourth uses v0⊤Πλv0=v0⊤Πλ⊤Πλv0=∥Πλv0∥2=∥pλ∥2\mathbf{v}_0^\top\Pi_\lambda\mathbf{v}_0=\mathbf{v}_0^\top\Pi_\lambda^\top\Pi_\lambda\mathbf{v}_0=\|\Pi_\lambda\mathbf{v}_0\|^2=\|\mathbf{p}_\lambda\|^2, which holds because Πλ\Pi_\lambda is symmetric and Πλ2=Πλ\Pi_\lambda^2=\Pi_\lambda, and only the eigenvalues of Λ0\Lambda_0 remain, since pλ=0\mathbf{p}_\lambda=0 for the others. The fifth divides the numerator and the denominator by λ⋆2k>0\lambda_\star^{2k}>0.

■□\begin{array}{r} \blacksquare\Box \end{array}

Remark 2 [A negative dominant eigenvalue]

If λ⋆>0\lambda_\star>0, Proposition 1 gives vk→q⋆\mathbf{v}_k\to\mathbf{q}_\star. If λ⋆<0\lambda_\star<0, it gives (−1)kvk→q⋆(-1)^k\mathbf{v}_k\to\mathbf{q}_\star, or, equivalently, v2k⟶q⋆\mathbf{v}_{2k}\longrightarrow\mathbf{q}_\star and v2k+1⟶−q⋆.\mathbf{v}_{2k+1}\longrightarrow-\mathbf{q}_\star. Thus, in the latter case, the even and odd subsequences converge to opposite unit vectors. The raw sequence {vk}k≥0\{\mathbf{v}_k\}_{k\ge0} does not converge, but min⁡{∥vk−q⋆∥,∥vk+q⋆∥}⟶0.\min\bigl\{\|\mathbf{v}_k-\mathbf{q}_\star\|,\|\mathbf{v}_k+\mathbf{q}_\star\|\bigr\}\longrightarrow0. A stopping rule that compares consecutive iterates, such as ∥vk+1−vk∥≤ε\|\mathbf{v}_{k+1}-\mathbf{v}_k\|\le\varepsilon with ε<2\varepsilon<2, is therefore eventually never satisfied when λ⋆<0\lambda_\star<0, because ∥vk+1−vk∥→2∥q⋆∥=2\|\mathbf{v}_{k+1}-\mathbf{v}_k\|\to2\|\mathbf{q}_\star\|=2, even though the eigendirection has converged. The Rayleigh quotient converges in both cases.

3.2 Theorem 1 [Rate of convergence]

Assume the hypotheses of Proposition 1, and write pλ⋆=Πλ⋆v0\mathbf{p}_{\lambda_\star}=\Pi_{\lambda_\star}\mathbf{v}_0. Let ρ2=max⁡{∣λ∣:λ∈Λ0∖{λ⋆}},\rho_2=\max\{|\lambda|:\lambda\in\Lambda_0\setminus\{\lambda_\star\}\}, with ρ2=0\rho_2=0 when Λ0={λ⋆}\Lambda_0=\{\lambda_\star\}, and let ϕ0∈[0,π/2)\phi_0\in[0,\pi/2) be Write v0=pλ⋆+(v0−pλ⋆)\mathbf v_0=\mathbf p_{\lambda_\star}+(\mathbf v_0-\mathbf p_{\lambda_\star}), where pλ⋆=Πλ⋆v0\mathbf p_{\lambda_\star}=\Pi_{\lambda_\star}\mathbf v_0 lies in Eλ⋆E_{\lambda_\star} and the remainder is orthogonal to it. A right triangle: the unit vector v0 from the origin as hypotenuse, its projection p along the line of the eigenspace, the perpendicular side v0 minus p, a right angle at the foot of the perpendicular, and the angle phi0 at the origin The three vectors form a right triangle: the hypotenuse v0\mathbf v_0 (black), a side pλ⋆\mathbf p_{\lambda_\star} along Eλ⋆E_{\lambda_\star} (blue), and a side v0−pλ⋆\mathbf v_0-\mathbf p_{\lambda_\star} perpendicular to it (orange). The angle between a vector and a subspace is the angle between the vector and its orthogonal projection, the smallest angle it makes with a vector of the subspace, so ϕ0\phi_0 is the angle between v0\mathbf v_0 and pλ⋆\mathbf p_{\lambda_\star}. The tangent is the opposite side over the adjacent side, and since ∥v0∥=1\|\mathbf v_0\|=1, also cos⁡(ϕ0)=∥pλ⋆∥\cos(\phi_0)=\|\mathbf p_{\lambda_\star}\| and sin⁡(ϕ0)=∥v0−pλ⋆∥\sin(\phi_0)=\|\mathbf v_0-\mathbf p_{\lambda_\star}\|. The hypothesis pλ⋆≠0\mathbf p_{\lambda_\star}\neq0 keeps ϕ0\phi_0 below π/2\pi/2., so that tan⁡(ϕ0)=∥v0−pλ⋆∥/∥pλ⋆∥\tan(\phi_0)=\|\mathbf{v}_0-\mathbf{p}_{\lambda_\star}\|/\|\mathbf{p}_{\lambda_\star}\|. Then, for every k≥1k\ge1,

∥(sgn⁡(λ⋆))kvk−q⋆∥≤(ρ2∣λ⋆∣)ktan⁡(ϕ0),∣vk⊤Avk−λ⋆∣≤2∣λ⋆∣(ρ2∣λ⋆∣)2ktan⁡2(ϕ0).\Bigl\|\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k-\mathbf{q}_\star\Bigr\| \le\textcolor{#ea580c}{\left(\frac{\rho_2}{|\lambda_\star|}\right)^{k}}\tan(\phi_0), \qquad \bigl|\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k-\lambda_\star\bigr| \le2|\lambda_\star|\textcolor{#ea580c}{\left(\frac{\rho_2}{|\lambda_\star|}\right)^{2k}}\tan^2(\phi_0).

Remark 3 [The convergence factor]

Relative to the dominant component, each product multiplies the component in EλE_\lambda by λ/λ⋆\lambda/\lambda_\star (Remark 1), so the slowest of them, with ∣λ∣=ρ2|\lambda|=\rho_2, sets the pace. The eigenvector error therefore shrinks by the factor ρ2/∣λ⋆∣\textcolor{#ea580c}{\rho_2/|\lambda_\star|} per product, and the eigenvalue error by its square, because the Rayleigh quotient is stationary at an eigenvector. The factor can be arbitrarily close to one. Remark 5 below is the limiting case ρ2=∣λ⋆∣\rho_2=|\lambda_\star|, in which convergence can fail altogether.

Proof

Recall from the proof of Proposition 1 the scaled remainder and the normalized iterate:

rk=∑λ∈Λ0∖{λ⋆}(λλ⋆)kpλ,(sgn⁡(λ⋆))kvk=pλ⋆+rk∥pλ⋆∥2+∥rk∥2⟶q⋆=Πλ⋆v0∥Πλ⋆v0∥=pλ⋆∥pλ⋆∥.\mathbf{r}_k=\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left(\frac{\lambda}{\lambda_\star}\right)^k\mathbf{p}_\lambda,\qquad \bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k=\frac{\mathbf{p}_{\lambda_\star}+\mathbf{r}_k}{\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}} \longrightarrow \mathbf{q}_\star=\frac{\Pi_{\lambda_\star}\mathbf{v}_0}{\|\Pi_{\lambda_\star}\mathbf{v}_0\|} = \frac{\mathbf{p}_{\lambda_\star}}{\|\mathbf{p}_{\lambda_\star}\|}.

The vectors pλ\mathbf{p}_\lambda lie in mutually orthogonal eigenspaces, so the squared norm of a combination of them is the sum of the squared norms of its terms (Pythagoras). Every ∣λ∣|\lambda| in the sum defining rk\mathbf{r}_k is at most ρ2\rho_2, hence

∥rk∥2=∑λ∈Λ0∖{λ⋆}∣λλ⋆∣2k∥pλ∥2≤(ρ2∣λ⋆∣)2k∑λ∈Λ0∖{λ⋆}∥pλ∥2=(ρ2∣λ⋆∣)2k∥v0−pλ⋆∥2,\|\mathbf{r}_k\|^2=\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2 \le\left(\frac{\rho_2}{|\lambda_\star|}\right)^{2k}\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\|\mathbf{p}_\lambda\|^2 =\left(\frac{\rho_2}{|\lambda_\star|}\right)^{2k}\|\mathbf{v}_0-\mathbf{p}_{\lambda_\star}\|^2,

where the last equality is Pythagoras again, applied to v0−pλ⋆=∑λ≠λ⋆pλ\mathbf{v}_0-\mathbf{p}_{\lambda_\star}=\sum_{\lambda\neq\lambda_\star}\mathbf{p}_\lambda. Write tk=∥rk∥/∥pλ⋆∥t_k=\|\mathbf{r}_k\|/\|\mathbf{p}_{\lambda_\star}\|, so that tk≤(ρ2/∣λ⋆∣)ktan⁡(ϕ0)\boldsymbol{t_k\le(\rho_2/|\lambda_\star|)^k\tan(\phi_0)}. Since rk\mathbf{r}_k is orthogonal to pλ⋆\mathbf{p}_{\lambda_\star} and q⋆=pλ⋆/∥pλ⋆∥\mathbf{q}_\star=\mathbf{p}_{\lambda_\star}/\|\mathbf{p}_{\lambda_\star}\|, the inner product of the unit vector (sgn⁡(λ⋆))kvk\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k with q⋆\mathbf{q}_\star is

((sgn⁡(λ⋆))kvk)⊤q⋆=∥pλ⋆∥2∥pλ⋆∥∥pλ⋆∥2+∥rk∥2=11+tk2.\bigl(\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k\bigr)^\top\mathbf{q}_\star=\frac{\|\mathbf{p}_{\lambda_\star}\|^2}{\|\mathbf{p}_{\lambda_\star}\|\sqrt{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}}=\frac{1}{\sqrt{1+t_k^2}} .

For unit vectors w\mathbf{w} and q\mathbf{q}, ∥w−q∥2=∥w∥2−2w⊤q+∥q∥2=2−2w⊤q\|\mathbf{w}-\mathbf{q}\|^2=\|\mathbf{w}\|^2-2\mathbf{w}^\top\mathbf{q}+\|\mathbf{q}\|^2=2-2\mathbf{w}^\top\mathbf{q}, so

∥(sgn⁡(λ⋆))kvk−q⋆∥2=2−21+tk2≤tk2,\Bigl\|\bigl(\operatorname{sgn}(\lambda_\star)\bigr)^k\mathbf{v}_k-\mathbf{q}_\star\Bigr\|^2 =2-\frac{2}{\sqrt{1+t_k^2}} \le t_k^2,

because 1/1+t≥1−t/21/\sqrt{1+t}\ge1-t/2 for all t≥0t\ge0 (the convex function t↦1/1+tt\mapsto1/\sqrt{1+t} lies above its tangent line at 00). Taking square roots and using the bound on tkt_k gives the first inequality. For the Rayleigh quotient, recall the fifth line of the Rayleigh-quotient display in the proof, whose denominator equals ∥pλ⋆∥2+∥rk∥2\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2 by the expression of ∥rk∥2\|\mathbf{r}_k\|^2 above:

vk⊤Avk=λ⋆∥pλ⋆∥2+∑λ∈Λ0∖{λ⋆}λ∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2+∥rk∥2.\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k =\frac{\displaystyle\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2+\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\lambda\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2} .

Multiplying the expression of ∥rk∥2\|\mathbf{r}_k\|^2 above by λ⋆\lambda_\star gives λ⋆∥rk∥2=∑λ∈Λ0∖{λ⋆}λ⋆∣λ/λ⋆∣2k∥pλ∥2\lambda_\star\|\mathbf{r}_k\|^2=\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\lambda_\star\left|\lambda/\lambda_\star\right|^{2k}\|\mathbf{p}_\lambda\|^2, so λ⋆\lambda_\star can be written over the same denominator as

λ⋆=λ⋆∥pλ⋆∥2+λ⋆∥rk∥2∥pλ⋆∥2+∥rk∥2=λ⋆∥pλ⋆∥2+∑λ∈Λ0∖{λ⋆}λ⋆∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2+∥rk∥2.\lambda_\star=\frac{\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2+\lambda_\star\|\mathbf{r}_k\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2} =\frac{\displaystyle\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2+\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\lambda_\star\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2} .

Subtracting it from the Rayleigh quotient, the terms λ⋆∥pλ⋆∥2\lambda_\star\|\mathbf{p}_{\lambda_\star}\|^2 cancel and the two sums combine term by term, which gives

vk⊤Avk−λ⋆=∑λ∈Λ0∖{λ⋆}(λ−λ⋆)∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2+∥rk∥2.\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k-\lambda_\star =\frac{\displaystyle\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}(\lambda-\lambda_\star)\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2} .

Taking absolute values,

∣vk⊤Avk−λ⋆∣≤∑λ∈Λ0∖{λ⋆}∣λ−λ⋆∣∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2+∥rk∥2≤2∣λ⋆∣∑λ∈Λ0∖{λ⋆}∣λλ⋆∣2k∥pλ∥2∥pλ⋆∥2=2∣λ⋆∣ ∥rk∥2∥pλ⋆∥2=2∣λ⋆∣ tk2≤2∣λ⋆∣(ρ2∣λ⋆∣)2ktan⁡2(ϕ0).\begin{aligned} \bigl|\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k-\lambda_\star\bigr| &\le\frac{\displaystyle\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}|\lambda-\lambda_\star|\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2+\|\mathbf{r}_k\|^2}\\ &\le\frac{\displaystyle2|\lambda_\star|\sum_{\lambda\in\Lambda_0\setminus\{\lambda_\star\}}\left|\frac{\lambda}{\lambda_\star}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2} =\frac{2|\lambda_\star|\,\|\mathbf{r}_k\|^2}{\|\mathbf{p}_{\lambda_\star}\|^2} =2|\lambda_\star|\,t_k^2\\ &\le2|\lambda_\star|\left(\frac{\rho_2}{|\lambda_\star|}\right)^{2k}\tan^2(\phi_0). \end{aligned}

The first inequality moves the absolute value inside the sum (triangle inequality). The second uses ∣λ−λ⋆∣≤∣λ∣+∣λ⋆∣<2∣λ⋆∣|\lambda-\lambda_\star|\le|\lambda|+|\lambda_\star|<2|\lambda_\star|, since every other eigenvalue present satisfies ∣λ∣<∣λ⋆∣|\lambda|<|\lambda_\star|, and makes the denominator smaller by dropping ∥rk∥2\|\mathbf{r}_k\|^2. The two equalities are the expression of ∥rk∥2\|\mathbf{r}_k\|^2 above and the definition of tkt_k, and the last inequality squares the bound on tkt_k. This is the second inequality of the theorem.

■□\begin{array}{r} \blacksquare\Box \end{array}

Remark 4 [Which eigenvalue is found]

The hypothesis of Proposition 1 concerns distinct eigenvalues present in the initialization. It does not require the dominant eigenvalue to be simple, since the limit is the normalized projection of v0\mathbf{v}_0 onto its entire eigenspace. To obtain an eigenvalue of globally largest absolute value, the initialization must have a nonzero projection onto a corresponding eigenspace. For example, if v0=g/∥g∥\mathbf{v}_0=\mathbf{g}/\|\mathbf{g}\| with g∼N(0,Id)\mathbf{g}\sim\mathcal{N}(0,\mathbb{I}_d), then Πλv0≠0\Pi_\lambda\mathbf{v}_0\neq0 for every λ∈Λ(A)\lambda\in\Lambda(\mathbf{A}) with probability one. Indeed, for each λ\lambda, the event Πλg=0\Pi_\lambda\mathbf{g}=0 means that g\mathbf{g} belongs to the proper linear subspace Eλ⊥E_\lambda^\perp, which has A proper subspace SS lies in a hyperplane {x:c⊤x=0}\{\mathbf x:\mathbf c^\top\mathbf x=0\} with c≠0\mathbf c\neq0. For g∼N(0,Id)\mathbf g\sim\mathcal N(0,\mathbb I_d), the number c⊤g\mathbf c^\top\mathbf g is Gaussian with variance ∥c∥2>0\|\mathbf c\|^2\gt0, so it equals zero with probability zero.. There are only finitely many eigenspaces. Consequently, such an initialization satisfies the hypotheses of Proposition 1 whenever A≠0\mathbf{A}\neq0 and exactly one distinct eigenvalue of A\mathbf{A} has maximal absolute value.

Remark 5 [Failure for opposite eigenvalues of equal dominant magnitude]

The condition examined here is the strict dominance assumption of Proposition 1. In words, some nonzero eigenvalue present in the initialization is strictly larger in absolute value than every other eigenvalue present. With Λ0={λ∈Λ(A):Πλv0≠0}\Lambda_0=\{\lambda\in\Lambda(\mathbf{A}):\Pi_\lambda\mathbf{v}_0\neq0\}, the set of eigenvalues present, it reads

∃ λ⋆∈Λ0∖{0}∀ λ∈Λ0∖{λ⋆}:∣λ⋆∣>∣λ∣.\exists\,\lambda_\star\in\Lambda_0\setminus\{0\}\quad\forall\,\lambda\in\Lambda_0\setminus\{\lambda_\star\}:\qquad|\lambda_\star|>|\lambda| .

The condition fails when no eigenvalue present stands out in this way: every nonzero eigenvalue present is matched or exceeded in absolute value by another eigenvalue present. Negating the statement above gives

∀ μ∈Λ0∖{0}∃ λ∈Λ0∖{μ}:∣λ∣≥∣μ∣.\forall\,\mu\in\Lambda_0\setminus\{0\}\quad\exists\,\lambda\in\Lambda_0\setminus\{\mu\}:\qquad|\lambda|\ge|\mu| .

Suppose that the condition fails, while some nonzero eigenvalue is present in the initialization. Let ρ=max⁡{∣λ∣:λ∈Λ0}\rho=\max\{|\lambda|:\lambda\in\Lambda_0\} be the largest absolute value among the eigenvalues present, so that ρ>0\rho>0. If only one element of Λ0\Lambda_0 had absolute value ρ\rho, it would be strictly larger in absolute value than every other eigenvalue present, and the condition would hold with λ⋆\lambda_\star equal to that element. Since the condition fails, at least two distinct elements of Λ0\Lambda_0 have absolute value ρ\rho, +ρ+\rho and −ρ-\rho, and both are present in the initialization. We show that ordinary power iteration can then fail to converge to any eigendirection, even while its Rayleigh quotient converges.

Suppose that p+=Πρv0≠0,\mathbf{p}_+=\Pi_\rho\mathbf{v}_0\neq0, p−=Π−ρv0≠0\mathbf{p}_-=\Pi_{-\rho}\mathbf{v}_0\neq0; and that every other eigenvalue present in v0\mathbf{v}_0 has absolute value smaller than ρ\rho. For k≥1k\ge1, define the scaled remainder

rk=∑λ∈Λ0∣λ∣<ρ(λρ)kpλ.\mathbf{r}_k=\sum_{\substack{\lambda\in\Lambda_0\\|\lambda|<\rho}}\left(\frac{\lambda}{\rho}\right)^k\mathbf{p}_\lambda .

Then

∥rk∥2=∑λ∈Λ0∣λ∣<ρ∣λρ∣2k∥pλ∥2⟶0,\|\mathbf{r}_k\|^2=\sum_{\substack{\lambda\in\Lambda_0\\|\lambda|<\rho}}\left|\frac{\lambda}{\rho}\right|^{2k}\|\mathbf{p}_\lambda\|^2\longrightarrow0,

and

vk=p++(−1)kp−+rk∥p+∥2+∥p−∥2+∥rk∥2.\mathbf{v}_k=\frac{\textcolor{#2563eb}{\mathbf{p}_+}+\textcolor{#ea580c}{(-1)^k\mathbf{p}_-}+\mathbf{r}_k}{\sqrt{\|\mathbf{p}_+\|^2+\|\mathbf{p}_-\|^2+\|\mathbf{r}_k\|^2}} .

The blue component keeps its sign, the orange component changes sign at every step, and the remainder vanishes. Hence

v2k⟶p++p−∥p+∥2+∥p−∥2,\mathbf{v}_{2k}\longrightarrow\frac{\textcolor{#2563eb}{\mathbf{p}_+}+\textcolor{#ea580c}{\mathbf{p}_-}}{\sqrt{\|\mathbf{p}_+\|^2+\|\mathbf{p}_-\|^2}},

whereas

v2k+1⟶p+−p−∥p+∥2+∥p−∥2.\mathbf{v}_{2k+1}\longrightarrow\frac{\textcolor{#2563eb}{\mathbf{p}_+}-\textcolor{#ea580c}{\mathbf{p}_-}}{\sqrt{\|\mathbf{p}_+\|^2+\|\mathbf{p}_-\|^2}} .

These two limits are not collinear. Indeed, if p++p−=c(p+−p−)\mathbf{p}_++\mathbf{p}_-=c(\mathbf{p}_+-\mathbf{p}_-) for some scalar cc, projecting onto EρE_\rho gives c=1c=1, whereas projecting onto E−ρE_{-\rho} gives c=−1c=-1. Thus no choice of an overall factor in {−1,1}\{-1,1\} can make the iterates converge to a single unit eigenvector. Nevertheless, the Rayleigh quotient satisfies

vk⊤Avk=ρ∥p+∥2−ρ∥p−∥2+∑λ∈Λ0∣λ∣<ρλ∣λρ∣2k∥pλ∥2∥p+∥2+∥p−∥2+∑λ∈Λ0∣λ∣<ρ∣λρ∣2k∥pλ∥2⟶ρ ∥p+∥2−∥p−∥2∥p+∥2+∥p−∥2.\begin{aligned} \mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k &=\frac{\displaystyle\rho\|\mathbf{p}_+\|^2-\rho\|\mathbf{p}_-\|^2+\sum_{\substack{\lambda\in\Lambda_0\\|\lambda|<\rho}}\lambda\left|\frac{\lambda}{\rho}\right|^{2k}\|\mathbf{p}_\lambda\|^2}{\displaystyle\|\mathbf{p}_+\|^2+\|\mathbf{p}_-\|^2+\sum_{\substack{\lambda\in\Lambda_0\\|\lambda|<\rho}}\left|\frac{\lambda}{\rho}\right|^{2k}\|\mathbf{p}_\lambda\|^2} %\\& \longrightarrow\rho\,\frac{\|\mathbf{p}_+\|^2-\|\mathbf{p}_-\|^2}{\|\mathbf{p}_+\|^2+\|\mathbf{p}_-\|^2}. \end{aligned}

This limit need not be an eigenvalue. For example, let

A=[100−1],v0=12[11].\mathbf{A}=\begin{bmatrix}1&0\\0&-1\end{bmatrix}, \qquad \mathbf{v}_0=\frac{1}{\sqrt{2}}\begin{bmatrix}1\\1\end{bmatrix}.

Then, at every iteration,

vk=12[1(−1)k],vk⊤Avk=0.\mathbf{v}_k=\frac{1}{\sqrt{2}}\begin{bmatrix}\textcolor{#2563eb}{1}\\\textcolor{#ea580c}{(-1)^k}\end{bmatrix}, \qquad \mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k=0 .

However,

0∉Λ(A),∥Avk−(vk⊤Avk)vk∥=∥Avk∥=1.0\notin\Lambda(\mathbf{A}), \qquad \bigl\|\mathbf{A}\mathbf{v}_k-(\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k)\mathbf{v}_k\bigr\|=\|\mathbf{A}\mathbf{v}_k\|=1 .

Thus a constant or convergent Rayleigh quotient does not by itself establish convergence to an eigenpair. This obstruction motivates the squared-power construction of Proposition 2 below and the use of an eigenpair residual as a stopping criterion.

Two panels of error curves against the number of matrix-vector products. Left: geometric decay of the sign-corrected eigenvector error and the faster decay of the Rayleigh-quotient error for a negative dominant eigenvalue, with the raw distance alternating near 2. Right: the residual of plain power iteration stalls when +1 and -1 tie, while squared power iteration with sign separation drives it to zero geometrically.
Figure 1. Power iteration on two symmetric matrices of size d=60d=60 with random eigenvectors. Each curve is the median over 200 Gaussian initializations, and its band contains the middle half of the runs (the interquartile range). (a) The dominant eigenvalue λ⋆=−1\lambda_\star=-1 has multiplicity 3 and the next largest magnitude is ρ2=0.8\rho_2=0.8. The sign-corrected error ∥(−1)kvk−q⋆∥\|(-1)^k\mathbf v_k-\mathbf q_\star\| (blue) decays like 0.8k0.8^k and the Rayleigh-quotient error (orange) like 0.82k0.8^{2k}, below the bounds of Theorem 1 (dashed), while the raw distance ∥vk−q⋆∥\|\mathbf v_k-\mathbf q_\star\| (grey) alternates between those small values and nearly 2 (Remark 2). (b) The eigenvalues +1+1 and −1-1 tie for the largest magnitude. The residual ∥Av−(v⊤Av)v∥\|\mathbf A\mathbf v-(\mathbf v^\top\mathbf A\mathbf v)\mathbf v\| of plain power iteration (orange) stalls at order one (Remark 5), whereas squared power iteration with sign separation (blue; Proposition 2, run as in Algorithm 1) drives the residual of its candidate to zero, by a factor of about 0.80.8 per product. Both horizontal axes count matrix–vector products: vk\mathbf v_k costs kk products and its Rayleigh quotient one more, and each squared step costs two.

3.3 Corollary 1 [Recovering algebraic extrema by shifting]

Let λmin⁡=min⁡Λ(A)\lambda_{\min}=\min\Lambda(\mathbf{A}) and λmax⁡=max⁡Λ(A)\lambda_{\max}=\max\Lambda(\mathbf{A}).

If α≥λmax⁡\alpha\ge\lambda_{\max} and α>λmin⁡\alpha>\lambda_{\min}, then power iteration applied to B=αId−A\mathbf{B}=\alpha\mathbb{I}_d-\mathbf{A} converges to a unit vector in Eλmin⁡E_{\lambda_{\min}}, provided its initialization has a nonzero projection onto that eigenspace. Its Rayleigh quotient converges to μmax⁡=α−λmin⁡\mu_{\max}=\alpha-\lambda_{\min}, so λmin⁡=α−μmax⁡\lambda_{\min}=\alpha-\mu_{\max}.

Similarly, if β≤λmin⁡\beta\le\lambda_{\min} and β<λmax⁡\beta<\lambda_{\max}, then power iteration applied to C=A−βId\mathbf{C}=\mathbf{A}-\beta\mathbb{I}_d converges to a unit vector in Eλmax⁡E_{\lambda_{\max}}, provided its initialization has a nonzero projection onto that eigenspace. Its Rayleigh quotient converges to νmax⁡=λmax⁡−β\nu_{\max}=\lambda_{\max}-\beta, so λmax⁡=β+νmax⁡\lambda_{\max}=\beta+\nu_{\max}.

Remark 6 [What a shift does to the spectrum]

Power iteration returns the eigenvalue of largest magnitude, which is λmax⁡\lambda_{\max} or λmin⁡\lambda_{\min} depending on the signs. A scalar shift moves the whole spectrum without changing the eigenvectors, and the shift αId−A\alpha\mathbb{I}_d-\mathbf{A} also reverses its order. With α≥λmax⁡\alpha\ge\lambda_{\max}, the spectrum of B\mathbf{B} lies in [0,α−λmin⁡][0,\alpha-\lambda_{\min}], so the eigenvalue of A\mathbf{A} farthest below α\alpha becomes the dominant eigenvalue of B\mathbf{B}.

Proof

For any eigenpair (λ,u)(\lambda,\mathbf{u}) of A\mathbf{A}, Bu=(αId−A)u=(α−λ)u.\mathbf{B}\mathbf{u}=(\alpha\mathbb{I}_d-\mathbf{A})\mathbf{u}=(\alpha-\lambda)\mathbf{u}. Since an orthonormal eigenbasis of A\mathbf{A} is also an eigenbasis of B\mathbf{B}, Λ(B)={α−λ:λ∈Λ(A)}.\Lambda(\mathbf{B})=\{\alpha-\lambda:\lambda\in\Lambda(\mathbf{A})\}. The assumptions on α\alpha give 0≤α−λ≤α−λmin⁡0\le\alpha-\lambda\le\textcolor{#2563eb}{\alpha-\lambda_{\min}} and α−λmin⁡>0.\textcolor{#2563eb}{\alpha-\lambda_{\min}}>0. Whenever λ>λmin⁡\lambda>\lambda_{\min}, α−λ<α−λmin⁡.\alpha-\lambda<\alpha-\lambda_{\min}. Therefore, B\mathbf{B} has a positive dominant eigenvalue α−λmin⁡\textcolor{#2563eb}{\alpha-\lambda_{\min}}, whose eigenspace is exactly Eλmin⁡E_{\lambda_{\min}}. Proposition 1 applies, including when this eigenvalue is repeated.

For C\mathbf{C}, Cu=(A−βId)u=(λ−β)u\mathbf{C}\mathbf{u}=(\mathbf{A}-\beta\mathbb{I}_d)\mathbf{u}=(\lambda-\beta)\mathbf{u} and Λ(C)={λ−β:λ∈Λ(A)}.\Lambda(\mathbf{C})=\{\lambda-\beta:\lambda\in\Lambda(\mathbf{A})\}. The assumptions on β\beta give 0≤λ−β≤λmax⁡−β0\le\lambda-\beta\le\textcolor{#2563eb}{\lambda_{\max}-\beta} and λmax⁡−β>0.\textcolor{#2563eb}{\lambda_{\max}-\beta}>0. Whenever λ<λmax⁡\lambda<\lambda_{\max}, λ−β<λmax⁡−β.\lambda-\beta<\lambda_{\max}-\beta. Thus C\mathbf{C} has a positive dominant eigenvalue λmax⁡−β\textcolor{#2563eb}{\lambda_{\max}-\beta}, with eigenspace Eλmax⁡E_{\lambda_{\max}}. Proposition 1 again applies.

■□\begin{array}{r} \blacksquare\Box \end{array}

In particular, choosing α=λmax⁡\alpha=\lambda_{\max} recovers the minimum eigenvalue from the maximum, unless A=λmax⁡Id\mathbf{A}=\lambda_{\max}\mathbb{I}_d. In that exceptional case, every eigenvalue already equals λmax⁡\lambda_{\max}. The analogous statement holds for β=λmin⁡\beta=\lambda_{\min}.

Remark 7 [The shift only needs to pass the midpoint]

The condition α≥λmax⁡\alpha\ge\lambda_{\max} is convenient but stronger than needed. Proposition 1 only requires that α−λmin⁡\alpha-\lambda_{\min} strictly dominate ∣α−λ∣|\alpha-\lambda| for every other eigenvalue λ\lambda present in the initialization. For λ≤α\lambda\le\alpha, this holds because λ>λmin⁡\lambda>\lambda_{\min}. For λ>α\lambda>\alpha, it reads λ−α<α−λmin⁡\lambda-\alpha<\alpha-\lambda_{\min}, that is, λ+λmin⁡<2α\lambda+\lambda_{\min}<2\alpha. Hence every shift α>(λmin⁡+λmax⁡)/2\alpha>(\lambda_{\min}+\lambda_{\max})/2 works. In particular, an underestimate of λmax⁡\lambda_{\max}, such as a Rayleigh quotient, is a valid shift as long as it exceeds the midpoint of the spectrum. Symmetrically, every β<(λmin⁡+λmax⁡)/2\beta<(\lambda_{\min}+\lambda_{\max})/2 works for C\mathbf{C}.

A scalar shift changes every eigenvalue. It does not generally make the next eigenvalue in a prescribed ordering dominant. Deflation does. Power iteration finds one eigenpair, the dominant one, and running it again on A\mathbf{A} would only find the same pair. To reach the next pair, deflation removes from A\mathbf{A} the eigendirections already found and leaves every other eigenpair untouched. In an orthonormal eigenbasis q1,…,qd\mathbf{q}_1,\dots,\mathbf{q}_d of A\mathbf{A}, with Aqi=λiqi\mathbf{A}\mathbf{q}_i=\lambda_i\mathbf{q}_i, the spectral decomposition writes A\mathbf{A} as a sum of rank-one layers, one per eigenvector, and deflating the first rr eigenvectors means deleting their layers, which gives a new matrix, the deflated matrix B\mathbf{B}:

A=∑i=1rλiqiqi⊤+∑i=r+1dλiqiqi⊤⟶B:=∑i=r+1dλiqiqi⊤.\mathbf{A}=\textcolor{#ea580c}{\sum_{i=1}^r\lambda_i\mathbf{q}_i\mathbf{q}_i^\top}+\textcolor{#2563eb}{\sum_{i=r+1}^d\lambda_i\mathbf{q}_i\mathbf{q}_i^\top} \qquad\longrightarrow\qquad \mathbf{B}:=\textcolor{#2563eb}{\sum_{i=r+1}^d\lambda_i\mathbf{q}_i\mathbf{q}_i^\top} .

This matrix has the same eigenvectors as A\mathbf{A}. The ones already found (orange) now have the eigenvalue 00, and all the others (blue) keep their eigenvalues. The largest remaining eigenvalue of A\mathbf{A} in absolute value is therefore the dominant eigenvalue of B\mathbf{B}, and power iteration on B\mathbf{B} finds it. The layer picture uses every eigenvector, but computing B\mathbf{B} does not: the lemma below shows that it only needs the eigenvectors already found, through the projection P=Id−QQ⊤\mathbf{P}=\mathbb{I}_d-\mathbf{Q}\mathbf{Q}^\top that removes the components along them.

3.4 Lemma 1 [Orthogonal deflation]

Let q1,…,qr\mathbf{q}_1,\dots,\mathbf{q}_r be exact orthonormal eigenvectors of A\mathbf{A}, with associated eigenvalues λ1,…,λr\lambda_1,\dots,\lambda_r:

Aqi=λiqi,qi⊤qℓ=δiℓ,i,ℓ∈{1,…,r}.\mathbf{A}\mathbf{q}_i=\lambda_i\mathbf{q}_i, \qquad \mathbf{q}_i^\top\mathbf{q}_\ell=\delta_{i\ell}, \qquad i,\ell\in\{1,\dots,r\}.

Define

Q=[q1,…,qr],D=diag⁡(λ1,…,λr),P=Id−QQ⊤.\mathbf{Q}=[\mathbf{q}_1,\dots,\mathbf{q}_r], \qquad \mathbf{D}=\operatorname{diag}(\lambda_1,\dots,\lambda_r), \qquad \mathbf{P}=\mathbb{I}_d-\mathbf{Q}\mathbf{Q}^\top .

Then

B=PAP=A−QDQ⊤=A−∑i=1rλiqiqi⊤.\mathbf{B}=\mathbf{P}\mathbf{A}\mathbf{P}=\mathbf{A}-\mathbf{Q}\mathbf{D}\mathbf{Q}^\top=\mathbf{A}-\sum_{i=1}^r\lambda_i\mathbf{q}_i\mathbf{q}_i^\top .

Moreover,

  1. The eigenvectors already found have the eigenvalue 00 for B\mathbf{B}. For each column qi\mathbf{q}_i of Q\mathbf{Q}, Bqi=0\mathbf{B}\mathbf{q}_i=0, for i∈{1,…,r}i\in\{1,\dots,r\}.
  2. On the vectors orthogonal to the eigenvectors already found, B\mathbf{B} acts exactly as A\mathbf{A}. That is, Bx=Ax\mathbf{B}\mathbf{x}=\mathbf{A}\mathbf{x} for every x\mathbf{x} with Q⊤x=0\mathbf{Q}^\top\mathbf{x}=0, which is to say for every x∈range⁡(P)=span⁡{q1,…,qr}⊥\mathbf{x}\in\operatorname{range}(\mathbf{P})=\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_r\}^\perp.
  3. The other eigenpairs of A\mathbf{A} are eigenpairs of B\mathbf{B}. Every eigenvector of A\mathbf{A} orthogonal to q1,…,qr\mathbf{q}_1,\dots,\mathbf{q}_r is an eigenvector of B\mathbf{B} with the same eigenvalue. Hence the restriction of B\mathbf{B} to range⁡(P)=span⁡{q1,…,qr}⊥\operatorname{range}(\mathbf{P}) = \operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_r\}^\perp has the remaining eigenvalues of A\mathbf{A}, counted with multiplicity, and B\mathbf{B} has the eigenvalue 00 on span⁡{q1,…,qr}\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_r\}.

Remark 8 [Two views of the deflated matrix]

The two formulas for B\mathbf{B} are two ways of computing a product Bx\mathbf{B}\mathbf{x} with one product by A\mathbf{A}.

  • Projection, Bx=P(A(Px))\mathbf{B}\mathbf{x}=\mathbf{P}\bigl(\mathbf{A}(\mathbf{P}\mathbf{x})\bigr): remove from x\mathbf{x} its components along the stored eigenvectors, apply A\mathbf{A}, and remove those components again. A vector orthogonal to every stored eigenvector passes through unchanged (item 2), and a stored eigenvector is sent to 00 (item 1).
  • Subtraction, Bx=Ax−∑i=1rλi(qi⊤x) qi\mathbf{B}\mathbf{x}=\mathbf{A}\mathbf{x}-\sum_{i=1}^r\lambda_i(\mathbf{q}_i^\top\mathbf{x})\,\mathbf{q}_i: apply A\mathbf{A}, then subtract the layers of the stored eigenpairs, exactly as in the picture above.

The two agree because the qi\mathbf{q}_i are exact eigenvectors, and the proof below uses AQ=QD\mathbf{A}\mathbf{Q}=\mathbf{Q}\mathbf{D}. For computed, approximate eigenvectors they differ. The projection still returns vectors exactly orthogonal to the stored ones, so the eigenvectors found later stay orthogonal to them, which is why the implementation below applies P\mathbf{P} explicitly.

Proof

Since

AQ=QD,Q⊤A=DQ⊤,Q⊤Q=Ir,\mathbf{A}\mathbf{Q}=\mathbf{Q}\mathbf{D}, \qquad \mathbf{Q}^\top\mathbf{A}=\mathbf{D}\mathbf{Q}^\top, \qquad \mathbf{Q}^\top\mathbf{Q}=\mathbb{I}_r,

we obtain

PAP=(Id−QQ⊤)A(Id−QQ⊤)=A−QQ⊤A−AQQ⊤+QQ⊤AQQ⊤=A−QDQ⊤−QDQ⊤+QDQ⊤=A−QDQ⊤.\begin{aligned} \mathbf{P}\mathbf{A}\mathbf{P} &=(\mathbb{I}_d-\mathbf{Q}\mathbf{Q}^\top)\mathbf{A}(\mathbb{I}_d-\mathbf{Q}\mathbf{Q}^\top)\\ &=\mathbf{A}-\mathbf{Q}\mathbf{Q}^\top\mathbf{A}-\mathbf{A}\mathbf{Q}\mathbf{Q}^\top+\mathbf{Q}\mathbf{Q}^\top\mathbf{A}\mathbf{Q}\mathbf{Q}^\top\\ &=\mathbf{A}-\mathbf{Q}\mathbf{D}\mathbf{Q}^\top\textcolor{#2563eb}{-\mathbf{Q}\mathbf{D}\mathbf{Q}^\top+\mathbf{Q}\mathbf{D}\mathbf{Q}^\top}\\ &=\mathbf{A}-\mathbf{Q}\mathbf{D}\mathbf{Q}^\top . \end{aligned}

In the third line, each of the three products reduces to QDQ⊤\mathbf{Q}\mathbf{D}\mathbf{Q}^\top, and the two blue terms cancel. For each i∈{1,…,r}i\in\{1,\dots,r\},

Bqi=Aqi−∑ℓ=1rλℓqℓ(qℓ⊤qi)=λiqi−λiqi=0.\begin{aligned} \mathbf{B}\mathbf{q}_i &=\mathbf{A}\mathbf{q}_i-\sum_{\ell=1}^r\lambda_\ell\mathbf{q}_\ell(\mathbf{q}_\ell^\top\mathbf{q}_i)\\ &=\lambda_i\mathbf{q}_i-\lambda_i\mathbf{q}_i\\ &=0 . \end{aligned}

If Q⊤x=0\mathbf{Q}^\top\mathbf{x}=0, then

Bx=Ax−QD(Q⊤x)=Ax.\mathbf{B}\mathbf{x}=\mathbf{A}\mathbf{x}-\mathbf{Q}\mathbf{D}(\mathbf{Q}^\top\mathbf{x})=\mathbf{A}\mathbf{x}.

Also,

Q⊤Ax=DQ⊤x=0,\mathbf{Q}^\top\mathbf{A}\mathbf{x}=\mathbf{D}\mathbf{Q}^\top\mathbf{x}=0,

so range⁡(P)\operatorname{range}(\mathbf{P}) is invariant under A\mathbf{A}.

Extend q1,…,qr\mathbf{q}_1,\dots,\mathbf{q}_r to an orthonormal eigenbasis q1,…,qd\mathbf{q}_1,\dots,\mathbf{q}_d of A\mathbf{A}. For every i>ri>r,

Q⊤qi=0,Bqi=Aqi=λiqi.\mathbf{Q}^\top\mathbf{q}_i=0, \qquad \mathbf{B}\mathbf{q}_i=\mathbf{A}\mathbf{q}_i=\lambda_i\mathbf{q}_i .

Thus the eigenpairs associated with qr+1,…,qd\mathbf{q}_{r+1},\dots,\mathbf{q}_d are preserved on range⁡(P)\operatorname{range}(\mathbf{P}).

■□\begin{array}{r} \blacksquare\Box \end{array}

When an eigenvalue is repeated, deflating one unit eigenvector removes only that direction. Other directions in the same eigenspace that are orthogonal to it retain their eigenvalue.

Ordinary power iteration can be applied repeatedly to the deflated operator whenever the hypotheses of Proposition 1 hold at each stage. The following modification also handles opposite eigenvalues of equal magnitude, without requiring a spectral bound.

3.5 Proposition 2 [Power iteration with sign separation]

Let B∈Rd×d\mathbf{B}\in\mathbb{R}^{d\times d} be symmetric, and let w0\mathbf{w}_0 be any unit vector. If Bw0=0\mathbf{B}\mathbf{w}_0=0, then (0,w0)(0,\mathbf{w}_0) is an eigenpair. Otherwise, the iteration

wk+1=B2wk∥B2wk∥\mathbf{w}_{k+1}=\frac{\mathbf{B}^2\mathbf{w}_k}{\|\mathbf{B}^2\mathbf{w}_k\|}

is well defined and converges to a unit vector w\mathbf{w} satisfying B2w=ρ2w\mathbf{B}^2\mathbf{w}=\rho^2\mathbf{w} for some ρ>0\rho>0. This value can be recovered as ρ=∥Bw∥.\rho=\|\mathbf{B}\mathbf{w}\|. Define

u+=12(w+Bwρ),u−=12(w−Bwρ).\textcolor{#2563eb}{\mathbf{u}_+}=\frac12\left(\mathbf{w}+\frac{\mathbf{B}\mathbf{w}}{\rho}\right), \qquad \textcolor{#ea580c}{\mathbf{u}_-}=\frac12\left(\mathbf{w}-\frac{\mathbf{B}\mathbf{w}}{\rho}\right).

Then

Bu+=ρ u+,Bu−=−ρ u−.\mathbf{B}\textcolor{#2563eb}{\mathbf{u}_+}=\rho\,\textcolor{#2563eb}{\mathbf{u}_+}, \qquad \mathbf{B}\textcolor{#ea580c}{\mathbf{u}_-}=-\rho\,\textcolor{#ea580c}{\mathbf{u}_-} .

At least one of u+\mathbf{u}_+ and u−\mathbf{u}_- is nonzero. Normalizing either nonzero vector gives an eigenvector of B\mathbf{B}.

Remark 9 [Sign separation is a reflection]

Squaring maps +ρ+\rho and −ρ-\rho to the same eigenvalue ρ2\rho^2 of B2\mathbf{B}^2, so the obstruction of Remark 5 disappears: B2\mathbf{B}^2 is positive semidefinite, and its largest eigenvalue present in w0\mathbf{w}_0 is strictly dominant. The price is that the limit w\mathbf{w} may mix the two eigenspaces of B\mathbf{B} for +ρ+\rho and −ρ-\rho. One more product separates them. The limit lies in the eigenspace of B2\mathbf{B}^2 for ρ2\rho^2, which is the sum of these two eigenspaces, so we can write w=w++w−\mathbf{w}=\textcolor{#2563eb}{\mathbf{w}_+}+\textcolor{#ea580c}{\mathbf{w}_-} with Bw±=±ρ w±\mathbf{B}\mathbf{w}_\pm=\pm\rho\,\mathbf{w}_\pm. Then Bw/ρ=w+−w−\mathbf{B}\mathbf{w}/\rho=\textcolor{#2563eb}{\mathbf{w}_+}-\textcolor{#ea580c}{\mathbf{w}_-} is the On the sum of the two eigenspaces, B/ρ\mathbf B/\rho fixes every vector of the +ρ+\rho eigenspace and reverses every vector of the −ρ-\rho eigenspace: it is the mirror reflection across the +ρ+\rho eigenspace. Averaging a vector with its mirror image keeps its part on the mirror; averaging it with minus its mirror image keeps the other part. of w\mathbf{w} that fixes the blue part and reverses the orange part, so

u+=w+,u−=w−\mathbf{u}_+=\textcolor{#2563eb}{\mathbf{w}_+}, \qquad \mathbf{u}_-=\textcolor{#ea580c}{\mathbf{w}_-}

are exactly the orthogonal projections of w\mathbf{w} onto the two eigenspaces. The orthogonality and norm identities in the proof below are this observation written out.

Proof

Let ΠλB\Pi^{\mathbf{B}}_\lambda denote the orthogonal projection onto the eigenspace of B\mathbf{B} associated with λ\lambda. Since Bw0≠0\mathbf{B}\mathbf{w}_0\neq0, the initialization has a nonzero component in at least one nonzero eigenspace of B\mathbf{B}. Define

ρ=max⁡{∣λ∣:λ∈Λ(B),  ΠλBw0≠0}>0.\rho=\max\bigl\{|\lambda|:\lambda\in\Lambda(\mathbf{B}),\;\Pi^{\mathbf{B}}_\lambda\mathbf{w}_0\neq0\bigr\}>0 .

The eigenvalues of B2\mathbf{B}^2 are the numbers λ2\lambda^2. Its largest eigenvalue present in w0\mathbf{w}_0 is therefore ρ2>0\rho^2>0, and every other distinct eigenvalue present is strictly smaller than ρ2\rho^2. Proposition 1, applied to B2\mathbf{B}^2, shows that the iterates are well defined and converge to a unit vector w\mathbf{w} in the eigenspace associated with ρ2\rho^2: B2w=ρ2w.\mathbf{B}^2\mathbf{w}=\rho^2\mathbf{w}.

Furthermore,

∥Bw∥2=w⊤B⊤Bw=w⊤B2w=ρ2∥w∥2=ρ2.\begin{aligned} \|\mathbf{B}\mathbf{w}\|^2 &=\mathbf{w}^\top\mathbf{B}^\top\mathbf{B}\mathbf{w}\\ &=\mathbf{w}^\top\mathbf{B}^2\mathbf{w}\\ &=\rho^2\|\mathbf{w}\|^2\\ &=\rho^2 . \end{aligned}

Thus ρ=∥Bw∥\rho=\|\mathbf{B}\mathbf{w}\|. For either choice of the sign,

Bu±=12(Bw±B2wρ)=12(Bw±ρ w)=±ρ 12(w±Bwρ)=±ρ u±.\begin{aligned} \mathbf{B}\mathbf{u}_\pm &=\frac12\left(\mathbf{B}\mathbf{w}\pm\frac{\mathbf{B}^2\mathbf{w}}{\rho}\right)\\ &=\frac12\bigl(\mathbf{B}\mathbf{w}\pm\rho\,\mathbf{w}\bigr)\\ &=\pm\rho\,\frac12\left(\mathbf{w}\pm\frac{\mathbf{B}\mathbf{w}}{\rho}\right)\\ &=\pm\rho\,\mathbf{u}_\pm . \end{aligned}

Also, u++u−=w≠0,\textcolor{#2563eb}{\mathbf{u}_+}+\textcolor{#ea580c}{\mathbf{u}_-}=\mathbf{w}\neq0, so the two vectors cannot both be zero. More precisely,

u+⊤u−=14(∥w∥2−∥Bw∥2ρ2)=0,\textcolor{#2563eb}{\mathbf{u}_+}^\top\textcolor{#ea580c}{\mathbf{u}_-}=\frac14\left(\|\mathbf{w}\|^2-\frac{\|\mathbf{B}\mathbf{w}\|^2}{\rho^2}\right)=0,

and ∥u+∥2+∥u−∥2=1.\|\textcolor{#2563eb}{\mathbf{u}_+}\|^2+\|\textcolor{#ea580c}{\mathbf{u}_-}\|^2=1. Therefore, max⁡{∥u+∥,∥u−∥}≥1/2.\max\bigl\{\|\mathbf{u}_+\|,\|\mathbf{u}_-\|\bigr\}\ge 1/\sqrt{2}. Choosing the vector with larger norm avoids normalizing a potentially very small component.

■□\begin{array}{r} \blacksquare\Box \end{array}

This construction does not require forming B2\mathbf{B}^2. Its action is obtained through B2x=B(Bx)\mathbf{B}^2\mathbf{x}=\mathbf{B}(\mathbf{B}\mathbf{x}), using two applications of B\mathbf{B}. Squaring removes the distinction between the eigenvalues +ρ+\rho and −ρ-\rho during power iteration. The subsequent construction of u+\mathbf{u}_+ and u−\mathbf{u}_- separates their eigenspaces.

3.6 Corollary 2 [Recovery of a complete eigenbasis]

For every real symmetric matrix A\mathbf{A}, orthogonal deflation combined with Proposition 2 recovers a complete orthonormal eigenbasis, including repeated and zero eigenvalues, when each inner power iteration is taken to its limit. The procedure is as follows.

  1. Initialize Q0∈Rd×0\mathbf{Q}_0\in\mathbb{R}^{d\times0} as an empty matrix, that is, a matrix with no columns, so that Q0Q0⊤=0d×d\mathbf{Q}_0\mathbf{Q}_0^\top=0_{d\times d} (each entry is an empty sum).
  2. At stage j∈{1,…,d}j\in\{1,\dots,d\}, define Pj−1=Id−Qj−1Qj−1⊤\mathbf{P}_{j-1}=\mathbb{I}_d-\mathbf{Q}_{j-1}\mathbf{Q}_{j-1}^\top and Bj=Pj−1APj−1\mathbf{B}_j=\mathbf{P}_{j-1}\mathbf{A}\mathbf{P}_{j-1}. Choose z\mathbf{z} such that Pj−1z≠0\mathbf{P}_{j-1}\mathbf{z}\neq0, and set w0=Pj−1z/∥Pj−1z∥\mathbf{w}_0=\mathbf{P}_{j-1}\mathbf{z}/\|\mathbf{P}_{j-1}\mathbf{z}\|. For example, a fresh draw z∼N(0,Id)\mathbf{z}\sim\mathcal{N}(0,\mathbb{I}_d) gives a nonzero denominator with probability one.
  3. If Bjw0=0\mathbf{B}_j\mathbf{w}_0=0, set qj=w0\mathbf{q}_j=\mathbf{w}_0 and λj=0\lambda_j=0. Otherwise, apply Proposition 2 to Bj\mathbf{B}_j, choose the larger of the two sign-separated components in norm, and normalize it to obtain qj\mathbf{q}_j. Recover the eigenvalue as λj=qj⊤Aqj\lambda_j=\mathbf{q}_j^\top\mathbf{A}\mathbf{q}_j.
  4. Append the new eigenvector, Qj=[Qj−1,qj]\mathbf{Q}_j=[\mathbf{Q}_{j-1},\mathbf{q}_j], and continue to the next stage.

Proof

At the first stage, P0=Id\mathbf{P}_0=\mathbb{I}_d and B1=A\mathbf{B}_1=\mathbf{A}, so Proposition 2 yields an eigenpair of A\mathbf{A}. Suppose that the first j−1j-1 stages have produced orthonormal eigenvectors of A\mathbf{A}. By Lemma 1, Bjx=Ax\mathbf{B}_j\mathbf{x}=\mathbf{A}\mathbf{x} whenever Qj−1⊤x=0.\mathbf{Q}_{j-1}^\top\mathbf{x}=0. The initialization belongs to this orthogonal complement. Since Bj=Pj−1APj−1\mathbf{B}_j=\mathbf{P}_{j-1}\mathbf{A}\mathbf{P}_{j-1}, every squared-power iterate also belongs to it. The limit vector and the sign-separated vectors therefore belong to it as well. Consequently, the resulting unit vector qj\mathbf{q}_j satisfies Aqj=Bjqj=λjqj\mathbf{A}\mathbf{q}_j=\mathbf{B}_j\mathbf{q}_j=\lambda_j\mathbf{q}_j and Qj−1⊤qj=0.\mathbf{Q}_{j-1}^\top\mathbf{q}_j=0. The zero case is also valid: if Bjw0=0\mathbf{B}_j\mathbf{w}_0=0, then Aw0=Bjw0=0.\mathbf{A}\mathbf{w}_0=\mathbf{B}_j\mathbf{w}_0=0.

Thus each stage adds one unit eigenvector orthogonal to all previously stored eigenvectors. After dd stages, Qd⊤Qd=Id\mathbf{Q}_d^\top\mathbf{Q}_d=\mathbb{I}_d and AQd=Qddiag⁡(λ1,…,λd).\mathbf{A}\mathbf{Q}_d=\mathbf{Q}_d\operatorname{diag}(\lambda_1,\dots,\lambda_d). Since the square matrix Qd\mathbf{Q}_d is orthogonal, QdQd⊤=Id\mathbf{Q}_d\mathbf{Q}_d^\top=\mathbb{I}_d, and hence A=Qddiag⁡(λ1,…,λd)Qd⊤.\mathbf{A}=\mathbf{Q}_d\operatorname{diag}(\lambda_1,\dots,\lambda_d)\mathbf{Q}_d^\top.

■□\begin{array}{r} \blacksquare\Box \end{array}

Any admissible nonzero initialization suffices to recover some eigenpair at each stage. With fresh Gaussian initializations, the procedure selects an eigenvalue of largest remaining absolute value with probability one. Consequently, the eigenvalues are obtained in nonincreasing absolute value, with arbitrary ordering within ties. Algebraic ordering can be obtained by sorting afterward.

The exact test Bjw0=0\mathbf{B}_j\mathbf{w}_0=0 identifies a zero eigenvector. It does not require concluding that the entire remaining operator is zero.

Figure 2 below shows the adjacency matrix of a bipartite graph, whose nonzero eigenvalues come in opposite pairs and whose eigenvalue 00 is repeated. Figure 3 runs this procedure on it and compares it with deflation combined with ordinary power iteration, with and without a shift.

Three panels. Left: a bipartite graph with 30 nodes on the left and 20 on the right, each side split into two communities drawn in teal and gold, with most edges joining nodes of the same community and a few grey dashed edges across communities. Middle: its 50 by 50 adjacency matrix, with zero diagonal blocks and dense blocks where the communities match. Right: its 50 eigenvalues in decreasing order, symmetric about zero, with ten zeros in the middle.
Figure 2. The bipartite graph used in Figures 3 and 7. (a) The graph has 30 nodes on one side and 20 on the other, each side split into two planted communities (teal and gold). Each of the 30×2030\times20 possible edges between the two sides is present with probability 0.45 when the communities match and 0.08 otherwise, and no edge joins two nodes of the same side. The draw has 148 edges, 128 within communities (colored) and 20 across (grey, dashed). (b) Its adjacency matrix W\mathbf W, with the nodes ordered side by side and community by community. The diagonal blocks are zero, and the off-diagonal blocks are the 30×2030\times20 biadjacency matrix B\mathbf B and its transpose, so a product Wx\mathbf W\mathbf x is one pass over the 148 edges. (c) The 50 eigenvalues of W\mathbf W in decreasing order. They are symmetric about 00. Writing a vector of R50\mathbb R^{50} as (x,y)(\mathbf x,\mathbf y) with x∈R30\mathbf x\in\mathbb R^{30} and y∈R20\mathbf y\in\mathbb R^{20}, W(x,y)=(By,B⊤x)\mathbf W(\mathbf x,\mathbf y)=(\mathbf B\mathbf y,\mathbf B^\top\mathbf x), so a pair of singular vectors with Bv=σu\mathbf B\mathbf v=\sigma\mathbf u and B⊤u=σv\mathbf B^\top\mathbf u=\sigma\mathbf v gives the eigenvector (u,v)(\mathbf u,\mathbf v) for σ\sigma and (u,−v)(\mathbf u,-\mathbf v) for −σ-\sigma. The 20 singular values of B\mathbf B give the 40 nonzero eigenvalues, and 00 is repeated 30−20=1030-20=10 times.
Three panels on the adjacency matrix of a bipartite graph with 50 nodes. Left: the eigenvalue found at each of the 50 deflation stages; Algorithm 1 alternates between opposite eigenvalues of decreasing magnitude and ends with ten zeros, while shifted deflation descends from the largest to the smallest eigenvalue. Middle: eigenpairs found against matrix-vector products on a log scale; Algorithm 1 finishes after about fifteen thousand products, shifted deflation after about sixty thousand, and plain deflation never finds one. Right: residuals, eigenvalue errors and inner products of Algorithm 1, all below one trillionth.
Figure 3. A complete eigenbasis of the adjacency matrix of the bipartite graph of Figure 2, applied through its edge list (Section 2.2). Because the graph is bipartite, every nonzero eigenvalue σ\sigma comes with −σ-\sigma, so plain power iteration meets the tie of Remark 5 at once, and 00 is an eigenvalue of multiplicity 10. Every stage starts from a fresh Gaussian vector and, as in Corollary 2, is taken to its limit: it runs until the residual of its candidate for the deflated matrix Bj\mathbf B_j is below 10−1310^{-13}. (a) Eigenvalue found at each stage. Algorithm 1 (blue) finds the eigenvalues in nonincreasing absolute value, the two members of each pair at consecutive stages, and the ten zero eigenvalues last. Power iteration on A−λmin⁡(A) Id\mathbf A-\lambda_{\min}(\mathbf A)\,\mathbb I_d with deflation (purple; Corollary 1 and Lemma 1) finds them in decreasing order. Grey lines mark the 41 distinct eigenvalues. (b) Number of eigenpairs found against the number of products. Algorithm 1 uses 15,296 products in all, two for each zero eigenvalue. The shifted iteration uses 61,453, even with the most favorable shift λmin⁡(A)=−6.48\lambda_{\min}(\mathbf A)=-6.48: adding 6.486.48 to every eigenvalue brings the ratios that set the speed of convergence (Theorem 1) closer to one, and each zero eigenvalue takes a full stage. Plain deflated power iteration (orange) never completes its first stage, and after 20,000 products its residual is still above 1.9. (c) Accuracy of the eigenbasis of Algorithm 1, far below the tolerance 10−10∥A∥10^{-10}\|\mathbf A\| (grey, dashed): residuals (blue) below 3.3⋅10−133.3\cdot10^{-13}, eigenvalues within 6.3⋅10−156.3\cdot10^{-15} of the spectrum (purple; exact zeros drawn at 10−1710^{-17}), inner products between distinct eigenvectors (grey) below 7.3⋅10−147.3\cdot10^{-14}, and ∥A−Q50diag⁡(λ1,…,λ50)Q50⊤∥=2.2⋅10−13\|\mathbf A-\mathbf Q_{50}\operatorname{diag}(\lambda_1,\dots,\lambda_{50})\mathbf Q_{50}^\top\|=2.2\cdot10^{-13}.

3.7 Lemma 2 [Residual certificate for an approximate eigenpair]

For any unit vector q\mathbf{q}, define λ^=q⊤Aq\widehat{\lambda}=\mathbf{q}^\top\mathbf{A}\mathbf{q} and r=Aq−λ^q.\mathbf{r} =\mathbf{A}\mathbf{q}-\widehat{\lambda}\mathbf{q} %=(\mathbf{A}-\widehat{\lambda}\mathbb{I})\mathbf{q} . Then min⁡λ∈Λ(A)∣λ^−λ∣≤∥r∥.\min_{\lambda\in\Lambda(\mathbf{A})}|\widehat{\lambda}-\lambda|\le\|\mathbf{r}\|.

Remark 10 [A computable bound on an unknown distance]

The residual is computable with one product, and it bounds an unknown quantity: the distance from the estimate λ^\widehat\lambda to the nearest true eigenvalue. If q\mathbf{q} is exactly an eigenvector, the residual is zero, and the bound says that λ^\widehat\lambda is exactly an eigenvalue.

Proof

Expand q\mathbf{q} in an orthonormal eigenbasis u1,…,ud\mathbf{u}_1,\dots,\mathbf{u}_d of A\mathbf{A}:

q=∑i=1dciui,Aui=λiui,∑i=1dci2=1.\mathbf{q}=\sum_{i=1}^dc_i\mathbf{u}_i, \qquad \mathbf{A}\mathbf{u}_i=\lambda_i\mathbf{u}_i, \qquad \sum_{i=1}^dc_i^2=1 .

Then r=∑i=1dci(λi−λ^)ui,\mathbf{r}=\sum_{i=1}^dc_i(\lambda_i-\widehat{\lambda})\mathbf{u}_i, and therefore

∥r∥2=∑i=1dci2 (λi−λ^)2≥(min⁡1≤i≤d∣λi−λ^∣2)∑i=1dci2=min⁡1≤i≤d∣λi−λ^∣2.\begin{aligned} \|\mathbf{r}\|^2 &=\sum_{i=1}^d\textcolor{#2563eb}{c_i^2}\,\textcolor{#ea580c}{(\lambda_i-\widehat{\lambda})^2}\\ &\ge\textcolor{#ea580c}{\left(\min_{1\le i\le d}|\lambda_i-\widehat{\lambda}|^2\right)}\textcolor{#2563eb}{\sum_{i=1}^dc_i^2}\\ &=\textcolor{#ea580c}{\min_{1\le i\le d}|\lambda_i-\widehat{\lambda}|^2} . \end{aligned}

The squared residual is thus an average of the squared distances from λ^\widehat\lambda to the eigenvalues, with weights ci2c_i^2 that sum to one, so it is at least the smallest of them. Taking square roots gives the result.

■□\begin{array}{r} \blacksquare\Box \end{array}

This certificate concerns proximity to some eigenvalue. A small residual alone does not certify that the eigenvalue has the largest remaining absolute value.

Remark 11 [Any scalar, and the best one]

The proof never uses the definition of λ^\widehat\lambda. The same expansion gives

min⁡λ∈Λ(A)∣μ−λ∣≤∥Aq−μq∥for every scalar μ,\min_{\lambda\in\Lambda(\mathbf{A})}|\mu-\lambda|\le\|\mathbf{A}\mathbf{q}-\mu\mathbf{q}\| \qquad\text{for every scalar }\mu,

so the certificate applies to an eigenvalue estimate computed by any means, as long as it is paired with a unit vector. The Rayleigh quotient is the best choice of μ\mu. Indeed, expanding the square with ∥q∥=1\|\mathbf{q}\|=1 and λ^=q⊤Aq\widehat\lambda=\mathbf{q}^\top\mathbf{A}\mathbf{q} gives

∥Aq−μq∥2=∥Aq∥2−2μλ^+μ2=(μ−λ^)2+∥Aq∥2−λ^2=(μ−λ^)2+∥r∥2,\begin{aligned} \|\mathbf{A}\mathbf{q}-\mu\mathbf{q}\|^2 &=\|\mathbf{A}\mathbf{q}\|^2-2\mu\widehat\lambda+\mu^2\\ &=\textcolor{#ea580c}{(\mu-\widehat\lambda)^2}+\textcolor{#2563eb}{\|\mathbf{A}\mathbf{q}\|^2-\widehat\lambda^2}\\ &=\textcolor{#ea580c}{(\mu-\widehat\lambda)^2}+\textcolor{#2563eb}{\|\mathbf{r}\|^2}, \end{aligned}

where the last line is the second one at μ=λ^\mu=\widehat\lambda. The blue term does not depend on μ\mu, so the certificate is smallest at μ=λ^\mu=\widehat\lambda, where it equals the residual of Lemma 2, and the orange term is the price of any other estimate. As a function of μ\mu, the certificate (μ−λ^)2+∥r∥2\sqrt{(\mu-\widehat\lambda)^2+\|\mathbf{r}\|^2} is a hyperbola centered at the Rayleigh quotient, and it lies above the distance from μ\mu to the spectrum, as panel (a) of Figure 4 below shows.

Three panels on a 60 by 60 sample covariance matrix. Left: for several power-iteration iterates, the norm of A v minus mu v as a function of mu is a hyperbola lying above the saw-tooth distance from mu to the spectrum, with its minimum at the Rayleigh quotient. Middle: the residual decreases geometrically and the distance to the nearest eigenvalue twice as fast, down to rounding level. Right: a log-log scatter of distance against residual for many iterates, all below the diagonal.
Figure 4. The residual certificate on the sample covariance matrix 1nX⊤X\frac1n\mathbf X^\top\mathbf X of n=400n=400 centered observations of d=60d=60 variables, applied as X⊤(Xv)/n\mathbf X^\top(\mathbf X\mathbf v)/n (Section 2.2). Its three largest eigenvalues, the variances along the first three principal components, are 9.72, 4.92 and 3.20, and the other 57 lie in [0.40,1.80][0.40,1.80]. (a) For the iterates vk\mathbf v_k of power iteration from one Gaussian start, the certificate μ↦∥Avk−μvk∥\mu\mapsto\|\mathbf A\mathbf v_k-\mu\mathbf v_k\| of Remark 11 (light to dark as kk grows) lies above the distance from μ\mu to the spectrum (black, with the eigenvalues marked in orange on the axis) for every scalar μ\mu. Its minimum, marked by a dot, is attained at the Rayleigh quotient λ^k\widehat\lambda_k and equals the residual ∥rk∥\|\mathbf r_k\| of Lemma 2. (b) Medians over 200 Gaussian starts, with bands containing the middle half of the runs. The residual (blue) shrinks by the factor λ2/λ1≈0.51\lambda_2/\lambda_1\approx0.51 per product, and the distance from λ^k\widehat\lambda_k to the nearest eigenvalue (orange) by its square (Theorem 1), until rounding errors of order 10−1510^{-15} stop it. The certificate is valid but pessimistic: after 20 products, the median residual is 1.2⋅10−51.2\cdot10^{-5} and the median distance 3.2⋅10−113.2\cdot10^{-11}. In the first steps, λ^k\widehat\lambda_k lies among the small eigenvalues, and its distance to the nearest of them (orange) is much smaller than its distance to λmax⁡(A)\lambda_{\max}(\mathbf A) (grey, dotted): the certificate concerns some eigenvalue, not necessarily the largest. (c) The pairs formed by the residual and the distance for 50 runs, colored by kk from light to dark. None lies above the diagonal, as Lemma 2 requires, and over all 200 runs and 40 steps the largest ratio of the distance to the residual is 0.995. Distances below 10−1510^{-15}, at rounding level, are drawn at 10−1510^{-15}.

3.8 Algorithm 1 [Deflated squared power iteration with sign separation]

For a finite implementation, squared power iteration and sign separation can be combined without explicitly constructing A\mathbf{A}, P\mathbf{P} or B\mathbf{B}. At a given deflation stage, let Q\mathbf{Q} contain the previously computed orthonormal vectors, and implement the projection through

Px=x−Q(Q⊤x).\mathbf{P}\mathbf{x}=\mathbf{x}-\mathbf{Q}(\mathbf{Q}^\top\mathbf{x}).

Choose tolerances εabs>0\varepsilon_{\mathrm{abs}}>0 and εrel≥0\varepsilon_{\mathrm{rel}}\ge0. Starting from a unit vector w\mathbf{w} satisfying Q⊤w=0\mathbf{Q}^\top\mathbf{w}=0, repeat the following steps.

  1. First product. Compute h1=Aw\textcolor{#2563eb}{\mathbf{h}_1}=\mathbf{A}\mathbf{w}, a=Ph1\mathbf{a}=\mathbf{P}\textcolor{#2563eb}{\mathbf{h}_1} and ρ=∥a∥\rho=\|\mathbf{a}\|. If ρ=0\rho=0, go to step 5.
  2. Second product. Set y=a/ρ\mathbf{y}=\mathbf{a}/\rho, then compute h2=Ay\textcolor{#ea580c}{\mathbf{h}_2}=\mathbf{A}\mathbf{y} and b=Ph2\mathbf{b}=\mathbf{P}\textcolor{#ea580c}{\mathbf{h}_2}.
  3. Candidate. Choose the scalar sign s=+1s=+1 if w⊤y≥0\mathbf{w}^\top\mathbf{y}\ge0 and s=−1s=-1 if w⊤y<0\mathbf{w}^\top\mathbf{y}<0. This selects whichever of w+y\mathbf{w}+\mathbf{y} and w−y\mathbf{w}-\mathbf{y} has larger norm. Form n=∥w+sy∥n=\|\mathbf{w}+s\mathbf{y}\| and q=(w+sy)/n\mathbf{q}=(\mathbf{w}+s\mathbf{y})/n. The product of the candidate with the original matrix is available by linearity: Aq=(h1+sh2)/n\mathbf{A}\mathbf{q}=(\textcolor{#2563eb}{\mathbf{h}_1}+s\textcolor{#ea580c}{\mathbf{h}_2})/n.
  4. Check or update. Compute λ^=q⊤Aq\widehat{\lambda}=\mathbf{q}^\top\mathbf{A}\mathbf{q} and r=Aq−λ^q\mathbf{r}=\mathbf{A}\mathbf{q}-\widehat{\lambda}\mathbf{q}. If ∥r∥≤εabs+εrel∥Aq∥\|\mathbf{r}\|\le\varepsilon_{\mathrm{abs}}+\varepsilon_{\mathrm{rel}}\|\mathbf{A}\mathbf{q}\|, accept (λ^,q)(\widehat{\lambda},\mathbf{q}) and append q\mathbf{q} to Q\mathbf{Q}. Otherwise, update w←b/∥b∥\mathbf{w}\leftarrow\mathbf{b}/\|\mathbf{b}\| and return to step 1.
  5. Zero projected product. If ρ=0\rho=0, use q=w\mathbf{q}=\mathbf{w} as the candidate, compute λ^=q⊤Aq\widehat{\lambda}=\mathbf{q}^\top\mathbf{A}\mathbf{q} and r=Aq−λ^q\mathbf{r}=\mathbf{A}\mathbf{q}-\widehat{\lambda}\mathbf{q}, where Aq=h1\mathbf{A}\mathbf{q}=\textcolor{#2563eb}{\mathbf{h}_1}, and check the same original residual before accepting the pair.
■□\begin{array}{r} \blacksquare\Box \end{array}

Because w\mathbf{w} and y\mathbf{y} are unit vectors, the normalization in step 3 is never small:

n2=∥w∥2+∥y∥2+2s w⊤y=2+2∣w⊤y∣≥2.n^2=\|\mathbf{w}\|^2+\|\mathbf{y}\|^2+2s\,\mathbf{w}^\top\mathbf{y}=2+2|\mathbf{w}^\top\mathbf{y}|\ge2 .

For the symmetric projected operator B=PAP\mathbf{B}=\mathbf{P}\mathbf{A}\mathbf{P}, these operations satisfy

a=Bw,y=Bwρ,b=B2wρ,\mathbf{a}=\mathbf{B}\mathbf{w}, \qquad \mathbf{y}=\frac{\mathbf{B}\mathbf{w}}{\rho}, \qquad \mathbf{b}=\frac{\mathbf{B}^2\mathbf{w}}{\rho},

because Pw=w\mathbf{P}\mathbf{w}=\mathbf{w} and Py=y\mathbf{P}\mathbf{y}=\mathbf{y}. Thus the update is normalized power iteration on B2\mathbf{B}^2, with a normalized intermediate vector. In exact arithmetic, ρ>0\rho>0 implies b≠0\mathbf{b}\neq0, because

w⊤B2w=∥Bw∥2=ρ2>0.\mathbf{w}^\top\mathbf{B}^2\mathbf{w}=\|\mathbf{B}\mathbf{w}\|^2=\rho^2>0 .

The sign separation is meaningful before exact convergence. For a unit vector w\mathbf{w} with

ρ=∥Bw∥>0,n=∥w+sBwρ∥,q=w+sBw/ρn,\rho=\|\mathbf{B}\mathbf{w}\|>0, \qquad n=\left\|\mathbf{w}+s\frac{\mathbf{B}\mathbf{w}}{\rho}\right\|, \qquad \mathbf{q}=\frac{\mathbf{w}+s\mathbf{B}\mathbf{w}/\rho}{n},

direct calculation gives

(B−sρ Id)q=Bw+sB2w/ρ−sρ w−Bwn=s(B2w−ρ2w)ρ n.\begin{aligned} (\mathbf{B}-s\rho\,\mathbb{I}_d)\mathbf{q} &=\frac{\textcolor{#2563eb}{\mathbf{B}\mathbf{w}}+s\mathbf{B}^2\mathbf{w}/\rho-s\rho\,\mathbf{w}\textcolor{#2563eb}{-\mathbf{B}\mathbf{w}}}{n}\\ &=\frac{s\bigl(\mathbf{B}^2\mathbf{w}-\rho^2\mathbf{w}\bigr)}{\rho\,n}. \end{aligned}

The blue terms cancel because s2=1s^2=1. Since n≥2n\ge\sqrt2, the eigenpair residual of the candidate for B\mathbf{B} is at most ∥B2w−ρ2w∥/(2 ρ)\|\mathbf{B}^2\mathbf{w}-\rho^2\mathbf{w}\|/(\sqrt2\,\rho). Thus, as squared power iteration converges, the extracted candidate becomes an eigenvector of B\mathbf{B}. The stopping criterion nevertheless uses the original residual Aq−λ^q\mathbf{A}\mathbf{q}-\widehat{\lambda}\mathbf{q}, because numerically computed deflation vectors need not span an exactly invariant subspace of A\mathbf{A}.

In step 5, a small computed value of ρ\rho does not establish that every remaining eigenvalue is zero. This is why the zero case is also accepted only through the original residual.

In floating-point arithmetic, the implementation should reorthogonalize projected vectors, impose a maximum number of inner iterations, and report nonconvergence if the original residual does not reach the requested tolerance. No vector with computed norm zero should be normalized. A numerical breakdown should instead trigger a residual check, a restart, or a report of nonconvergence.

The exact recovery guarantee of Corollary 2 concerns limiting iterates and exact deflation. With approximate deflation vectors, convergence for PAP\mathbf{P}\mathbf{A}\mathbf{P} need not drive the residual for the original matrix A\mathbf{A} below an arbitrarily small tolerance. Finite computations therefore return approximate eigenpairs whose original residuals must be checked.

The residual for A\mathbf{A} splits exactly into a part that the inner iteration reduces and a part that it inherits. Let λ^1,…,λ^r\widehat\lambda_1,\dots,\widehat\lambda_r be the eigenvalue estimates of the stored pairs, and let the columns of R=AQ−Qdiag⁡(λ^1,…,λ^r)\mathbf{R}=\mathbf{A}\mathbf{Q}-\mathbf{Q}\operatorname{diag}(\widehat\lambda_1,\dots,\widehat\lambda_r) be their residuals. For a unit candidate q\mathbf{q} with Q⊤q=0\mathbf{Q}^\top\mathbf{q}=0 and λ^=q⊤Aq\widehat\lambda=\mathbf{q}^\top\mathbf{A}\mathbf{q}, we have Pq=q\mathbf{P}\mathbf{q}=\mathbf{q}, hence Aq=Bq+QQ⊤Aq\mathbf{A}\mathbf{q}=\mathbf{B}\mathbf{q}+\mathbf{Q}\mathbf{Q}^\top\mathbf{A}\mathbf{q}, where Bq−λ^q\mathbf{B}\mathbf{q}-\widehat\lambda\mathbf{q} lies in range⁡(P)\operatorname{range}(\mathbf{P}) and QQ⊤Aq\mathbf{Q}\mathbf{Q}^\top\mathbf{A}\mathbf{q} in range⁡(Q)\operatorname{range}(\mathbf{Q}). Since Q⊤q=0\mathbf{Q}^\top\mathbf{q}=0, we also have Q⊤Aq=(AQ)⊤q=R⊤q\mathbf{Q}^\top\mathbf{A}\mathbf{q}=(\mathbf{A}\mathbf{Q})^\top\mathbf{q}=\mathbf{R}^\top\mathbf{q}. The two parts are orthogonal, so

∥Aq−λ^q∥2=∥Bq−λ^q∥2+∥R⊤q∥2.\textcolor{#2563eb}{\|\mathbf{A}\mathbf{q}-\widehat\lambda\mathbf{q}\|^2}=\textcolor{#ea580c}{\|\mathbf{B}\mathbf{q}-\widehat\lambda\mathbf{q}\|^2}+\textcolor{#7c3aed}{\|\mathbf{R}^\top\mathbf{q}\|^2}.

The inner iteration drives the orange term to zero. The purple term is inherited from the stored pairs: each entry of R⊤q\mathbf{R}^\top\mathbf{q} is the inner product of q\mathbf{q} with a stored residual, so the term is at most the sum of their squared norms, but nothing in the inner iteration makes it small. A stage therefore stalls when its threshold εabs+εrel∥Aq∥\varepsilon_{\mathrm{abs}}+\varepsilon_{\mathrm{rel}}\|\mathbf{A}\mathbf{q}\| is below the inherited part. This happens readily with εrel>0\varepsilon_{\mathrm{rel}}>0, because the threshold shrinks with ∣λ^∣|\widehat\lambda|, whereas the inherited part comes from earlier stages, whose eigenvalues are larger in absolute value and whose accepted residuals can be nearly as large as their own thresholds. A threshold that is the same at every stage (εrel=0\varepsilon_{\mathrm{rel}}=0) removes this systematic mismatch, but over many stages the inherited parts can still exceed it. Continuing each stage until the residual for B\mathbf{B} reaches rounding level, and only then checking the residual for A\mathbf{A}, keeps every inherited part far below the threshold, at the price of more products. Figure 5 below shows the stall on the Hessian of a neural network. The complete eigenbasis in Figure 3 was computed in the last way. With the same constant threshold but without the continuation, that run stalls at stage 20 of 50, where the inherited part is 6.89⋅10−106.89\cdot10^{-10} and the threshold 6.48⋅10−106.48\cdot10^{-10}.

Four panels on the Hessian of a small neural network. Top left: the training and test losses of the network decreasing over 4,000 gradient-descent steps, with the point where the Hessian is taken. Top right: eight successive deflation stages, each with a residual decreasing geometrically until a constant threshold. Bottom left: at a stalled second stage, the residual for the deflated matrix keeps decreasing to rounding level while the residual for the original matrix levels off at the inherited part, just above the threshold. Bottom right: the fraction of twenty runs certifying j pairs stays at one with the constant threshold and falls to 0.3 with the relative threshold.
Figure 5. Algorithm 1 on the Hessian of a training loss, applied by automatic differentiation (Section 2.1). The network is a fully connected tanh network with layer widths 4, 16, 16 and 1, so that θ∈R369\theta\in\mathbb R^{369}, trained by 4,000 steps of gradient descent on n=256n=256 Gaussian inputs labelled by a random teacher network, down to a squared loss of 9.4⋅10−49.4\cdot10^{-4}. Its Hessian has five large eigenvalues, from 5.87 down to 2.79, the next ones are near 0.3, and 147 of its eigenvalues are negative but above −0.0023-0.0023. Algorithm 1 computes the 8 eigenpairs of largest absolute value with two threshold rules: a constant one, εabs=10−10∥A∥\varepsilon_{\mathrm{abs}}=10^{-10}\|\mathbf A\| and εrel=0\varepsilon_{\mathrm{rel}}=0, where ∥A∥=5.87\|\mathbf A\|=5.87 is the absolute value of the first eigenvalue found, and a relative one, εabs=εrel=10−10\varepsilon_{\mathrm{abs}}=\varepsilon_{\mathrm{rel}}=10^{-10}. (a) The squared losses along the 4,000 steps of gradient descent, on the training inputs (blue) and on 1,024 fresh inputs labelled by the same teacher (orange, dashed). The Hessian is taken at the last step (black dot), where the training loss is 9.4⋅10−49.4\cdot10^{-4} and the test loss reaches its lowest value, 1.8⋅10−31.8\cdot10^{-3}. (b) One run with the constant threshold: the residual of the candidate against the cumulative number of Hessian–vector products, with the stages colored from light to dark and labelled by their eigenvalues. Each stage decreases geometrically, by a factor per product equal to the ratio of the next largest remaining absolute value to its own, until it reaches the threshold (grey, dashed), and the eight stages take 1,008 products. (c) A run with the relative threshold, at its second stage. The residual for A\mathbf A (blue), which the algorithm checks, splits into the residual for B\mathbf B (orange, dashed), which the inner iteration drives down to 5⋅10−165\cdot10^{-16}, and the inherited part ∥Q⊤Aq∥\|\mathbf Q^\top\mathbf A\mathbf q\| (purple, dotted), which equals the residual 6.48⋅10−106.48\cdot10^{-10} accepted at the first stage. The threshold of the second stage, 10−10(1+5.28)=6.28⋅10−1010^{-10}(1+5.28)=6.28\cdot10^{-10}, is just below it, so the stage never stops. (d) Fraction of 20 runs, each with its own Gaussian starting vectors, that certify the jj largest pairs. With the relative threshold (orange), 14 runs stall: 7 at stage 2, 5 at stage 4 and 2 at stage 7. With the constant threshold (blue), all 20 runs certify the 8 pairs, and in the run of panel (b) every eigenvalue is within 6⋅10−156\cdot10^{-15} of the spectrum.

The operator must stay fixed for the whole run. For a Hessian A=∇θ2f(θ)\mathbf{A}=\nabla_\theta^2f(\theta), each product is computed as in Section 2.1, with θ\theta and everything that defines ff held fixed.

Each nondegenerate inner iteration above uses two matrix–vector products, h1\textcolor{#2563eb}{\mathbf{h}_1} and h2\textcolor{#ea580c}{\mathbf{h}_2}, since Aq\mathbf{A}\mathbf{q} comes for free by linearity. After j−1j-1 eigenvectors have been stored, projecting a vector costs O(d(j−1))O(d(j-1)) arithmetic operations. Retaining mm eigenvectors requires O(dm)O(dm) storage. Thus computing and storing a complete eigenbasis still requires O(d2)O(d^2) storage, even though A\mathbf{A} itself is never formed.

4. The Lanczos method

The Lanczos method constructs an orthonormal basis of a Krylov subspace and projects the original eigenvalue problem onto that subspace. This produces a smaller symmetric tridiagonal matrix whose eigenpairs provide approximations to those of the original matrix. The construction requires only matrix–vector products (Lanczos, 1950). Unless stated otherwise, all identities and termination results below concern exact arithmetic and a fixed matrix A\mathbf{A}.

4.1 Definition 1 [Krylov subspace]

Given a unit vector q1\mathbf{q}_1, the Krylov subspace of order mm is

Km(A,q1)=span⁡{q1,Aq1,…,Am−1q1}.\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)=\operatorname{span}\{\mathbf{q}_1,\mathbf{A}\mathbf{q}_1,\dots,\mathbf{A}^{m-1}\mathbf{q}_1\}.

Equivalently,

Km(A,q1)={p(A)q1:p is a polynomial of degree at most m−1}.\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)=\bigl\{p(\mathbf{A})\mathbf{q}_1:p\text{ is a polynomial of degree at most }m-1\bigr\}.

These subspaces are nested:

Km(A,q1)⊆Km+1(A,q1).\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)\subseteq\mathcal{K}_{m+1}(\mathbf{A},\mathbf{q}_1). ■□\begin{array}{r} \blacksquare\Box \end{array}

Power iteration started at q1\mathbf{q}_1 keeps only the last vector Am−1q1\mathbf{A}^{m-1}\mathbf{q}_1 of this list. The Krylov subspace keeps all of them, so it contains every polynomial filter of degree at most m−1m-1 applied to q1\mathbf{q}_1. By the spectral decomposition, p(A)q1=∑λp(λ)Πλq1p(\mathbf{A})\mathbf{q}_1=\sum_\lambda p(\lambda)\Pi_\lambda\mathbf{q}_1, so a polynomial that is large at one eigenvalue and small at the others can isolate that eigencomponent much better than the monomial tm−1t^{m-1} used by power iteration.

4.2 How the method works

The idea The Lanczos method runs the Gram–Schmidt process on the Krylov subspace

Km(A,q1)={p(A)q1:p is a polynomial of degree at most m−1},\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)=\bigl\{p(\mathbf{A})\mathbf{q}_1:p\text{ is a polynomial of degree at most }m-1\bigr\},

one matrix–vector product per step. The numbers that Gram–Schmidt computes along the way form a small symmetric matrix, and the eigenvalues of that matrix approximate eigenvalues of A\mathbf{A}.

This section unpacks these sentences. It first explains why the search for eigenvalues needs an orthonormal basis of Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), then runs Gram–Schmidt on the Krylov subspace by hand for four steps, states the general step, and finally shows how eigenvalues and eigenvectors come out of the coefficients. The proofs are in Lemmas 3 to 5 and Proposition 3.

After m−1m-1 products, every vector of Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) is within reach. It is a combination c0q1+c1Aq1+⋯+cm−1Am−1q1=p(A)q1c_0\mathbf{q}_1+c_1\mathbf{A}\mathbf{q}_1+\dots+c_{m-1}\mathbf{A}^{m-1}\mathbf{q}_1=p(\mathbf{A})\mathbf{q}_1, and by the spectral decomposition, p(A)q1=∑λp(λ) Πλq1p(\mathbf{A})\mathbf{q}_1=\sum_{\lambda}p(\lambda)\,\Pi_\lambda\mathbf{q}_1 reweights each eigencomponent of q1\mathbf{q}_1 by the value p(λ)p(\lambda). Power iteration only ever uses the polynomial tm−1t^{m-1}. The Lanczos method considers all of them at once. Since λmax⁡(A)\lambda_{\max}(\mathbf{A}) and λmin⁡(A)\lambda_{\min}(\mathbf{A}) are the largest and smallest values of the Rayleigh quotient x⊤Ax\mathbf{x}^\top\mathbf{A}\mathbf{x} over unit vectors x\mathbf{x}, the best estimates that Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) can provide are the largest and smallest values of x⊤Ax\mathbf{x}^\top\mathbf{A}\mathbf{x} over its unit vectors.

Searching a subspace needs coordinates, and the convenient ones come from an orthonormal basis q1,…,qm\mathbf{q}_1,\dots,\mathbf{q}_m of Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), the columns of Qm=[q1,…,qm]\mathbf{Q}_m=[\mathbf{q}_1,\dots,\mathbf{q}_m]. Every vector of the subspace is then x=Qmy=y1q1+⋯+ymqm\mathbf{x}=\mathbf{Q}_m\mathbf{y}=y_1\mathbf{q}_1+\dots+y_m\mathbf{q}_m for a unique y∈Rm\mathbf{y}\in\mathbb{R}^m, lengths are preserved, ∥x∥=∥y∥\|\mathbf{x}\|=\|\mathbf{y}\|, and

x⊤Ax=y⊤Tmy,Tm=Qm⊤AQm∈Rm×m.\mathbf{x}^\top\mathbf{A}\mathbf{x}=\mathbf{y}^\top\mathbf{T}_m\mathbf{y}, \qquad \mathbf{T}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m\in\mathbb{R}^{m\times m}.

The search over Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) thus becomes the eigenvalue problem of the m×mm\times m matrix Tm\mathbf{T}_m, whose entry (Tm)ij=qi⊤Aqj(\mathbf{T}_m)_{ij}=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j is the coordinate of Aqj\mathbf{A}\mathbf{q}_j along qi\mathbf{q}_i. Gram–Schmidt applied to the spanning vectors q1,Aq1,A2q1,…\mathbf{q}_1,\mathbf{A}\mathbf{q}_1,\mathbf{A}^2\mathbf{q}_1,\dots of the Krylov subspace produces the orthonormal basis, and, as the following steps show, it computes these coordinates on the way.

Step 1: Gram–Schmidt on K2(A,q1)={(c0Id+c1A)q1:c0,c1∈R}\mathcal{K}_2(\mathbf{A},\mathbf{q}_1)=\{(c_0\mathbb{I}_d+c_1\mathbf{A})\mathbf{q}_1:c_0,c_1\in\mathbb{R}\}. The unit vector q1\mathbf{q}_1 is the first basis vector, and it spans K1(A,q1)\mathcal{K}_1(\mathbf{A},\mathbf{q}_1). The first product gives Aq1\mathbf{A}\mathbf{q}_1, the vector that K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1) adds. Gram–Schmidt removes its component along q1\mathbf{q}_1, whose coefficient α1=q1⊤Aq1\textcolor{#7c3aed}{\alpha_1}=\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_1 is the Rayleigh quotient of q1\mathbf{q}_1. It is the first eigenvalue estimate, the same as that of power iteration. The remainder r1=Aq1−α1q1\mathbf{r}_1=\mathbf{A}\mathbf{q}_1-\alpha_1\mathbf{q}_1 is orthogonal to q1\mathbf{q}_1, and dividing it by its length β1=∥r1∥\textcolor{#16a34a}{\beta_1}=\|\mathbf{r}_1\| gives the second basis vector. Rearranged, the step reads

Aq1=α1q1+β1q2,q2=(A−α1Id) q1β1.\mathbf{A}\mathbf{q}_1=\textcolor{#7c3aed}{\alpha_1\mathbf{q}_1}+\textcolor{#16a34a}{\beta_1\mathbf{q}_2}, \qquad \mathbf{q}_2=\frac{(\mathbf{A}-\alpha_1\mathbb{I}_d)\,\mathbf{q}_1}{\beta_1}.

So q1,q2\mathbf{q}_1,\mathbf{q}_2 is an orthonormal basis of K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1), and q2=p1(A)q1\mathbf{q}_2=p_1(\mathbf{A})\mathbf{q}_1 for the polynomial p1(t)=(t−α1)/β1p_1(t)=(t-\alpha_1)/\beta_1 of degree one. In the colors used throughout this section, a purple coefficient is computed at the current step, and a green one is the length of the new direction.

Step 2: Gram–Schmidt on K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1). The vector that K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1) adds is A2q1\mathbf{A}^2\mathbf{q}_1, and textbook Gram–Schmidt would orthogonalize it next. The Lanczos method applies A\mathbf{A} to the newest basis vector instead, which also costs one product. By Step 1,

Aq2=1β1 A2q1−α1β1 Aq1.\mathbf{A}\mathbf{q}_2=\frac{1}{\beta_1}\,\textcolor{#2563eb}{\mathbf{A}^2\mathbf{q}_1}-\frac{\alpha_1}{\beta_1}\,\textcolor{#ea580c}{\mathbf{A}\mathbf{q}_1}.

The orange vector already lies in K2(A,q1)=span⁡{q1,q2}\mathcal{K}_2(\mathbf{A},\mathbf{q}_1)=\operatorname{span}\{\mathbf{q}_1,\mathbf{q}_2\}, so removing the components along q1\mathbf{q}_1 and q2\mathbf{q}_2 deletes it, and only the blue power contributes. Hence Aq2\mathbf{A}\mathbf{q}_2 brings the same new direction as A2q1\mathbf{A}^2\mathbf{q}_1. Gram–Schmidt needs two coefficients. The one on q1\mathbf{q}_1 comes for free from symmetry and Step 1:

q1⊤Aq2=(Aq1)⊤q2=(α1q1+β1q2)⊤q2=β1.\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_2=(\mathbf{A}\mathbf{q}_1)^\top\mathbf{q}_2=(\alpha_1\mathbf{q}_1+\beta_1\mathbf{q}_2)^\top\mathbf{q}_2=\textcolor{#ea580c}{\beta_1}.

It is the length found in Step 1, now reused, and orange marks such known coefficients. The one on q2\mathbf{q}_2 is the only new number, α2=q2⊤Aq2\textcolor{#7c3aed}{\alpha_2}=\mathbf{q}_2^\top\mathbf{A}\mathbf{q}_2. Subtracting both components and normalizing gives

r2=Aq2−β1q1−α2q2,β2=∥r2∥,q3=r2β2,\mathbf{r}_2=\mathbf{A}\mathbf{q}_2-\beta_1\mathbf{q}_1-\alpha_2\mathbf{q}_2, \qquad \textcolor{#16a34a}{\beta_2}=\|\mathbf{r}_2\|, \qquad \mathbf{q}_3=\frac{\mathbf{r}_2}{\beta_2},

that is, Aq2=β1q1+α2q2+β2q3\mathbf{A}\mathbf{q}_2=\textcolor{#ea580c}{\beta_1\mathbf{q}_1}+\textcolor{#7c3aed}{\alpha_2\mathbf{q}_2}+\textcolor{#16a34a}{\beta_2\mathbf{q}_3}. Now q1,q2,q3\mathbf{q}_1,\mathbf{q}_2,\mathbf{q}_3 is an orthonormal basis of K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1), and q3=p2(A)q1\mathbf{q}_3=p_2(\mathbf{A})\mathbf{q}_1 for the polynomial p2(t)=((t−α2) p1(t)−β1)/β2p_2(t)=\bigl((t-\alpha_2)\,p_1(t)-\beta_1\bigr)/\beta_2 of degree two. The coefficients found so far already give the matrix of the Rayleigh quotient on K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1),

T2=Q2⊤AQ2=[α1β1β1α2],\mathbf{T}_2=\mathbf{Q}_2^\top\mathbf{A}\mathbf{Q}_2=\begin{bmatrix}\alpha_1&\beta_1\\\beta_1&\alpha_2\end{bmatrix},

whose two eigenvalues are the smallest and largest values of x⊤Ax\mathbf{x}^\top\mathbf{A}\mathbf{x} over the unit vectors of K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1).

Step 3: Gram–Schmidt on K4(A,q1)\mathcal{K}_4(\mathbf{A},\mathbf{q}_1), where a coefficient vanishes. The third product gives Aq3\mathbf{A}\mathbf{q}_3. Its coefficient on q1\mathbf{q}_1 is

q1⊤Aq3=(Aq1)⊤q3=(α1q1+β1q2)⊤q3=0,\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_3=(\mathbf{A}\mathbf{q}_1)^\top\mathbf{q}_3=(\alpha_1\mathbf{q}_1+\beta_1\mathbf{q}_2)^\top\mathbf{q}_3=\textcolor{#7d8783}{0},

because Aq1\mathbf{A}\mathbf{q}_1 lies in K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1), to which q3\mathbf{q}_3 is orthogonal. Gram–Schmidt has nothing to subtract along q1\mathbf{q}_1, and grey marks such vanishing coefficients. The coefficient on q2\mathbf{q}_2 is (Aq2)⊤q3=β2(\mathbf{A}\mathbf{q}_2)^\top\mathbf{q}_3=\textcolor{#ea580c}{\beta_2}, known from Step 2, and the one on q3\mathbf{q}_3 is the new number α3=q3⊤Aq3\textcolor{#7c3aed}{\alpha_3}=\mathbf{q}_3^\top\mathbf{A}\mathbf{q}_3. Two subtractions and a normalization give q4\mathbf{q}_4:

Aq3=β2q2+α3q3+β3q4,\mathbf{A}\mathbf{q}_3=\textcolor{#ea580c}{\beta_2\mathbf{q}_2}+\textcolor{#7c3aed}{\alpha_3\mathbf{q}_3}+\textcolor{#16a34a}{\beta_3\mathbf{q}_4},

and q1,…,q4\mathbf{q}_1,\dots,\mathbf{q}_4 is an orthonormal basis of K4(A,q1)\mathcal{K}_4(\mathbf{A},\mathbf{q}_1).

Step 4: Gram–Schmidt on K5(A,q1)\mathcal{K}_5(\mathbf{A},\mathbf{q}_1), and the pattern. The fourth product gives Aq4\mathbf{A}\mathbf{q}_4. Its coefficients on q1\mathbf{q}_1 and q2\mathbf{q}_2 vanish, since Aq1\mathbf{A}\mathbf{q}_1 and Aq2\mathbf{A}\mathbf{q}_2 lie in K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1), to which q4\mathbf{q}_4 is orthogonal. Its coefficient on q3\mathbf{q}_3 is β3\textcolor{#ea580c}{\beta_3}, known from Step 3, and the new number is α4\textcolor{#7c3aed}{\alpha_4}, so that Aq4=β3q3+α4q4+β4q5\mathbf{A}\mathbf{q}_4=\textcolor{#ea580c}{\beta_3\mathbf{q}_3}+\textcolor{#7c3aed}{\alpha_4\mathbf{q}_4}+\textcolor{#16a34a}{\beta_4\mathbf{q}_5}. The four steps have computed the coordinates of Aq1,…,Aq4\mathbf{A}\mathbf{q}_1,\dots,\mathbf{A}\mathbf{q}_4 in the basis:

on q1\mathbf{q}_1on q2\mathbf{q}_2on q3\mathbf{q}_3on q4\mathbf{q}_4on q5\mathbf{q}_5
Aq1\mathbf{A}\mathbf{q}_1 (step 1)α1\textcolor{#7c3aed}{\alpha_1}β1\textcolor{#16a34a}{\beta_1}
Aq2\mathbf{A}\mathbf{q}_2 (step 2)β1\textcolor{#ea580c}{\beta_1}α2\textcolor{#7c3aed}{\alpha_2}β2\textcolor{#16a34a}{\beta_2}
Aq3\mathbf{A}\mathbf{q}_3 (step 3)0\textcolor{#7d8783}{0}β2\textcolor{#ea580c}{\beta_2}α3\textcolor{#7c3aed}{\alpha_3}β3\textcolor{#16a34a}{\beta_3}
Aq4\mathbf{A}\mathbf{q}_4 (step 4)0\textcolor{#7d8783}{0}0\textcolor{#7d8783}{0}β3\textcolor{#ea580c}{\beta_3}α4\textcolor{#7c3aed}{\alpha_4}β4\textcolor{#16a34a}{\beta_4}

Each green length reappears in orange in the next row, by symmetry. The first four columns are the matrix of the Rayleigh quotient on K4(A,q1)\mathcal{K}_4(\mathbf{A},\mathbf{q}_1), which Gram–Schmidt has therefore filled for free:

T4=Q4⊤AQ4=[α1β100β1α2β200β2α3β300β3α4].\mathbf{T}_4=\mathbf{Q}_4^\top\mathbf{A}\mathbf{Q}_4=\begin{bmatrix} \textcolor{#7c3aed}{\alpha_1}&\textcolor{#16a34a}{\beta_1}&\textcolor{#7d8783}{0}&\textcolor{#7d8783}{0}\\ \textcolor{#ea580c}{\beta_1}&\textcolor{#7c3aed}{\alpha_2}&\textcolor{#16a34a}{\beta_2}&\textcolor{#7d8783}{0}\\ \textcolor{#7d8783}{0}&\textcolor{#ea580c}{\beta_2}&\textcolor{#7c3aed}{\alpha_3}&\textcolor{#16a34a}{\beta_3}\\ \textcolor{#7d8783}{0}&\textcolor{#7d8783}{0}&\textcolor{#ea580c}{\beta_3}&\textcolor{#7c3aed}{\alpha_4} \end{bmatrix}.

It is tridiagonal: only the diagonal and its two neighbors are nonzero. The last column of the table, β4\beta_4 on q5\mathbf{q}_5, lies outside K4(A,q1)\mathcal{K}_4(\mathbf{A},\mathbf{q}_1), and it plays a central role below.

The general step. The same reasoning holds at every step jj. By symmetry, the coefficient of Aqj\mathbf{A}\mathbf{q}_j on an earlier basis vector qi\mathbf{q}_i is (Aqi)⊤qj(\mathbf{A}\mathbf{q}_i)^\top\mathbf{q}_j, and Aqi\mathbf{A}\mathbf{q}_i lies in Ki+1(A,q1)=span⁡{q1,…,qi+1}\mathcal{K}_{i+1}(\mathbf{A},\mathbf{q}_1)=\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_{i+1}\}, to which qj\mathbf{q}_j is orthogonal as soon as i≤j−2i\le j-2. Only two coefficients survive: βj−1\beta_{j-1}, computed as a length at the previous step, and the new number αj=qj⊤Aqj\alpha_j=\mathbf{q}_j^\top\mathbf{A}\mathbf{q}_j. Step jj of Definition 2 below is therefore the following Gram–Schmidt step.

qj→ A Aqj→ −βj−1qj−1 zj→ −αjqj rj→ ÷βj qj+1.\mathbf{q}_j \xrightarrow{\ \mathbf{A}\ } \mathbf{A}\mathbf{q}_j \xrightarrow{\ \textcolor{#ea580c}{-\beta_{j-1}\mathbf{q}_{j-1}}\ } \mathbf{z}_j \xrightarrow{\ \textcolor{#7c3aed}{-\alpha_j\mathbf{q}_j}\ } \mathbf{r}_j \xrightarrow{\ \textcolor{#16a34a}{\div\beta_j}\ } \textcolor{#16a34a}{\mathbf{q}_{j+1}}.
QuantityWhat it isWhy it is needed
Aqj\mathbf{A}\mathbf{q}_jthe only product of step jjtemporary candidate that carries the new Krylov direction
zj=Aqj−βj−1qj−1\mathbf{z}_j=\mathbf{A}\mathbf{q}_j\textcolor{#ea580c}{-\beta_{j-1}\mathbf{q}_{j-1}}the candidate without its component on qj−1\mathbf{q}_{j-1}that coefficient is βj−1\beta_{j-1}, already known from step j−1j-1 by symmetry
αj=qj⊤zj\textcolor{#7c3aed}{\alpha_j}=\mathbf{q}_j^\top\mathbf{z}_jthe coefficient on qj\mathbf{q}_j, equal to qj⊤Aqj\mathbf{q}_j^\top\mathbf{A}\mathbf{q}_jremoves the last old component and fills the diagonal of Tm\mathbf{T}_m
rj=zj−αjqj\mathbf{r}_j=\mathbf{z}_j\textcolor{#7c3aed}{-\alpha_j\mathbf{q}_j}the part of Aqj\mathbf{A}\mathbf{q}_j orthogonal to q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_jthe new direction, not yet normalized
βj=∥rj∥\textcolor{#16a34a}{\beta_j}=\lVert\mathbf{r}_j\rVertthe length of the new directionnormalizes it and fills the off-diagonal of Tm\mathbf{T}_m. The value βj=0\beta_j=0 means that no new direction exists (exact breakdown).
qj+1=rj/βj\textcolor{#16a34a}{\mathbf{q}_{j+1}}=\mathbf{r}_j/\textcolor{#16a34a}{\beta_j}the new basis vectorextends the orthonormal basis by one vector

Rearranging the definitions of zj\mathbf{z}_j and rj\mathbf{r}_j gives the three-term recurrence

Aqj=βj−1qj−1+αjqj+βjqj+1.\mathbf{A}\mathbf{q}_j=\textcolor{#ea580c}{\beta_{j-1}\mathbf{q}_{j-1}}+\textcolor{#7c3aed}{\alpha_j\mathbf{q}_j}+\textcolor{#16a34a}{\beta_j\mathbf{q}_{j+1}}.

The orange term was found at the previous step, the purple term is the only coefficient computed at step jj, and the green term is the new direction. In terms of polynomials, qj+1=pj(A)q1\mathbf{q}_{j+1}=p_j(\mathbf{A})\mathbf{q}_1, where p0=1p_0=1, p−1=0p_{-1}=0 and

βj pj(t)=(t−αj) pj−1(t)−βj−1 pj−2(t).\beta_j\,p_j(t)=(t-\alpha_j)\,p_{j-1}(t)-\beta_{j-1}\,p_{j-2}(t).

Gram–Schmidt on Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) is thus Gram–Schmidt on the polynomials 1,t,t2,…1,t,t^2,\dots for the inner product ⟨p,r⟩=(p(A)q1)⊤r(A)q1=∑λp(λ) r(λ) ∥Πλq1∥2\langle p,r\rangle=\bigl(p(\mathbf{A})\mathbf{q}_1\bigr)^\top r(\mathbf{A})\mathbf{q}_1=\sum_\lambda p(\lambda)\,r(\lambda)\,\|\Pi_\lambda\mathbf{q}_1\|^2, and the polynomials pjp_j are orthonormal for it.

Compared with textbook Gram–Schmidt on q1,Aq1,A2q1,…\mathbf{q}_1,\mathbf{A}\mathbf{q}_1,\mathbf{A}^2\mathbf{q}_1,\dots, the method makes two changes, and neither changes the subspaces. First, it multiplies the newest basis vector instead of forming the next power. In general, qj\mathbf{q}_j has a nonzero coefficient on Aj−1q1\mathbf{A}^{j-1}\mathbf{q}_1, since otherwise it would lie in Kj−1(A,q1)\mathcal{K}_{j-1}(\mathbf{A},\mathbf{q}_1), to which it is orthogonal. Hence Aqj\mathbf{A}\mathbf{q}_j is a nonzero multiple of Ajq1\mathbf{A}^j\mathbf{q}_1 plus a vector of Kj(A,q1)\mathcal{K}_j(\mathbf{A},\mathbf{q}_1), and the two bring the same new direction, as in Step 2. This avoids a loss of accuracy. Up to scaling, the powers Ajq1\mathbf{A}^j\mathbf{q}_1 are the iterates of power iteration, so they turn toward the same dominant eigenvector and become nearly parallel, and extracting a new direction from nearly parallel vectors loses accuracy to cancellation. Second, symmetry leaves two subtractions per step instead of jj, so every step costs the same. In floating-point arithmetic, the vanishing coefficients are only approximately zero and the orthogonality they protect is gradually lost, which is why Algorithm 2 below reorthogonalizes.

Eigenvalues and eigenvectors from the coefficients. Writing the relations Aqj=βj−1qj−1+αjqj+βjqj+1\mathbf{A}\mathbf{q}_j=\beta_{j-1}\mathbf{q}_{j-1}+\alpha_j\mathbf{q}_j+\beta_j\mathbf{q}_{j+1} for j=1,…,mj=1,\dots,m as the columns of one matrix identity gives

AQm=QmTm+βmqm+1em⊤,\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{T}_m+\textcolor{#16a34a}{\beta_m\mathbf{q}_{m+1}\mathbf{e}_m^\top},

where em\mathbf{e}_m is the last standard basis vector of Rm\mathbb{R}^m. Inside Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), the matrix A\mathbf{A} acts on coordinates as the small matrix Tm\mathbf{T}_m, except for the green term, through which the last basis vector leaks out of the subspace. Every eigenpair (ϑ,y)(\vartheta,\mathbf{y}) of Tm\mathbf{T}_m, with ∥y∥=1\|\mathbf{y}\|=1, therefore gives a candidate eigenpair (ϑ,Qmy)(\vartheta,\mathbf{Q}_m\mathbf{y}) of A\mathbf{A}, a Ritz pair of Lemma 4:

A⏟d×d  ⟶  Tm=Qm⊤AQm⏟m×m  ⟶  (ϑ,y)  ⟶  (ϑ,Qmy).\underbrace{\mathbf{A}}_{d\times d} \;\longrightarrow\; \underbrace{\mathbf{T}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m}_{m\times m} \;\longrightarrow\; (\vartheta,\mathbf{y}) \;\longrightarrow\; (\vartheta,\mathbf{Q}_m\mathbf{y}).

Multiplying the identity by y\mathbf{y} and using Tmy=ϑy\mathbf{T}_m\mathbf{y}=\vartheta\mathbf{y} shows that the residual of the Ritz pair is exactly the leak:

AQmy−ϑ Qmy=βm ym qm+1,∥AQmy−ϑ Qmy∥=βm∣ym∣,\mathbf{A}\mathbf{Q}_m\mathbf{y}-\vartheta\,\mathbf{Q}_m\mathbf{y}=\textcolor{#16a34a}{\beta_m\,y_m\,\mathbf{q}_{m+1}}, \qquad \bigl\|\mathbf{A}\mathbf{Q}_m\mathbf{y}-\vartheta\,\mathbf{Q}_m\mathbf{y}\bigr\|=\beta_m|y_m|,

where ymy_m is the last entry of y\mathbf{y}. The residual is available without any further product, and Lemma 2 turns it into a certificate. The basis vectors are building blocks, not approximate eigenvectors. An approximate eigenvector Qmy\mathbf{Q}_m\mathbf{y} combines all of them, so the basis must be stored to form it, whereas the Ritz values need only the numbers αj\alpha_j and βj\beta_j.

Gram–Schmidt also explains why the Ritz values approach eigenvalues. At step mm, the part of Amq1\mathbf{A}^m\mathbf{q}_1 that Gram–Schmidt keeps is what remains after removing its orthogonal projection onto Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), and it points along qm+1\mathbf{q}_{m+1}. Every vector Amq1−k\mathbf{A}^m\mathbf{q}_1-\mathbf{k} with k∈Km(A,q1)\mathbf{k}\in\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) is π(A)q1\pi(\mathbf{A})\mathbf{q}_1 for a monic polynomial π\pi of degree mm, that is, one whose coefficient of tmt^m is 11, and the orthogonal projection gives the closest k\mathbf{k}. The remainder is therefore πm(A)q1=β1β2⋯βm qm+1\pi_m(\mathbf{A})\mathbf{q}_1=\beta_1\beta_2\cdots\beta_m\,\mathbf{q}_{m+1}, where πm\pi_m is the monic polynomial of degree mm that makes

∥π(A)q1∥2=∑λ∈Λ(A)π(λ)2 ∥Πλq1∥2\|\pi(\mathbf{A})\mathbf{q}_1\|^2=\sum_{\lambda\in\Lambda(\mathbf{A})}\pi(\lambda)^2\,\|\Pi_\lambda\mathbf{q}_1\|^2

as small as possible. To keep this sum small, πm\pi_m must be small at every eigenvalue that carries a large share of q1\mathbf{q}_1. The Ritz values at step mm are exactly the roots of πm\pi_m: expanding det⁡(t Im−Tm)\det(t\,\mathbb{I}_m-\mathbf{T}_m) along its last row gives the same three-term recurrence as β1⋯βm pm(t)\beta_1\cdots\beta_m\,p_m(t), so det⁡(t Im−Tm)=πm(t)\det(t\,\mathbb{I}_m-\mathbf{T}_m)=\pi_m(t). The Ritz values therefore sit near the eigenvalues at which πm\pi_m has to be small. Once mm equals the number ss of distinct eigenvalues present in q1\mathbf{q}_1, the polynomial ∏λ(t−λ)\prod_\lambda(t-\lambda) over those eigenvalues makes the sum zero. The remainder then vanishes, βs=0\beta_s=0, and the Ritz values are exactly those eigenvalues (Proposition 3). Lemma 5 adds that the extreme Ritz values move monotonically toward λmin⁡(A)\lambda_{\min}(\mathbf{A}) and λmax⁡(A)\lambda_{\max}(\mathbf{A}).

4.3 A three-dimensional example

The steps of Section 4.2 can be followed with numbers on a small matrix. Take

A=[100020003],q1=13[111].\mathbf{A}=\begin{bmatrix}1&0&0\\0&2&0\\0&0&3\end{bmatrix}, \qquad \mathbf{q}_1=\frac{1}{\sqrt{3}}\begin{bmatrix}1\\1\\1\end{bmatrix}.

Step 1. The candidate Aq1=13[1,2,3]⊤\mathbf{A}\mathbf{q}_1=\frac{1}{\sqrt3}[1,2,3]^\top has the coefficient α1=q1⊤Aq1=2\alpha_1=\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_1=2 on q1\mathbf{q}_1, and there is no q0\mathbf{q}_0 to remove. The rest, r1=13[−1,0,1]⊤\mathbf{r}_1=\frac{1}{\sqrt3}[-1,0,1]^\top, has length β1=2/3\beta_1=\sqrt{2/3} and gives q2=12[−1,0,1]⊤\mathbf{q}_2=\frac{1}{\sqrt2}[-1,0,1]^\top.

Step 2. The candidate Aq2=12[−1,0,3]⊤\mathbf{A}\mathbf{q}_2=\frac{1}{\sqrt2}[-1,0,3]^\top has the coefficient q1⊤Aq2=2/3=β1\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_2=\sqrt{2/3}=\beta_1 on q1\mathbf{q}_1, as symmetry predicts, and the coefficient α2=2\alpha_2=2 on q2\mathbf{q}_2. Removing both leaves r2=132[1,−2,1]⊤\mathbf{r}_2=\frac{1}{3\sqrt2}[1,-2,1]^\top, of length β2=1/3\beta_2=1/\sqrt3, which gives q3=16[1,−2,1]⊤\mathbf{q}_3=\frac{1}{\sqrt6}[1,-2,1]^\top.

Step 3. The candidate Aq3=16[1,−4,3]⊤\mathbf{A}\mathbf{q}_3=\frac{1}{\sqrt6}[1,-4,3]^\top minus β2q2\beta_2\mathbf{q}_2 equals 16[2,−4,2]⊤=2q3\frac{1}{\sqrt6}[2,-4,2]^\top=2\mathbf{q}_3. Hence α3=2\alpha_3=2 and r3=0\mathbf{r}_3=0, an exact breakdown: K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1) is already all of R3\mathbb{R}^3, so no new direction exists.

The small matrices are

T1=[2],T2=[22/32/32],T3=[22/302/321/301/32],\mathbf{T}_1=\begin{bmatrix}2\end{bmatrix}, \qquad \mathbf{T}_2=\begin{bmatrix}2&\sqrt{2/3}\\\sqrt{2/3}&2\end{bmatrix}, \qquad \mathbf{T}_3=\begin{bmatrix}2&\sqrt{2/3}&0\\\sqrt{2/3}&2&1/\sqrt3\\0&1/\sqrt3&2\end{bmatrix},

and their eigenvalues, the Ritz values, are {2}\{2\}, then {2−2/3, 2+2/3}≈{1.18, 2.82}\{2-\sqrt{2/3},\,2+\sqrt{2/3}\}\approx\{1.18,\,2.82\}, then {1,2,3}\{1,2,3\}. The extreme Ritz values move outward toward the extreme eigenvalues 11 and 33, as Lemma 5 guarantees. At m=3m=3, they are exactly the eigenvalues of A\mathbf{A}, as Proposition 3 guarantees for a starting vector with a nonzero component on every eigenvector. At m=2m=2, the eigenvectors of T2\mathbf{T}_2 are 12[1,±1]⊤\frac{1}{\sqrt2}[1,\pm1]^\top, so both Ritz pairs have residual β2∣y2∣=13⋅12≈0.41\beta_2|y_2|=\frac{1}{\sqrt3}\cdot\frac{1}{\sqrt2}\approx0.41 (Lemma 4). This bounds their actual distances to the spectrum, 0.180.18 in both cases (Lemma 2). For comparison, power iteration from the same q1\mathbf{q}_1 estimates λmax⁡(A)=3\lambda_{\max}(\mathbf{A})=3 after the same two products by v1⊤Av1=36/14≈2.57\mathbf{v}_1^\top\mathbf{A}\mathbf{v}_1=36/14\approx2.57, with v1=Aq1/∥Aq1∥\mathbf{v}_1=\mathbf{A}\mathbf{q}_1/\|\mathbf{A}\mathbf{q}_1\|, which is farther from 33 than the Ritz value 2.822.82. In the polynomial reading of Section 4.2, the Ritz values 2±2/32\pm\sqrt{2/3} are the roots of π2(t)=(t−2)2−2/3\pi_2(t)=(t-2)^2-2/3, the monic quadratic that makes ∥π(A)q1∥\|\pi(\mathbf{A})\mathbf{q}_1\| smallest, and at m=3m=3 the polynomial (t−1)(t−2)(t−3)(t-1)(t-2)(t-3) makes it zero, which is the breakdown.

4.4 Definition 2 [Lanczos recurrence and exact breakdown]

The Lanczos construction starts with

q0=0,β0=0,∥q1∥=1.\mathbf{q}_0=0, \qquad \beta_0=0, \qquad \|\mathbf{q}_1\|=1 .

At iteration j≥1j\ge1, compute

zj=Aqj−βj−1qj−1,αj=qj⊤zj,rj=zj−αjqj,βj=∥rj∥.\begin{aligned} \mathbf{z}_j&=\mathbf{A}\mathbf{q}_j-\beta_{j-1}\mathbf{q}_{j-1},\\ \alpha_j&=\mathbf{q}_j^\top\mathbf{z}_j,\\ \mathbf{r}_j&=\mathbf{z}_j-\alpha_j\mathbf{q}_j,\\ \beta_j&=\|\mathbf{r}_j\| . \end{aligned}

If βj>0\beta_j>0, define qj+1=rj/βj\mathbf{q}_{j+1}=\mathbf{r}_j/\beta_j and continue. If βj=0\beta_j=0, stop the current run. We refer to this event as an exact breakdown. As shown below, it means that the generated subspace is invariant under A\mathbf{A}.

■□\begin{array}{r} \blacksquare\Box \end{array}

The vectors qj\mathbf{q}_j are basis vectors, not generally eigenvectors of A\mathbf{A}. Each step orthogonalizes Aqj\mathbf{A}\mathbf{q}_j against the two most recent basis vectors only, for the reasons given in Section 4.2. This Orthogonalizing Aqj\mathbf A\mathbf q_j against every previous basis vector, as in Gram–Schmidt, would cost more at every step. For symmetric A\mathbf A, the coefficients against q1,…,qj−2\mathbf q_1,\dots,\mathbf q_{j-2} vanish (Lemma 3), so the two coefficients αj\alpha_j and βj−1\beta_{j-1} suffice. is enough because A\mathbf{A} is symmetric. Lemma 3 shows that, in exact arithmetic, Aqj\mathbf{A}\mathbf{q}_j is automatically orthogonal to q1,…,qj−2\mathbf{q}_1,\dots,\mathbf{q}_{j-2}, so the projected matrix is tridiagonal and each step costs one product plus O(d)O(d) further operations.

4.5 Lemma 3 [Orthogonality and tridiagonal projection]

Before and including the first exact breakdown, the Lanczos vectors satisfy

qi⊤qj=δij,span⁡{q1,…,qm}=Km(A,q1).\mathbf{q}_i^\top\mathbf{q}_j=\delta_{ij}, \qquad \operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_m\}=\mathcal{K}_m(\mathbf{A},\mathbf{q}_1).

Let Qm=[q1,…,qm]\mathbf{Q}_m=[\mathbf{q}_1,\dots,\mathbf{q}_m], and let Tm∈Rm×m\mathbf{T}_m\in\mathbb{R}^{m\times m} be the symmetric tridiagonal matrix

Tm=[α1β1β1α2β2⋱⋱⋱βm−2αm−1βm−1βm−1αm],\mathbf{T}_m= \begin{bmatrix} \alpha_1&\beta_1&&&\\ \beta_1&\alpha_2&\beta_2&&\\ &\ddots&\ddots&\ddots&\\ &&\beta_{m-2}&\alpha_{m-1}&\beta_{m-1}\\ &&&\beta_{m-1}&\alpha_m \end{bmatrix},

that is, (Tm)ii=αi(\mathbf{T}_m)_{ii}=\alpha_i for 1≤i≤m1\le i\le m, (Tm)i,i+1=(Tm)i+1,i=βi(\mathbf{T}_m)_{i,i+1}=(\mathbf{T}_m)_{i+1,i}=\beta_i for 1≤i<m1\le i<m, and all other entries equal to zero. Then

AQm=QmTm+rmem⊤.\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{T}_m+\mathbf{r}_m\mathbf{e}_m^\top .

Moreover,

Qm⊤rm=0,Tm=Qm⊤AQm.\mathbf{Q}_m^\top\mathbf{r}_m=0, \qquad \mathbf{T}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m .

Remark 12 [What the tridiagonal matrix represents]

The identity Tm=Qm⊤AQm\mathbf{T}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m says that Tm\mathbf{T}_m represents A\mathbf{A} compressed to the Krylov subspace, in the orthonormal basis q1,…,qm\mathbf{q}_1,\dots,\mathbf{q}_m. The rank-one term rmem⊤\mathbf{r}_m\mathbf{e}_m^\top measures how far that subspace is from being invariant: only the image of the last basis vector leaves it.

Proof

Orthogonality. We argue by induction. The initial vector is normalized by assumption. Suppose that q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j are orthonormal and that the previous iterations have been completed. We show that rj\mathbf{r}_j is orthogonal to each qi\mathbf{q}_i with i≤ji\le j.

The case i=ji=j. Since qj⊤qj−1=0\mathbf{q}_j^\top\mathbf{q}_{j-1}=0, with q0=0\mathbf{q}_0=0 when j=1j=1, we have

αj=qj⊤(Aqj−βj−1qj−1)=qj⊤Aqj.\begin{aligned} \alpha_j &=\mathbf{q}_j^\top\bigl(\mathbf{A}\mathbf{q}_j-\beta_{j-1}\mathbf{q}_{j-1}\bigr)\\ &=\mathbf{q}_j^\top\mathbf{A}\mathbf{q}_j . \end{aligned}

Therefore,

qj⊤rj=qj⊤zj−αjqj⊤qj=αj−αj=0.\begin{aligned} \mathbf{q}_j^\top\mathbf{r}_j &=\mathbf{q}_j^\top\mathbf{z}_j-\alpha_j\mathbf{q}_j^\top\mathbf{q}_j\\ &=\alpha_j-\alpha_j\\ &=0 . \end{aligned}

The case i=j−1i=j-1, for j≥2j\ge2. The previous recurrence gives

Aqj−1=βj−2qj−2+αj−1qj−1+βj−1qj.\mathbf{A}\mathbf{q}_{j-1}=\beta_{j-2}\mathbf{q}_{j-2}+\alpha_{j-1}\mathbf{q}_{j-1}+\beta_{j-1}\mathbf{q}_j .

Using symmetry,

qj−1⊤rj=qj−1⊤Aqj−βj−1=(Aqj−1)⊤qj−βj−1=βj−1−βj−1=0.\begin{aligned} \mathbf{q}_{j-1}^\top\mathbf{r}_j &=\mathbf{q}_{j-1}^\top\mathbf{A}\mathbf{q}_j-\beta_{j-1}\\ &=\textcolor{#2563eb}{(\mathbf{A}\mathbf{q}_{j-1})^\top\mathbf{q}_j}-\beta_{j-1}\\ &=\beta_{j-1}-\beta_{j-1}\\ &=0 . \end{aligned}

In the first line, qj−1⊤qj−1=1\mathbf{q}_{j-1}^\top\mathbf{q}_{j-1}=1 and the term αjqj−1⊤qj\alpha_j\mathbf{q}_{j-1}^\top\mathbf{q}_j vanishes.

The case i≤j−2i\le j-2. The recurrence at step ii shows that

Aqi∈span⁡{q1,…,qi+1}.\mathbf{A}\mathbf{q}_i\in\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_{i+1}\}.

Since i+1≤j−1i+1\le j-1, this vector is orthogonal to qj\mathbf{q}_j. Hence

qi⊤rj=qi⊤Aqj−βj−1qi⊤qj−1−αjqi⊤qj=(Aqi)⊤qj=0.\begin{aligned} \mathbf{q}_i^\top\mathbf{r}_j &=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j-\beta_{j-1}\mathbf{q}_i^\top\mathbf{q}_{j-1}-\alpha_j\mathbf{q}_i^\top\mathbf{q}_j\\ &=\textcolor{#2563eb}{(\mathbf{A}\mathbf{q}_i)^\top\mathbf{q}_j}\\ &=0 . \end{aligned}

The blue terms are where symmetry enters. Moving A\mathbf{A} from qj\mathbf{q}_j onto an older basis vector qi\mathbf{q}_i turns the inner product into one with Aqi\mathbf{A}\mathbf{q}_i, and an earlier step of the recurrence has already expanded Aqi\mathbf{A}\mathbf{q}_i in the basis. This is why orthogonalizing against the two most recent vectors suffices.

Thus rj\mathbf{r}_j is orthogonal to every column of Qj\mathbf{Q}_j. If βj>0\beta_j>0, normalizing rj\mathbf{r}_j extends the orthonormal family.

Krylov subspaces. The identity holds at m=1m=1. Suppose it holds at iteration jj and βj>0\beta_j>0. Then

qj+1=Aqj−βj−1qj−1−αjqjβj∈Kj+1(A,q1),\mathbf{q}_{j+1}=\frac{\mathbf{A}\mathbf{q}_j-\beta_{j-1}\mathbf{q}_{j-1}-\alpha_j\mathbf{q}_j}{\beta_j}\in\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1),

because qj−1\mathbf{q}_{j-1} and qj\mathbf{q}_j belong to Kj(A,q1)\mathcal{K}_j(\mathbf{A},\mathbf{q}_1), whose image under A\mathbf{A} lies in Kj+1(A,q1)\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1). Consequently,

span⁡{q1,…,qj+1}⊆Kj+1(A,q1).\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_{j+1}\}\subseteq\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1).

The left-hand side has dimension j+1j+1, because its vectors are orthonormal. The right-hand side is generated by j+1j+1 vectors, so its dimension is at most j+1j+1. The two spaces are therefore equal.

Matrix identity. For each completed iteration j<mj<m,

Aqj=βj−1qj−1+αjqj+βjqj+1.\mathbf{A}\mathbf{q}_j=\beta_{j-1}\mathbf{q}_{j-1}+\alpha_j\mathbf{q}_j+\beta_j\mathbf{q}_{j+1}.

For the final column,

Aqm=βm−1qm−1+αmqm+rm.\mathbf{A}\mathbf{q}_m=\beta_{m-1}\mathbf{q}_{m-1}+\alpha_m\mathbf{q}_m+\mathbf{r}_m .

Collecting these identities column by column gives

AQm=QmTm+rmem⊤.\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{T}_m+\mathbf{r}_m\mathbf{e}_m^\top .

Multiplying on the left by Qm⊤\mathbf{Q}_m^\top, and using

Qm⊤Qm=Im,Qm⊤rm=0,\mathbf{Q}_m^\top\mathbf{Q}_m=\mathbb{I}_m, \qquad \mathbf{Q}_m^\top\mathbf{r}_m=0,

gives

Qm⊤AQm=Tm.\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m=\mathbf{T}_m . ■□\begin{array}{r} \blacksquare\Box \end{array}

The residual form of this identity remains valid when βm=0\beta_m=0. When βm>0\beta_m>0, it can also be written as

AQm=QmTm+βmqm+1em⊤.\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{T}_m+\beta_m\mathbf{q}_{m+1}\mathbf{e}_m^\top .

No vector qm+1\mathbf{q}_{m+1} needs to be defined at an exact breakdown.

4.6 Lemma 4 [Ritz pairs and their residuals]

Let

Tmy=ϑ y,∥y∥=1,\mathbf{T}_m\mathbf{y}=\vartheta\,\mathbf{y}, \qquad \|\mathbf{y}\|=1,

and define x=Qmy.\mathbf{x}=\mathbf{Q}_m\mathbf{y}. Then

∥x∥=1,x⊤Ax=ϑ,\|\mathbf{x}\|=1, \qquad \mathbf{x}^\top\mathbf{A}\mathbf{x}=\vartheta,

and

Ax−ϑx=rm ym,∥Ax−ϑx∥=βm∣ym∣.\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}=\mathbf{r}_m\,y_m, \qquad \|\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}\|=\beta_m|y_m| .

Here ym=em⊤yy_m=\mathbf{e}_m^\top\mathbf{y} is the last coordinate of y\mathbf{y}. In particular,

min⁡λ∈Λ(A)∣ϑ−λ∣≤βm∣ym∣.\min_{\lambda\in\Lambda(\mathbf{A})}|\vartheta-\lambda|\le\beta_m|y_m| .

The scalar ϑ\vartheta is called a Ritz value, and x\mathbf{x} a Ritz vector.

Remark 13 [Residuals at no extra cost]

Ritz pairs are the eigenpairs of the compression of A\mathbf{A} to the Krylov subspace, lifted back to Rd\mathbb{R}^d. Computing them is the Approximating the eigenpairs of A\mathbf A by those of its compression Q⊤AQ\mathbf Q^\top\mathbf A\mathbf Q to a subspace with orthonormal basis Q\mathbf Q is the Rayleigh–Ritz procedure. Lanczos applies it to Krylov subspaces, where the compression is tridiagonal. on a Krylov subspace. Their residuals cost nothing extra: βm\beta_m and the last coordinate of y\mathbf{y} are available from the small problem. A Ritz pair can therefore be certified as accurate even when βm\beta_m is not small, as long as ∣ym∣|y_m| is.

Proof

Orthonormality of the columns of Qm\mathbf{Q}_m gives

∥x∥2=y⊤Qm⊤Qmy=y⊤y=1.\begin{aligned} \|\mathbf{x}\|^2 &=\mathbf{y}^\top\mathbf{Q}_m^\top\mathbf{Q}_m\mathbf{y}\\ &=\mathbf{y}^\top\mathbf{y}\\ &=1 . \end{aligned}

Also,

x⊤Ax=y⊤Qm⊤AQmy=y⊤Tmy=ϑ y⊤y=ϑ.\begin{aligned} \mathbf{x}^\top\mathbf{A}\mathbf{x} &=\mathbf{y}^\top\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m\mathbf{y}\\ &=\mathbf{y}^\top\mathbf{T}_m\mathbf{y}\\ &=\vartheta\,\mathbf{y}^\top\mathbf{y}\\ &=\vartheta . \end{aligned}

Using Lemma 3,

Ax−ϑx=AQmy−ϑQmy=QmTmy+rmem⊤y−ϑQmy=Qm(Tmy−ϑy)+rmym=rmym.\begin{aligned} \mathbf{A}\mathbf{x}-\vartheta\mathbf{x} &=\mathbf{A}\mathbf{Q}_m\mathbf{y}-\vartheta\mathbf{Q}_m\mathbf{y}\\ &=\mathbf{Q}_m\mathbf{T}_m\mathbf{y}+\mathbf{r}_m\mathbf{e}_m^\top\mathbf{y}-\vartheta\mathbf{Q}_m\mathbf{y}\\ &=\mathbf{Q}_m\textcolor{#2563eb}{(\mathbf{T}_m\mathbf{y}-\vartheta\mathbf{y})}+\mathbf{r}_m y_m\\ &=\mathbf{r}_m y_m . \end{aligned}

The blue factor vanishes because y\mathbf{y} is an eigenvector of Tm\mathbf{T}_m. Taking norms gives

∥Ax−ϑx∥=∥rm∥ ∣ym∣=βm∣ym∣.\|\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}\|=\|\mathbf{r}_m\|\,|y_m|=\beta_m|y_m| .

The eigenvalue bound is Lemma 2 applied to the unit vector x\mathbf{x}, whose Rayleigh quotient is ϑ\vartheta.

The eigenbasis expansion, written out for the Ritz vector

Expand x\mathbf{x} in an orthonormal eigenbasis u1,…,ud\mathbf{u}_1,\dots,\mathbf{u}_d of A\mathbf{A}:

x=∑i=1dciui,Aui=λiui,∑i=1dci2=1.\mathbf{x}=\sum_{i=1}^dc_i\mathbf{u}_i, \qquad \mathbf{A}\mathbf{u}_i=\lambda_i\mathbf{u}_i, \qquad \sum_{i=1}^dc_i^2=1 .

Then

Ax−ϑx=∑i=1dci(λi−ϑ)ui,\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}=\sum_{i=1}^dc_i(\lambda_i-\vartheta)\mathbf{u}_i,

and therefore

∥Ax−ϑx∥2=∑i=1dci2(λi−ϑ)2≥(min⁡1≤i≤d∣λi−ϑ∣2)∑i=1dci2=min⁡1≤i≤d∣λi−ϑ∣2.\begin{aligned} \|\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}\|^2 &=\sum_{i=1}^dc_i^2(\lambda_i-\vartheta)^2\\ &\ge\left(\min_{1\le i\le d}|\lambda_i-\vartheta|^2\right)\sum_{i=1}^dc_i^2\\ &=\min_{1\le i\le d}|\lambda_i-\vartheta|^2 . \end{aligned}

Taking square roots proves the bound.

■□\begin{array}{r} \blacksquare\Box \end{array}

This bound certifies proximity to some eigenvalue of A\mathbf{A}. By itself, a small residual does not certify that the eigenvalue is a global extremum or that all eigenvalues have been found.

4.7 Lemma 5 [Variational characterization and monotonicity]

Let

ϑmin⁡(m)=λmin⁡(Tm),ϑmax⁡(m)=λmax⁡(Tm).\vartheta_{\min}^{(m)}=\lambda_{\min}(\mathbf{T}_m), \qquad \vartheta_{\max}^{(m)}=\lambda_{\max}(\mathbf{T}_m).

Then

ϑmin⁡(m)=min⁡x∈Km(A,q1)∥x∥=1x⊤Ax,ϑmax⁡(m)=max⁡x∈Km(A,q1)∥x∥=1x⊤Ax.\vartheta_{\min}^{(m)}=\min_{\substack{\mathbf{x}\in\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)\\\|\mathbf{x}\|=1}}\mathbf{x}^\top\mathbf{A}\mathbf{x}, \qquad \vartheta_{\max}^{(m)}=\max_{\substack{\mathbf{x}\in\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)\\\|\mathbf{x}\|=1}}\mathbf{x}^\top\mathbf{A}\mathbf{x}.

Whenever the next iteration exists,

λmin⁡(A)≤ϑmin⁡(m+1)≤ϑmin⁡(m),ϑmax⁡(m)≤ϑmax⁡(m+1)≤λmax⁡(A).\lambda_{\min}(\mathbf{A})\le\textcolor{#16a34a}{\vartheta_{\min}^{(m+1)}}\le\textcolor{#16a34a}{\vartheta_{\min}^{(m)}}, \qquad \textcolor{#16a34a}{\vartheta_{\max}^{(m)}}\le\textcolor{#16a34a}{\vartheta_{\max}^{(m+1)}}\le\lambda_{\max}(\mathbf{A}).

Remark 14 [Extreme Ritz values move outward]

The extreme Ritz values are the extreme Rayleigh quotients over a growing family of subspaces. They can therefore only move outward, toward the extreme eigenvalues of A\mathbf{A}, and never overshoot them, as the green curves of panel (a) in Figure 6 show.

Proof

Every vector in Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) has a unique representation x=Qmy.\mathbf{x}=\mathbf{Q}_m\mathbf{y}. Moreover, ∥x∥2=y⊤Qm⊤Qmy=∥y∥2,\|\mathbf{x}\|^2=\mathbf{y}^\top\mathbf{Q}_m^\top\mathbf{Q}_m\mathbf{y}=\|\mathbf{y}\|^2, and x⊤Ax=y⊤Tmy.\mathbf{x}^\top\mathbf{A}\mathbf{x}=\mathbf{y}^\top\mathbf{T}_m\mathbf{y}. Let s1,…,sm\mathbf{s}_1,\dots,\mathbf{s}_m be an orthonormal eigenbasis of Tm\mathbf{T}_m, with eigenvalues ϑ1,…,ϑm\vartheta_1,\dots,\vartheta_m. For any unit vector

y=∑i=1mcisi,∑i=1mci2=1,\mathbf{y}=\sum_{i=1}^mc_i\mathbf{s}_i, \qquad \sum_{i=1}^mc_i^2=1,

we have

y⊤Tmy=∑i=1mϑici2.\mathbf{y}^\top\mathbf{T}_m\mathbf{y}=\sum_{i=1}^m\vartheta_i c_i^2 .

Thus

min⁡iϑi≤y⊤Tmy≤max⁡iϑi.\min_i\vartheta_i\le\mathbf{y}^\top\mathbf{T}_m\mathbf{y}\le\max_i\vartheta_i .

The lower and upper bounds are attained by eigenvectors associated with the smallest and largest eigenvalues. This proves the two variational identities.

Since Km(A,q1)⊆Km+1(A,q1),\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)\subseteq\mathcal{K}_{m+1}(\mathbf{A},\mathbf{q}_1), minimizing over the larger set can only decrease the minimum, while maximizing over the larger set can only increase the maximum. Therefore,

ϑmin⁡(m+1)≤ϑmin⁡(m),ϑmax⁡(m)≤ϑmax⁡(m+1).\vartheta_{\min}^{(m+1)}\le\vartheta_{\min}^{(m)}, \qquad \vartheta_{\max}^{(m)}\le\vartheta_{\max}^{(m+1)}.

Finally, every unit vector x∈Rd\mathbf{x}\in\mathbb{R}^d satisfies λmin⁡(A)≤x⊤Ax≤λmax⁡(A),\lambda_{\min}(\mathbf{A})\le\mathbf{x}^\top\mathbf{A}\mathbf{x}\le\lambda_{\max}(\mathbf{A}), as follows from the same eigenbasis expansion for A\mathbf{A}. This gives the remaining bounds.

■□\begin{array}{r} \blacksquare\Box \end{array}

This characterization provides a precise connection with power iteration. Started from v0=q1\mathbf{v}_0=\mathbf{q}_1, and whenever Am−1q1≠0\mathbf{A}^{m-1}\mathbf{q}_1\neq0, the normalized power iterate

vm−1=Am−1q1∥Am−1q1∥\mathbf{v}_{m-1}=\frac{\mathbf{A}^{m-1}\mathbf{q}_1}{\|\mathbf{A}^{m-1}\mathbf{q}_1\|}

belongs to Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1). Consequently,

ϑmin⁡(m)≤vm−1⊤Avm−1≤ϑmax⁡(m).\vartheta_{\min}^{(m)}\le\mathbf{v}_{m-1}^\top\mathbf{A}\mathbf{v}_{m-1}\le\vartheta_{\max}^{(m)}.

Lanczos optimizes the Rayleigh quotient over all unit vectors in the available Krylov subspace. The normalized power vector is one particular member of that subspace.

Both estimates cost mm matrix–vector products: Tm\mathbf{T}_m needs Aq1,…,Aqm\mathbf{A}\mathbf{q}_1,\dots,\mathbf{A}\mathbf{q}_m, and the Rayleigh quotient of vm−1\mathbf{v}_{m-1} needs Av0,…,Avm−1\mathbf{A}\mathbf{v}_0,\dots,\mathbf{A}\mathbf{v}_{m-1}. The eigenvalue of largest magnitude is λmax⁡(A)\lambda_{\max}(\mathbf{A}) or λmin⁡(A)\lambda_{\min}(\mathbf{A}). In the first case, vm−1⊤Avm−1≤ϑmax⁡(m)≤λmax⁡(A)\mathbf{v}_{m-1}^\top\mathbf{A}\mathbf{v}_{m-1}\le\vartheta_{\max}^{(m)}\le\lambda_{\max}(\mathbf{A}), and in the second, λmin⁡(A)≤ϑmin⁡(m)≤vm−1⊤Avm−1\lambda_{\min}(\mathbf{A})\le\vartheta_{\min}^{(m)}\le\mathbf{v}_{m-1}^\top\mathbf{A}\mathbf{v}_{m-1}. Either way, at an equal number of products, the extreme Ritz value on the side of the dominant eigenvalue is at least as close to it as the power-iteration estimate (middle panel of the figure in Section 4.9).

This variational statement does not imply that Lanczos has a lower total runtime for every matrix. Constructing and retaining the basis introduces additional work and storage.

4.8 Proposition 3 [Exact termination and the eigenvalues recovered by one run]

For each λ∈Λ(A)\lambda\in\Lambda(\mathbf{A}), let Πλ\Pi_\lambda be the orthogonal projection onto EλE_\lambda. Define

Λ1={λ∈Λ(A):Πλq1≠0},s=∣Λ1∣.\Lambda_1=\{\lambda\in\Lambda(\mathbf{A}):\Pi_\lambda\mathbf{q}_1\neq0\}, \qquad s=|\Lambda_1| .

Here Λ1\Lambda_1 contains distinct eigenvalues, irrespective of their multiplicities.

A single Lanczos run terminates at exactly iteration ss:

βj>0(1≤j<s),βs=0.\beta_j>0\quad(1\le j<s), \qquad \beta_s=0 .

At termination,

AQs=QsTs,\mathbf{A}\mathbf{Q}_s=\mathbf{Q}_s\mathbf{T}_s,

and the eigenvalues of Ts\mathbf{T}_s are precisely the elements of Λ1\Lambda_1, each appearing once.

Remark 15 [One direction per distinct eigenvalue]

A run can only discover the eigenvalues present in q1\mathbf{q}_1, and it discovers each of them once, however large its multiplicity. Inside the Krylov subspace, the whole eigenspace EλE_\lambda is represented by the single vector Πλq1\Pi_\lambda\mathbf{q}_1. The number of steps before an exact breakdown is therefore the number of distinct eigenvalues present in q1\mathbf{q}_1, not dd.

Proof

Write

pλ=Πλq1,λ∈Λ1,\mathbf{p}_\lambda=\Pi_\lambda\mathbf{q}_1, \qquad \lambda\in\Lambda_1,

and define

W=span⁡{pλ:λ∈Λ1}.W=\operatorname{span}\{\mathbf{p}_\lambda:\lambda\in\Lambda_1\}.

The vectors pλ\mathbf{p}_\lambda are nonzero and mutually orthogonal, so

dim⁡W=s.\dim W=s .

The Krylov subspaces lie in WW. Every power of A\mathbf{A} applied to q1\mathbf{q}_1 belongs to WW, because

q1=∑λ∈Λ1pλ\mathbf{q}_1=\sum_{\lambda\in\Lambda_1}\mathbf{p}_\lambda

and, for k≥1k\ge1,

Akq1=∑λ∈Λ1λkpλ.\mathbf{A}^k\mathbf{q}_1=\sum_{\lambda\in\Lambda_1}\lambda^k\mathbf{p}_\lambda .

Therefore,

Km(A,q1)⊆Wfor every m.\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)\subseteq W \qquad \text{for every }m .

The Krylov subspace of order ss equals WW. For each λ∈Λ1\lambda\in\Lambda_1, define the ℓλ\ell_\lambda is the unique polynomial of degree at most s−1s-1 that equals 11 at λ\lambda and 00 at the other s−1s-1 points of Λ1\Lambda_1. Applied to A\mathbf A, it keeps the component of q1\mathbf q_1 along EλE_\lambda and removes every other component present in q1\mathbf q_1.

ℓλ(t)=∏μ∈Λ1μ≠λt−μλ−μ.\ell_\lambda(t)=\prod_{\substack{\mu\in\Lambda_1\\\mu\neq\lambda}}\frac{t-\mu}{\lambda-\mu}.

When s=1s=1, the empty product is defined as 11. This polynomial has degree at most s−1s-1 and satisfies

ℓλ(μ)={1,μ=λ,0,μ≠λ,μ∈Λ1.\ell_\lambda(\mu)= \begin{cases} 1,&\mu=\lambda,\\ 0,&\mu\neq\lambda, \end{cases} \qquad\mu\in\Lambda_1 .

Consequently,

ℓλ(A)q1=∑μ∈Λ1ℓλ(μ)pμ=pλ.\begin{aligned} \ell_\lambda(\mathbf{A})\mathbf{q}_1 &=\sum_{\mu\in\Lambda_1}\ell_\lambda(\mu)\mathbf{p}_\mu\\ &=\mathbf{p}_\lambda . \end{aligned}

Since ℓλ\ell_\lambda has degree at most s−1s-1,

pλ∈Ks(A,q1).\mathbf{p}_\lambda\in\mathcal{K}_s(\mathbf{A},\mathbf{q}_1).

Thus

W⊆Ks(A,q1),W\subseteq\mathcal{K}_s(\mathbf{A},\mathbf{q}_1),

and hence

Ks(A,q1)=W.\mathcal{K}_s(\mathbf{A},\mathbf{q}_1)=W .

No breakdown before iteration ss. Suppose a breakdown occurred at some m<sm<s. Lemma 3 would give

AQm=QmTm,\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{T}_m,

so

Km(A,q1)=range⁡(Qm)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)=\operatorname{range}(\mathbf{Q}_m)

would be invariant under A\mathbf{A}. Since it contains q1\mathbf{q}_1, it would then contain every power Akq1\mathbf{A}^k\mathbf{q}_1, and therefore

Ks(A,q1)⊆Km(A,q1).\mathcal{K}_s(\mathbf{A},\mathbf{q}_1)\subseteq\mathcal{K}_m(\mathbf{A},\mathbf{q}_1).

This is impossible, because

dim⁡Ks(A,q1)=s>m=dim⁡Km(A,q1).\dim\mathcal{K}_s(\mathbf{A},\mathbf{q}_1)=s>m=\dim\mathcal{K}_m(\mathbf{A},\mathbf{q}_1).

Thus no breakdown occurs before iteration ss.

Breakdown at iteration ss. At iteration ss, all columns of Qs\mathbf{Q}_s belong to WW. Since WW is spanned by eigenvectors, it is invariant under A\mathbf{A}. Therefore,

rs=Aqs−βs−1qs−1−αsqs∈W.\mathbf{r}_s=\mathbf{A}\mathbf{q}_s-\beta_{s-1}\mathbf{q}_{s-1}-\alpha_s\mathbf{q}_s\in W .

But Lemma 3 also gives

rs⊥range⁡(Qs)=W.\mathbf{r}_s\perp\operatorname{range}(\mathbf{Q}_s)=W .

Hence rs=0\mathbf{r}_s=0, and βs=0\beta_s=0.

The eigenvalues of Ts\mathbf{T}_s. The normalized vectors

uλ=pλ∥pλ∥,λ∈Λ1,\mathbf{u}_\lambda=\frac{\mathbf{p}_\lambda}{\|\mathbf{p}_\lambda\|}, \qquad \lambda\in\Lambda_1,

form an orthonormal eigenbasis of WW. Set

yλ=Qs⊤uλ.\mathbf{y}_\lambda=\mathbf{Q}_s^\top\mathbf{u}_\lambda .

Because uλ∈W=range⁡(Qs)\mathbf{u}_\lambda\in W=\operatorname{range}(\mathbf{Q}_s),

QsQs⊤uλ=uλ.\mathbf{Q}_s\mathbf{Q}_s^\top\mathbf{u}_\lambda=\mathbf{u}_\lambda .

It follows that

Tsyλ=Qs⊤AQsQs⊤uλ=Qs⊤Auλ=λ Qs⊤uλ=λ yλ.\begin{aligned} \mathbf{T}_s\mathbf{y}_\lambda &=\mathbf{Q}_s^\top\mathbf{A}\mathbf{Q}_s\mathbf{Q}_s^\top\mathbf{u}_\lambda\\ &=\mathbf{Q}_s^\top\mathbf{A}\mathbf{u}_\lambda\\ &=\lambda\,\mathbf{Q}_s^\top\mathbf{u}_\lambda\\ &=\lambda\,\mathbf{y}_\lambda . \end{aligned}

Moreover, for λ,μ∈Λ1\lambda,\mu\in\Lambda_1,

yλ⊤yμ=uλ⊤QsQs⊤uμ=uλ⊤uμ=δλμ.\begin{aligned} \mathbf{y}_\lambda^\top\mathbf{y}_\mu &=\mathbf{u}_\lambda^\top\mathbf{Q}_s\mathbf{Q}_s^\top\mathbf{u}_\mu\\ &=\mathbf{u}_\lambda^\top\mathbf{u}_\mu\\ &=\delta_{\lambda\mu} . \end{aligned}

Thus the ss vectors yλ\mathbf{y}_\lambda form an orthonormal basis of Rs\mathbb{R}^s. The corresponding elements of Λ1\Lambda_1 are therefore all the eigenvalues of Ts\mathbf{T}_s, each appearing once.

■□\begin{array}{r} \blacksquare\Box \end{array}

4.9 Corollary 3 [Random initialization and repeated eigenvalues]

If g∼N(0,Id)\mathbf{g}\sim\mathcal{N}(0,\mathbb{I}_d) and q1=g/∥g∥\mathbf{q}_1=\mathbf{g}/\|\mathbf{g}\|, then, with probability one, a terminating Lanczos run recovers every distinct eigenvalue of A\mathbf{A}. If A\mathbf{A} has dd distinct eigenvalues, the run reaches s=ds=d and yields a complete eigenbasis. If eigenvalues are repeated, a single run yields only one eigenvector from each corresponding eigenspace. With probability one, the eigenvector found in EλE_\lambda at termination is the normalized projection of q1\mathbf{q}_1 onto EλE_\lambda.

Proof

For each λ∈Λ(A)\lambda\in\Lambda(\mathbf{A}), the event Πλg=0\Pi_\lambda\mathbf{g}=0 means that g\mathbf{g} lies in the proper linear subspace Eλ⊥E_\lambda^\perp, which has Gaussian probability zero. Since there are finitely many distinct eigenvalues, the For finitely many events, the probability that at least one of them occurs is at most the sum of their probabilities. A finite union of probability-zero events therefore has probability zero. gives

P(∃λ∈Λ(A):Πλg=0)≤∑λ∈Λ(A)P(Πλg=0)=0.\begin{aligned} \mathbb{P}\bigl(\exists\lambda\in\Lambda(\mathbf{A}):\Pi_\lambda\mathbf{g}=0\bigr) &\le\sum_{\lambda\in\Lambda(\mathbf{A})}\mathbb{P}(\Pi_\lambda\mathbf{g}=0)\\ &=0 . \end{aligned}

Thus Λ1=Λ(A)\Lambda_1=\Lambda(\mathbf{A}) with probability one, and Proposition 3 applies.

For any polynomial pp, Πλp(A)q1=p(λ)Πλq1\Pi_\lambda p(\mathbf{A})\mathbf{q}_1=p(\lambda)\Pi_\lambda\mathbf{q}_1. Therefore, the projection of the entire Krylov subspace onto EλE_\lambda is contained in span⁡{Πλq1}\operatorname{span}\{\Pi_\lambda\mathbf{q}_1\}, which is one-dimensional when Πλq1≠0\Pi_\lambda\mathbf{q}_1\neq0. A single run cannot recover additional independent directions in that eigenspace. At termination, the eigenvectors yλ\mathbf{y}_\lambda of Ts\mathbf{T}_s from the proof of Proposition 3 lift to the Ritz vectors Qsyλ=uλ\mathbf{Q}_s\mathbf{y}_\lambda=\mathbf{u}_\lambda, the normalized projections of q1\mathbf{q}_1.

When the spectrum is simple and every eigenvalue is present in the initialization, s=ds=d. In this case, Qd\mathbf{Q}_d is an orthogonal matrix, and

A=QdTdQd⊤.\mathbf{A}=\mathbf{Q}_d\mathbf{T}_d\mathbf{Q}_d^\top .

An orthonormal eigenbasis of Td\mathbf{T}_d therefore yields a complete orthonormal eigenbasis of A\mathbf{A} after multiplication by Qd\mathbf{Q}_d.

■□\begin{array}{r} \blacksquare\Box \end{array}

An early exact breakdown does not necessarily mean that a complete eigenbasis of A\mathbf{A} has been found. It means that the current Krylov subspace has become invariant. For example, when A=c Id\mathbf{A}=c\,\mathbb{I}_d, every initialization produces a breakdown after one iteration, even though the eigenspace has dimension dd.

To recover all eigendirections, the construction can continue with new starting vectors orthogonal to the previously generated basis.

Three panels. Left: Ritz values at each Lanczos step spreading outward until, at step 12, they coincide with the 12 distinct eigenvalues of a 60 by 60 matrix. Middle: error of the largest Ritz value against the power-iteration estimate at equal numbers of products, Lanczos reaching rounding level at step 12. Right: the coefficient beta dropping by about eleven orders of magnitude at step 12.
Figure 6. The Lanczos method on a symmetric matrix of size d=60d=60 with random eigenvectors and only s=12s=12 distinct eigenvalues, of multiplicities 1 to 9 (labels on the right of panel a), including the eigenvalue 0 with multiplicity 8. (a) One run: Ritz values at each step mm (black dots) against the distinct eigenvalues (grey lines). The extreme Ritz values (green) move outward monotonically (Lemma 5), the power-iteration estimate after the same number of products (orange) stays between them, and at m=s=12m=s=12 the Ritz values are exactly the 12 distinct eigenvalues, each appearing once (Proposition 3). (b) Distance from λmax⁡(A)=2\lambda_{\max}(\mathbf A)=2 of the largest Ritz value (green) and of the power-iteration estimate (orange), at equal numbers of matrix–vector products. (c) The coefficient βm\beta_m falls from about 0.30.3 at m=11m=11 to about 10−1210^{-12} at m=12m=12: the exact breakdown of Proposition 3, up to floating-point error. For every starting vector, the 12 Ritz values at m=12m=12 match the 12 distinct eigenvalues to within 3⋅10−153\cdot10^{-15}. Panels (b) and (c) show medians over 200 Gaussian starting vectors, with bands containing the middle half of the runs (the interquartile range), and all runs use full reorthogonalization.

4.10 Proposition 4 [Complete decomposition by continuation with new starting vectors]

Let A∈Rd×d\mathbf{A}\in\mathbb{R}^{d\times d} be symmetric. Initialize q0=0\mathbf{q}_0=0, β0=0\beta_0=0, and any unit vector q1\mathbf{q}_1. Run the Lanczos recurrence for j=1,…,dj=1,\dots,d, with the following rule whenever j<dj<d:

qj+1={rj/βj,βj>0,any unit vector orthogonal to q1,…,qj,βj=0.\mathbf{q}_{j+1}= \begin{cases} \mathbf{r}_j/\beta_j,&\beta_j>0,\\ \text{any unit vector orthogonal to }\mathbf{q}_1,\dots,\mathbf{q}_j,&\beta_j=0 . \end{cases}

At a breakdown, retain βj=0\beta_j=0 and all previously generated basis vectors.

Then Qd=[q1,…,qd]\mathbf{Q}_d=[\mathbf{q}_1,\dots,\mathbf{q}_d] is orthogonal,

βd=0,AQd=QdTd,\beta_d=0, \qquad \mathbf{A}\mathbf{Q}_d=\mathbf{Q}_d\mathbf{T}_d,

and

A=QdTdQd⊤.\mathbf{A}=\mathbf{Q}_d\mathbf{T}_d\mathbf{Q}_d^\top .

The matrix Td\mathbf{T}_d is symmetric and tridiagonal, with a zero off-diagonal entry at every boundary between runs.

If

Td=ZDZ⊤,Z⊤Z=Id,\mathbf{T}_d=\mathbf{Z}\mathbf{D}\mathbf{Z}^\top, \qquad \mathbf{Z}^\top\mathbf{Z}=\mathbb{I}_d,

with D∈Rd×d\mathbf{D}\in\mathbb{R}^{d\times d} the diagonal matrix of the eigenvalues of Td\mathbf{T}_d, then

V=QdZ\mathbf{V}=\mathbf{Q}_d\mathbf{Z}

is a complete orthogonal eigenvector matrix of A\mathbf{A}:

V⊤V=Id,AV=VD.\mathbf{V}^\top\mathbf{V}=\mathbb{I}_d, \qquad \mathbf{A}\mathbf{V}=\mathbf{V}\mathbf{D}.

Remark 16 [Why continuation completes the basis]

Each run discovers one direction in every eigenspace that its starting vector reaches, then stops at an invariant subspace (Proposition 3). Continuing with a new starting vector in the orthogonal complement, which is invariant as well, lets the next run find the directions that the previous runs could not see.

Proof

At an exact breakdown after iteration jj,

AQj=QjTj.\mathbf{A}\mathbf{Q}_j=\mathbf{Q}_j\mathbf{T}_j .

Thus range⁡(Qj)\operatorname{range}(\mathbf{Q}_j) is invariant under A\mathbf{A}.

Its orthogonal complement is also invariant. Indeed, if Qj⊤x=0\mathbf{Q}_j^\top\mathbf{x}=0, symmetry gives

Qj⊤Ax=(AQj)⊤x=(QjTj)⊤x=TjQj⊤x=0.\begin{aligned} \mathbf{Q}_j^\top\mathbf{A}\mathbf{x} &=(\mathbf{A}\mathbf{Q}_j)^\top\mathbf{x}\\ &=(\mathbf{Q}_j\mathbf{T}_j)^\top\mathbf{x}\\ &=\mathbf{T}_j\mathbf{Q}_j^\top\mathbf{x}\\ &=0 . \end{aligned}

A new unit vector in this complement therefore starts another Lanczos run entirely within the complement. Since βj=0\beta_j=0, the first recurrence of that run contains no contribution from the preceding block.

Within each run, Lemma 3 ensures orthogonality. Vectors from different runs are orthogonal because they lie in orthogonal invariant subspaces. Each run adds at least one vector, and the construction can continue whenever fewer than dd vectors have been obtained. Thus it produces dd orthonormal vectors.

At the final iteration, rd\mathbf{r}_d is orthogonal to every column of Qd\mathbf{Q}_d. These columns form a basis of Rd\mathbb{R}^d, so

rd=0,βd=0.\mathbf{r}_d=0, \qquad \beta_d=0 .

Collecting all recurrences, including the zero couplings at block boundaries, gives

AQd=QdTd.\mathbf{A}\mathbf{Q}_d=\mathbf{Q}_d\mathbf{T}_d .

Multiplying on the right by Qd⊤\mathbf{Q}_d^\top gives

A=QdTdQd⊤.\mathbf{A}=\mathbf{Q}_d\mathbf{T}_d\mathbf{Q}_d^\top .

Finally,

A(QdZ)=QdTdZ=QdZD,\begin{aligned} \mathbf{A}(\mathbf{Q}_d\mathbf{Z}) &=\mathbf{Q}_d\mathbf{T}_d\mathbf{Z}\\ &=\mathbf{Q}_d\mathbf{Z}\mathbf{D}, \end{aligned}

and

(QdZ)⊤(QdZ)=Z⊤Qd⊤QdZ=Z⊤Z=Id.\begin{aligned} (\mathbf{Q}_d\mathbf{Z})^\top(\mathbf{Q}_d\mathbf{Z}) &=\mathbf{Z}^\top\mathbf{Q}_d^\top\mathbf{Q}_d\mathbf{Z}\\ &=\mathbf{Z}^\top\mathbf{Z}\\ &=\mathbb{I}_d . \end{aligned}

Therefore, V=QdZ\mathbf{V}=\mathbf{Q}_d\mathbf{Z} is a complete orthonormal eigenbasis.

■□\begin{array}{r} \blacksquare\Box \end{array}

A procedural choice of the new starting vector is

g∼N(0,Id),u=g−Qj(Qj⊤g),qj+1=u∥u∥.\mathbf{g}\sim\mathcal{N}(0,\mathbb{I}_d), \qquad \mathbf{u}=\mathbf{g}-\mathbf{Q}_j(\mathbf{Q}_j^\top\mathbf{g}), \qquad \mathbf{q}_{j+1}=\frac{\mathbf{u}}{\|\mathbf{u}\|}.

When j<dj<d, a fresh Gaussian draw gives u≠0\mathbf{u}\neq0 with probability one.

This continuation retains the entire existing basis. It is different from restarting schemes that discard or compress basis vectors to limit memory use.

4.11 Algorithm 2 [Lanczos with reorthogonalization and residual checks]

For finite computations, the preceding identities require additional care. In particular, the short recurrence does not maintain exact orthogonality in floating-point arithmetic. A direct implementation can reorthogonalize each newly computed residual against the stored basis,

rj←rj−Qj(Qj⊤rj),\mathbf{r}_j\leftarrow\mathbf{r}_j-\mathbf{Q}_j(\mathbf{Q}_j^\top\mathbf{r}_j),

repeating the projection when needed before computing βj\beta_j and normalizing. Such See the discussion of full reorthogonalization in Bai et al., Templates for the Solution of Algebraic Eigenvalue Problems. The projection is carried out with classical or modified Gram–Schmidt, and it is repeated when the norm of the new vector drops below about 1/21/\sqrt2 of its previous value, which rarely happens. is a standard part of practical Lanczos implementations (Bai et al., 2000). An implementable procedure for estimating selected eigenpairs is therefore the following.

  1. Fix the operator. Provide a routine computing x↦Ax\mathbf{x}\mapsto\mathbf{A}\mathbf{x}, and keep everything that defines A\mathbf{A} fixed throughout the run. For a Hessian ∇θ2f(θ)\nabla_\theta^2f(\theta), these are θ\theta and the function ff, including the data it is evaluated on.
  2. Initialize the basis. Choose a unit vector q1\mathbf{q}_1, and set q0=0\mathbf{q}_0=0 and β0=0\beta_0=0.
  3. Extend the basis. Compute the Lanczos recurrence, reorthogonalize the residual, and obtain the next basis vector when its norm is sufficiently large.
  4. Solve the small eigenvalue problem. At selected iterations, assemble Tm\mathbf{T}_m and compute its desired eigenpairs Tmyi=ϑiyi\mathbf{T}_m\mathbf{y}_i=\vartheta_i\mathbf{y}_i.
  5. Check candidates using the original operator. Form xi=Qmyi/∥Qmyi∥\mathbf{x}_i=\mathbf{Q}_m\mathbf{y}_i/\|\mathbf{Q}_m\mathbf{y}_i\|, and recompute λ^i=xi⊤Axi\widehat{\lambda}_i=\mathbf{x}_i^\top\mathbf{A}\mathbf{x}_i and εi=∥Axi−λ^ixi∥\varepsilon_i=\|\mathbf{A}\mathbf{x}_i-\widehat{\lambda}_i\mathbf{x}_i\|. Accept an approximate eigenpair when εi≤εabs+εrel∥Axi∥\varepsilon_i\le\varepsilon_{\mathrm{abs}}+\varepsilon_{\mathrm{rel}}\|\mathbf{A}\mathbf{x}_i\|, where εabs>0\varepsilon_{\mathrm{abs}}>0 and εrel≥0\varepsilon_{\mathrm{rel}}\ge0 are chosen tolerances.
  6. Stop or continue. Stop when the requested candidates satisfy the tolerance or an iteration limit is reached. If the objective is a complete decomposition, use additional orthogonal starting vectors when a run terminates (Proposition 4).
■□\begin{array}{r} \blacksquare\Box \end{array}

In exact arithmetic, the inexpensive quantity

βm∣(yi)m∣\beta_m\bigl|(\mathbf{y}_i)_m\bigr|

equals the residual norm (Lemma 4). In floating-point arithmetic, loss of orthogonality and the corrections introduced by reorthogonalization perturb the exact tridiagonal identity. The inexpensive expression can be used to screen candidates, while the residual computed with the original operator supplies the final accuracy check. The normalization by ∥Qmyi∥\|\mathbf{Q}_m\mathbf{y}_i\| in step 5 matters for the same reason: when the computed basis is not exactly orthonormal, Qmyi\mathbf{Q}_m\mathbf{y}_i need not have unit norm, and the inexpensive estimate can then be too optimistic (see the implementation discussion of the Lanczos algorithm in Bai et al., 2000).

A small computed βj\beta_j indicates an approximate breakdown. It is not an exact proof of invariance or spectral completeness. Likewise, satisfying a residual tolerance certifies an approximate eigenpair, not that no more extreme eigenvalue has been missed.

Each basis-extension step requires one matrix–vector product. If CAC_{\mathbf{A}} denotes its cost, mm steps require mm such products, with total cost mCAmC_{\mathbf{A}}, in addition to any products used for explicit residual checks. Retaining Qm\mathbf{Q}_m requires O(dm)O(dm) storage. Full reorthogonalization costs O(dj)O(dj) operations at iteration jj, and therefore

∑j=1mO(dj)=O(dm2)\sum_{j=1}^mO(dj)=O(dm^2)

operations over the run, in addition to solving the projected eigenvalue problems.

When A\mathbf{A} is available only through products, as in the examples of Section 2, the run never forms A\mathbf{A}. Nevertheless, a complete decomposition with m=dm=d still requires O(d2)O(d^2) storage for the basis, and full reorthogonalization then costs O(d3)O(d^3) operations. The practical benefit is greatest when the required eigenpairs reach the desired accuracy with m≪dm\ll d.

Figure 7 below compares the two algorithms on the network Hessian of Figure 5 and on the bipartite graph of Figure 2.

Two panels comparing Algorithm 2 (Lanczos) with Algorithm 1. Left: Hessian-vector products needed to certify the j largest eigenpairs of a network Hessian, from about 13 to 35 for Lanczos and from about 200 to 1000 for Algorithm 1. Right: eigenpairs certified against products for a 50-node bipartite graph; Lanczos with continuation reaches all 50 after 50 products, Algorithm 1 after about fifteen thousand.
Figure 7. Algorithm 2 (green) against Algorithm 1 (blue), with the same constant threshold 10−10∥A∥10^{-10}\|\mathbf A\| on the residuals for A\mathbf A. (a) The network Hessian of Figure 5: Hessian–vector products used until the jj eigenpairs of largest absolute value are certified, medians over 20 starting vectors with bands containing the middle half of the runs. For Algorithm 1, the count runs over stages 1 to jj. For Algorithm 2, it is the number of Lanczos steps until the jj Ritz pairs of largest absolute value pass the inexpensive test βm∣(yi)m∣≤10−10∥A∥\beta_m|(\mathbf y_i)_m|\le10^{-10}\|\mathbf A\| of Lemma 4, plus one product per pair for the explicit check of step 5, whose residuals were all below 5.4⋅10−105.4\cdot10^{-10}. The eight pairs cost 35 products with Algorithm 2 and about 1,000 with Algorithm 1. (b) The complete eigenbasis of the bipartite graph of Figure 2. The first Lanczos run breaks down at step 41, the number of distinct eigenvalues (Proposition 3), where its 41 Ritz pairs all pass the test. Each of the nine continuation runs of Proposition 4 starts in the eigenspace of 00, orthogonally to the basis built so far, and breaks down after one step. The 50 products, plus 50 explicit checks (green square), give all 50 eigenpairs with residuals below 1.2⋅10−111.2\cdot10^{-11}, against 15,296 products for Algorithm 1 with every stage taken to its limit, as in Figure 3.

5. The Arnoldi method

All the matrices of Section 2 are symmetric, and every proof so far uses the spectral theorem. Many matrices known through their products are not symmetric, and for them three facts of Section 1 fail. First, the eigenvalues of a real matrix can be complex, and then they come in conjugate pairs λ,λˉ\lambda,\bar\lambda. Second, eigenvectors of distinct eigenvalues need not be orthogonal. Third, the eigenvectors need not span the whole space: the matrix [0100]\left[\begin{smallmatrix}0&1\\0&0\end{smallmatrix}\right] has the double eigenvalue 00, but its only eigenvectors are the multiples of [1,0]⊤[1,0]^\top.

The Krylov subspace of Definition 1 and the Gram–Schmidt process need no symmetry. The Arnoldi method (Arnoldi, 1951) runs Gram–Schmidt on Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) for any square matrix, as the Lanczos method does for a symmetric one, and Saad (1980) developed it into a method for approximating a few eigenvalues of a large nonsymmetric matrix. This section follows the plan of Section 4: examples first, then the method worked by hand, its exact properties, the certificate that replaces Lemma 2, and an implementable procedure.

From here on, A∈Rd×d\mathbf{A}\in\mathbb{R}^{d\times d} is any real square matrix, and Λ(A)⊂C\Lambda(\mathbf{A})\subset\mathbb{C} is the set of its distinct eigenvalues. For a complex vector y\mathbf{y}, y∗\mathbf{y}^* is its conjugate transpose and ∥y∥=(y∗y)1/2\|\mathbf{y}\|=(\mathbf{y}^*\mathbf{y})^{1/2}, which is the Euclidean norm when y\mathbf{y} is real.

5.1 Nonsymmetric matrices known through their products

  • Random walks on directed graphs. On a directed graph with dd nodes, let Wij≥0W_{ij}\ge0 be the weight of the edge from node ii to node jj, with Wij=0W_{ij}=0 when there is no such edge. An edge from ii to jj need not come with an edge from jj to ii, so W\mathbf{W} is not symmetric. A random walk steps from node ii to node jj with probability Pij=Wij/∑kWikP_{ij}=W_{ij}/\sum_kW_{ik}, assuming that every node has an outgoing edge. The rows of the transition matrix P=diag⁡(W1)−1W\mathbf{P}=\operatorname{diag}(\mathbf{W}\mathbf{1})^{-1}\mathbf{W} sum to one, P1=1\mathbf{P}\mathbf{1}=\mathbf{1}. If (pk)i(\mathbf{p}_k)_i is the probability that the walker is at node ii after kk steps, then (pk+1)j=∑i(pk)iPij(\mathbf{p}_{k+1})_j=\sum_i(\mathbf{p}_k)_iP_{ij}, that is, pk+1=P⊤pk\mathbf{p}_{k+1}=\mathbf{P}^\top\mathbf{p}_k. A stationary distribution, which one step of the walk leaves unchanged, is therefore an eigenvector of P⊤\mathbf{P}^\top with eigenvalue 11, P⊤π=π\mathbf{P}^\top\boldsymbol{\pi}=\boldsymbol{\pi}. It gives the long-run fraction of time that the walker spends at each node, and on the graph of hyperlinks between web pages, with random jumps added, it is the PageRank of Brin and Page (1998). The other eigenvalues of P⊤\mathbf{P}^\top say how fast pk\mathbf{p}_k approaches π\boldsymbol{\pi}, and complex ones make it oscillate on the way, as Figure 8 below shows. A product with P⊤\mathbf{P}^\top costs one pass over the edges, (P⊤x)j=∑iPijxi(\mathbf{P}^\top\mathbf{x})_j=\sum_iP_{ij}x_i over the edges i→ji\to j.
  • Convection–diffusion. The operator u↦−u′′+c u′u\mapsto-u''+c\,u' on [0,1][0,1], with u(0)=u(1)=0u(0)=u(1)=0, describes a quantity that diffuses while a flow of speed cc carries it, such as heat or a pollutant in a moving fluid. When c=0c=0, it is the operator u↦−u′′u\mapsto-u'' discretized in Section 2.2, and we discretize it in the same way. The grid points are ti=iht_i=ih for i=0,…,d+1i=0,\dots,d+1, with step h=1/(d+1)h=1/(d+1). The unknown xix_i approximates u(ti)u(t_i) at each of the dd interior points, and the boundary conditions set x0=xd+1=0x_0=x_{d+1}=0. Replacing the derivatives at tit_i by the centered differences u′′(ti)≈xi+1−2xi+xi−1h2,u′(ti)≈xi+1−xi−12hu''(t_i)\approx\frac{x_{i+1}-2x_i+x_{i-1}}{h^2}, \qquad u'(t_i)\approx\frac{x_{i+1}-x_{i-1}}{2h} gives the matrix defined by (Ax)i=2xi−(1+γ) xi−1−(1−γ) xi+1h2,γ=ch2,(\mathbf{A}\mathbf{x})_i=\frac{2x_i-(1+\gamma)\,x_{i-1}-(1-\gamma)\,x_{i+1}}{h^2}, \qquad \gamma=\frac{ch}{2}, for i∈{1,…,d}i\in\{1,\dots,d\}. When c=0c=0, this is the symmetric matrix (Ax)i=(2xi−xi−1−xi+1)/h2(\mathbf{A}\mathbf{x})_i=(2x_i-x_{i-1}-x_{i+1})/h^2 of that example. When c≠0c\neq0, it is not symmetric, because its entry Ai,i−1=−(1+γ)/h2A_{i,i-1}=-(1+\gamma)/h^2 below the diagonal differs from the entry Ai−1,i=−(1−γ)/h2A_{i-1,i}=-(1-\gamma)/h^2 above it. For 0<γ<10<\gamma<1, it is similar to a symmetric matrix. With s=(1+γ)/(1−γ)s=\sqrt{(1+\gamma)/(1-\gamma)} and S=diag⁡(1,s,s2,…,sd−1)\mathbf{S}=\operatorname{diag}(1,s,s^2,\dots,s^{d-1}), the matrix A~=S−1AS\widetilde{\mathbf{A}}=\mathbf{S}^{-1}\mathbf{A}\mathbf{S} is symmetric and tridiagonal, with 2/h22/h^2 on its diagonal and −1−γ2/h2-\sqrt{1-\gamma^2}/h^2 on both neighboring diagonals. The eigenvalues of A\mathbf{A} are therefore real, equal to (2−21−γ2cos⁡(kπ/(d+1)))/h2\bigl(2-2\sqrt{1-\gamma^2}\cos(k\pi/(d+1))\bigr)/h^2 for k=1,…,dk=1,\dots,d. The eigenvectors of A\mathbf{A}, however, are those of A~\widetilde{\mathbf{A}} with entry ii multiplied by si−1s^{i-1}. They are all concentrated near the end of the grid toward which the flow goes, and they are far from orthogonal. A product costs O(d)O(d) operations, as for −u′′-u''.
  • Jacobians of dynamical systems. A system that evolves by x˙=F(x)\dot{\mathbf{x}}=F(\mathbf{x}), for a map F:Rd→RdF:\mathbb{R}^d\to\mathbb{R}^d, is at rest at a point x⋆\mathbf{x}^\star where F(x⋆)=0F(\mathbf{x}^\star)=0. A small perturbation y=x−x⋆\mathbf{y}=\mathbf{x}-\mathbf{x}^\star then evolves approximately by y˙=Jy\dot{\mathbf{y}}=\mathbf{J}\mathbf{y}, where J\mathbf{J} is the Jacobian of FF at x⋆\mathbf{x}^\star, with entries Jij=∂Fi(x⋆)/∂xjJ_{ij}=\partial F_i(\mathbf{x}^\star)/\partial x_j, because F(x⋆+y)≈JyF(\mathbf{x}^\star+\mathbf{y})\approx\mathbf{J}\mathbf{y} to first order. If J\mathbf{J} has a basis of eigenvectors, Jv=λv\mathbf{J}\mathbf{v}=\lambda\mathbf{v}, the solution is a combination of the terms eλtve^{\lambda t}\mathbf{v}, which decay when the real part of λ\lambda is negative and grow when it is positive. The equilibrium is therefore stable when every eigenvalue has a negative real part, and the eigenvalues with the largest real part decide. The matrix J\mathbf{J} is not symmetric in general. A product with it is a directional derivative, Jx=ddεF(x⋆+εx)∣ε=0\mathbf{J}\mathbf{x}=\frac{d}{d\varepsilon}F(\mathbf{x}^\star+\varepsilon\mathbf{x})\big|_{\varepsilon=0}, which forward-mode automatic differentiation computes at the cost of a few evaluations of FF. In machine learning, simultaneous gradient steps on the two players of a game, such as the generator and the discriminator of a generative adversarial network, follow such a vector field, and eigenvalues of its Jacobian with large imaginary parts make the iterates circle around an equilibrium rather than approach it (Mescheder et al., 2017). The simplest case is min⁡θmax⁡ϕθϕ\min_\theta\max_\phi\theta\phi, where θ˙=−ϕ\dot\theta=-\phi and ϕ˙=θ\dot\phi=\theta, so that J=[0−110]\mathbf{J}=\left[\begin{smallmatrix}0&-1\\1&0\end{smallmatrix}\right], whose eigenvalues ±i\pm i describe a pure rotation.
Four panels on a random walk. Top left: a directed graph with three groups of twenty nodes on the corners of a triangle, with most edges going from each group to the next, counterclockwise. Top right: its transition matrix, with three dense blocks above the block diagonal and in the bottom-left corner. Bottom left: the probability of each group over thirty steps, oscillating with period three and settling at one third. Bottom right: the eigenvalues in the complex plane, with the eigenvalue 1, a complex pair of modulus 0.81 at angles plus and minus 119 degrees, and the others within radius 0.45.
Figure 8. The random walk on a directed graph used in this section (Section 5.1). (a) The graph: 60 nodes in three groups of 20, teal, gold and pink, arranged in the cycle 1 → 2 → 3 → 1 that the large arrows show. Every node has five outgoing edges, four to random nodes of the next group and one to a random node anywhere else. The 259 edges that end in the next group are drawn in the color of the group they leave, and the other 41 in black (dashed). (b) The transition matrix P\mathbf P, with rows and columns ordered by group and Pij=1/5P_{ij}=1/5 for every edge i→ji\to j: the edges into the next group fill three colored blocks, and the other edges are the scattered black entries. (c) The probability of each group under the distribution pk=(P⊤)kp0\mathbf p_k=(\mathbf P^\top)^k\mathbf p_0 of the walker, started uniformly on group 1. It circulates through the groups with period three and settles at the stationary values 0.335, 0.331 and 0.334, close to 1/31/3 (grey, dashed). Between steps 10 and 30, the largest gap to these values shrinks by a factor of 0.80 per step. (d) The eigenvalues of P\mathbf P in the complex plane, all inside the unit circle (grey, dashed). The eigenvalue 1 has the eigenvector 1\mathbf 1 for P\mathbf P, and the stationary distribution for P⊤\mathbf P^\top. The pair λ2,λˉ2=0.81 e±i 119∘\lambda_2,\bar\lambda_2=0.81\,e^{\pm i\,119^\circ} produces the circulation of panel (c), a third of a turn per step damped by the factor 0.81. The other 57 eigenvalues have modulus below 0.45.

The figures of this section use a random walk on a graph with three groups of 20 nodes arranged in a cycle, shown in Figure 8 below. Every node has five outgoing edges, four to random nodes of the next group and one to a random node anywhere else, and the walk follows one of them, chosen uniformly. The walk therefore tends to move from group 1 to group 2, then to group 3, and back to group 1. Started in group 1, its distribution circulates through the groups while it settles (panel c), and the eigenvalues explain how. If P⊤\mathbf{P}^\top has a basis of eigenvectors, the distribution expands as

pk=π+c λ2k w+cˉ λˉ2k wˉ+⋯=π+2Re⁡(c λ2k w)+⋯ ,\mathbf{p}_k=\boldsymbol{\pi}+c\,\lambda_2^k\,\mathbf{w}+\bar c\,\bar\lambda_2^k\,\bar{\mathbf{w}}+\cdots=\boldsymbol{\pi}+2\operatorname{Re}\bigl(c\,\lambda_2^k\,\mathbf{w}\bigr)+\cdots,

where P⊤w=λ2w\mathbf{P}^\top\mathbf{w}=\lambda_2\mathbf{w}, the number cc depends on p0\mathbf{p}_0, and the dots stand for the terms of the other eigenvalues. The conjugate terms come from λˉ2\bar\lambda_2, which is also an eigenvalue, with eigenvector wˉ\bar{\mathbf{w}}, because P\mathbf{P} is real. Here λ2=0.81 ei 119∘\lambda_2=0.81\,e^{i\,119^\circ} (panel d), so λ2k=0.81k ei 119∘k\lambda_2^k=0.81^k\,e^{i\,119^\circ k}: the middle term turns by 119∘119^\circ, about a third of a turn, at each step, which moves the mass from one group to the next, and it shrinks by the factor 0.810.81. The other 57 eigenvalues have modulus below 0.450.45, and their terms die out faster.

Power iteration without symmetry. The iteration vk+1=Avk/∥Avk∥\mathbf{v}_{k+1}=\mathbf{A}\mathbf{v}_k/\|\mathbf{A}\mathbf{v}_k\| of Section 3 needs no symmetry. For A=P⊤\mathbf{A}=\mathbf{P}^\top started from a distribution, it is the walk itself, rescaled: vk=pk/∥pk∥\mathbf{v}_k=\mathbf{p}_k/\|\mathbf{p}_k\|. When a single real eigenvalue λ1\lambda_1 has the largest modulus, as 11 does here, the expansion above shows that the iterates approach its eigenvector, with an error that shrinks like (∣λ2∣/∣λ1∣)k(|\lambda_2|/|\lambda_1|)^k. Two features of Section 3 are lost. The Rayleigh quotient vk⊤Avk\mathbf{v}_k^\top\mathbf{A}\mathbf{v}_k converges at that same rate, not at its square as in Theorem 1, because the error of the iterate is no longer orthogonal to the eigenvector. And the next eigenvalues can form a conjugate pair of equal modulus, which defeats power iteration in the way the opposite eigenvalues of Remark 5 do. Once the eigenvector of 11 is deflated, the pair dominates, and the iterates keep turning in the real plane that carries λ2\lambda_2 and λˉ2\bar\lambda_2, without settling on a direction. Panel (b) of Figure 9 below shows both effects, and the Arnoldi method removes them.

5.2 How the method works

The idea The Arnoldi method runs the Gram–Schmidt process on the Krylov subspace

Km(A,q1)={p(A)q1:p is a polynomial of degree at most m−1},\mathcal{K}_m(\mathbf{A},\mathbf{q}_1)=\bigl\{p(\mathbf{A})\mathbf{q}_1:p\text{ is a polynomial of degree at most }m-1\bigr\},

one matrix–vector product per step, exactly as the Lanczos method does, but for a matrix that need not be symmetric. Without symmetry, no coefficient vanishes for free: each step removes the components of the new vector along all the previous basis vectors. The coefficients fill a small upper Hessenberg matrix, and its eigenvalues, real or complex, approximate eigenvalues of A\mathbf{A}.

After m−1m-1 products, the Krylov subspace contains every vector p(A)q1p(\mathbf{A})\mathbf{q}_1 with pp of degree at most m−1m-1, whatever A\mathbf{A} is. To search it, we again need an orthonormal basis q1,…,qm\mathbf{q}_1,\dots,\mathbf{q}_m, the columns of Qm\mathbf{Q}_m, and the coordinates of Aqj\mathbf{A}\mathbf{q}_j in that basis, which form the matrix Hm=Qm⊤AQm\mathbf{H}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m with entries hij=qi⊤Aqjh_{ij}=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j. The search itself changes. Without symmetry, the eigenvalues are no longer the extreme values of the Rayleigh quotient, so we look instead for a vector x=Qmy\mathbf{x}=\mathbf{Q}_m\mathbf{y} of the subspace and a number ϑ\vartheta whose residual Ax−ϑx\mathbf{A}\mathbf{x}-\vartheta\mathbf{x} is orthogonal to the subspace. An exact eigenpair satisfies this condition, since its residual is zero. Multiplying the residual by Qm⊤\mathbf{Q}_m^\top turns this condition into Hmy=ϑy\mathbf{H}_m\mathbf{y}=\vartheta\mathbf{y}, an m×mm\times m eigenvalue problem. Gram–Schmidt on q1,Aq1,A2q1,…\mathbf{q}_1,\mathbf{A}\mathbf{q}_1,\mathbf{A}^2\mathbf{q}_1,\dots computes the basis and the matrix Hm\mathbf{H}_m together, and its first steps, compared with those of Section 4.2, show what symmetry was providing. The colors are those of Section 4.2: a purple coefficient is computed by an inner product at the current step, a green one is the length of the new direction, and a grey one vanishes.

Step 1: Gram–Schmidt on K2(A,q1)\mathcal{K}_2(\mathbf{A},\mathbf{q}_1). The unit vector q1\mathbf{q}_1 spans K1(A,q1)\mathcal{K}_1(\mathbf{A},\mathbf{q}_1). The first product gives Aq1\mathbf{A}\mathbf{q}_1, and Gram–Schmidt removes its component h11=q1⊤Aq1\textcolor{#7c3aed}{h_{11}}=\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_1 along q1\mathbf{q}_1 and divides the rest by its length h21\textcolor{#16a34a}{h_{21}}. This is Step 1 of Section 4.2, where these numbers were called α1\alpha_1 and β1\beta_1:

Aq1=h11q1+h21q2.\mathbf{A}\mathbf{q}_1=\textcolor{#7c3aed}{h_{11}\mathbf{q}_1}+\textcolor{#16a34a}{h_{21}\mathbf{q}_2}.

Step 2: Gram–Schmidt on K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1). The second product gives Aq2\mathbf{A}\mathbf{q}_2, which brings the same new direction as A2q1\mathbf{A}^2\mathbf{q}_1, by the argument of Step 2 of Section 4.2, which used no symmetry. Its component along q1\mathbf{q}_1 is where the two methods part. For a symmetric matrix, this component was (Aq1)⊤q2=β1(\mathbf{A}\mathbf{q}_1)^\top\mathbf{q}_2=\beta_1, the length found in Step 1. In general,

q1⊤Aq2=(A⊤q1)⊤q2,\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_2=(\mathbf{A}^\top\mathbf{q}_1)^\top\mathbf{q}_2,

and nothing relates A⊤q1\mathbf{A}^\top\mathbf{q}_1 to the Krylov subspace, so this component is a new number h12\textcolor{#7c3aed}{h_{12}}, computed by an inner product. Removing it and the component h22=q2⊤Aq2\textcolor{#7c3aed}{h_{22}}=\mathbf{q}_2^\top\mathbf{A}\mathbf{q}_2 along q2\mathbf{q}_2, then normalizing, gives

Aq2=h12q1+h22q2+h32q3.\mathbf{A}\mathbf{q}_2=\textcolor{#7c3aed}{h_{12}\mathbf{q}_1}+\textcolor{#7c3aed}{h_{22}\mathbf{q}_2}+\textcolor{#16a34a}{h_{32}\mathbf{q}_3}.

Step 3: Gram–Schmidt on K4(A,q1)\mathcal{K}_4(\mathbf{A},\mathbf{q}_1). The third product gives Aq3\mathbf{A}\mathbf{q}_3. In Section 4.2, its component along q1\mathbf{q}_1 vanished because q1⊤Aq3=(Aq1)⊤q3=0\mathbf{q}_1^\top\mathbf{A}\mathbf{q}_3=(\mathbf{A}\mathbf{q}_1)^\top\mathbf{q}_3=0. Here this component is (A⊤q1)⊤q3(\mathbf{A}^\top\mathbf{q}_1)^\top\mathbf{q}_3, nonzero in general, and all three components have to be computed and removed:

Aq3=h13q1+h23q2+h33q3+h43q4.\mathbf{A}\mathbf{q}_3=\textcolor{#7c3aed}{h_{13}\mathbf{q}_1}+\textcolor{#7c3aed}{h_{23}\mathbf{q}_2}+\textcolor{#7c3aed}{h_{33}\mathbf{q}_3}+\textcolor{#16a34a}{h_{43}\mathbf{q}_4}.

Some coefficients still vanish. The vector Aq1\mathbf{A}\mathbf{q}_1 lies in K2(A,q1)=span⁡{q1,q2}\mathcal{K}_2(\mathbf{A},\mathbf{q}_1)=\operatorname{span}\{\mathbf{q}_1,\mathbf{q}_2\}, so it has no component along q3\mathbf{q}_3, and Aq2\mathbf{A}\mathbf{q}_2, which lies in K3(A,q1)\mathcal{K}_3(\mathbf{A},\mathbf{q}_1), has none along q4\mathbf{q}_4. These zeros use only the nesting of the Krylov subspaces, not symmetry. Writing the coefficients of Aqj\mathbf{A}\mathbf{q}_j in column jj, as the identity (H3)ij=qi⊤Aqj(\mathbf{H}_3)_{ij}=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j requires, and doing the same for the Lanczos coefficients, gives

H3=[h11h12h13h21h22h230h32h33],T3=[α1β10β1α2β20β2α3].\mathbf{H}_3=\begin{bmatrix} \textcolor{#7c3aed}{h_{11}}&\textcolor{#7c3aed}{h_{12}}&\textcolor{#7c3aed}{h_{13}}\\ \textcolor{#16a34a}{h_{21}}&\textcolor{#7c3aed}{h_{22}}&\textcolor{#7c3aed}{h_{23}}\\ \textcolor{#7d8783}{0}&\textcolor{#16a34a}{h_{32}}&\textcolor{#7c3aed}{h_{33}} \end{bmatrix}, \qquad \mathbf{T}_3=\begin{bmatrix} \textcolor{#7c3aed}{\alpha_1}&\textcolor{#ea580c}{\beta_1}&\textcolor{#7d8783}{0}\\ \textcolor{#16a34a}{\beta_1}&\textcolor{#7c3aed}{\alpha_2}&\textcolor{#ea580c}{\beta_2}\\ \textcolor{#7d8783}{0}&\textcolor{#16a34a}{\beta_2}&\textcolor{#7c3aed}{\alpha_3} \end{bmatrix}.

In T3\mathbf{T}_3, symmetry made each entry above the diagonal either a length already found (orange) or zero (grey). In H3\mathbf{H}_3, these entries are new numbers (purple). The zeros below the first subdiagonal remain in both matrices, because they come from the nesting of Krylov subspaces. A matrix whose entries below the first subdiagonal are zero is called upper Hessenberg.

The general step. At step jj, the product Aqj\mathbf{A}\mathbf{q}_j lies in Kj+1(A,q1)=span⁡{q1,…,qj+1}\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1)=\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_{j+1}\}, so it has no component beyond qj+1\mathbf{q}_{j+1}, while its components along all of q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j have to be computed and removed:

qj→ A Aqj→ −h1jq1−⋯−hjjqj rj→ ÷hj+1,j qj+1.\mathbf{q}_j \xrightarrow{\ \mathbf{A}\ } \mathbf{A}\mathbf{q}_j \xrightarrow{\ \textcolor{#7c3aed}{-h_{1j}\mathbf{q}_1-\cdots-h_{jj}\mathbf{q}_j}\ } \mathbf{r}_j \xrightarrow{\ \textcolor{#16a34a}{\div h_{j+1,j}}\ } \textcolor{#16a34a}{\mathbf{q}_{j+1}}.

Step jj costs one product, jj inner products and jj vector updates, that is, O(dj)O(dj) operations besides the product, and every basis vector has to be kept. After mm steps, the method has used mm products, O(dm2)O(dm^2) further operations and O(dm)O(dm) storage. This is the price of nonsymmetry. It equals the cost of the Lanczos method with full reorthogonalization (Algorithm 2), which subtracts all the components anyway, to protect orthogonality in floating-point arithmetic.

Eigenvalues and eigenvectors from the coefficients. Writing the relations Aqj=∑i=1j+1hijqi\mathbf{A}\mathbf{q}_j=\sum_{i=1}^{j+1}h_{ij}\mathbf{q}_i for j=1,…,mj=1,\dots,m as the columns of one matrix identity gives

AQm=QmHm+hm+1,mqm+1em⊤,\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{H}_m+\textcolor{#16a34a}{h_{m+1,m}\mathbf{q}_{m+1}\mathbf{e}_m^\top},

the analogue of the Lanczos identity, with the same leak through the last basis vector. Every eigenpair (ϑ,y)(\vartheta,\mathbf{y}) of Hm\mathbf{H}_m, with ∥y∥=1\|\mathbf{y}\|=1, gives a Ritz pair (ϑ,Qmy)(\vartheta,\mathbf{Q}_m\mathbf{y}), and multiplying the identity by y\mathbf{y} shows again that the residual of the Ritz pair is the leak, of norm hm+1,m∣ym∣\textcolor{#16a34a}{h_{m+1,m}|y_m|}. Since Hm\mathbf{H}_m is a real matrix that is not symmetric, its eigenvalues can be complex, in conjugate pairs, which is how the method finds the complex eigenvalues of A\mathbf{A}.

The polynomial reading of Section 4.2 carries over. Up to the factor h21h32⋯hm+1,mh_{21}h_{32}\cdots h_{m+1,m}, the vector qm+1\mathbf{q}_{m+1} is what remains of Amq1\mathbf{A}^m\mathbf{q}_1 after removing its orthogonal projection onto Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), and the Ritz values at step mm are the roots of the monic polynomial πm\pi_m of degree mm that makes ∥π(A)q1∥\|\pi(\mathbf{A})\mathbf{q}_1\| smallest (Proposition 5). What changes is the size of ∥π(A)q1∥\|\pi(\mathbf{A})\mathbf{q}_1\|. If A\mathbf{A} has a basis of eigenvectors and q1=∑λqλ\mathbf{q}_1=\sum_\lambda\mathbf{q}_\lambda with Aqλ=λqλ\mathbf{A}\mathbf{q}_\lambda=\lambda\mathbf{q}_\lambda, then π(A)q1=∑λπ(λ) qλ\pi(\mathbf{A})\mathbf{q}_1=\sum_\lambda\pi(\lambda)\,\mathbf{q}_\lambda as before, but the vectors qλ\mathbf{q}_\lambda are no longer orthogonal, so the norm is no longer (∑λ∣π(λ)∣2∥qλ∥2)1/2\bigl(\sum_\lambda|\pi(\lambda)|^2\|\mathbf{q}_\lambda\|^2\bigr)^{1/2}. Large components can cancel, and a polynomial can make ∥π(A)q1∥\|\pi(\mathbf{A})\mathbf{q}_1\| small without being small at the eigenvalues. The Ritz values can then stay far from every eigenvalue until mm is large, and in panel (c) of Figure 9 below they leave the real axis although every eigenvalue is real.

5.3 Definition 3 [Arnoldi recurrence and exact breakdown]

Start with a unit vector q1\mathbf{q}_1. At iteration j≥1j\ge1, compute

hij=qi⊤Aqj(1≤i≤j),rj=Aqj−∑i=1jhijqi,hj+1,j=∥rj∥.\begin{aligned} h_{ij}&=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j\qquad(1\le i\le j),\\ \mathbf{r}_j&=\mathbf{A}\mathbf{q}_j-\sum_{i=1}^jh_{ij}\mathbf{q}_i,\\ h_{j+1,j}&=\|\mathbf{r}_j\| . \end{aligned}

If hj+1,j>0h_{j+1,j}>0, define qj+1=rj/hj+1,j\mathbf{q}_{j+1}=\mathbf{r}_j/h_{j+1,j} and continue. If hj+1,j=0h_{j+1,j}=0, stop the run, an exact breakdown as in Definition 2. For m≥1m\ge1, Hm∈Rm×m\mathbf{H}_m\in\mathbb{R}^{m\times m} is the matrix with entries (Hm)ij=hij(\mathbf{H}_m)_{ij}=h_{ij} for i≤j+1i\le j+1 and (Hm)ij=0(\mathbf{H}_m)_{ij}=0 for i>j+1i>j+1.

■□\begin{array}{r} \blacksquare\Box \end{array}

The coefficients can equally be computed one at a time: starting from w=Aqj\mathbf{w}=\mathbf{A}\mathbf{q}_j, compute hij=qi⊤wh_{ij}=\mathbf{q}_i^\top\mathbf{w} and update w←w−hijqi\mathbf{w}\leftarrow\mathbf{w}-h_{ij}\mathbf{q}_i for i=1,…,ji=1,\dots,j. This is the modified Gram–Schmidt process. Each update leaves the inner products of w\mathbf{w} with the other basis vectors unchanged, since the basis vectors are orthogonal, so in exact arithmetic both orders give the same numbers. In floating-point arithmetic, the one-at-a-time order loses less orthogonality, and implementations repeat the subtraction when needed, as in Algorithm 2.

5.4 Lemma 6 [Orthogonality and Hessenberg projection]

Before and including the first exact breakdown, the Arnoldi vectors satisfy

qi⊤qj=δij,span⁡{q1,…,qm}=Km(A,q1).\mathbf{q}_i^\top\mathbf{q}_j=\delta_{ij}, \qquad \operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_m\}=\mathcal{K}_m(\mathbf{A},\mathbf{q}_1).

With Qm=[q1,…,qm]\mathbf{Q}_m=[\mathbf{q}_1,\dots,\mathbf{q}_m] and the upper Hessenberg matrix Hm\mathbf{H}_m of Definition 3,

AQm=QmHm+rmem⊤,Qm⊤rm=0,Hm=Qm⊤AQm.\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{H}_m+\mathbf{r}_m\mathbf{e}_m^\top, \qquad \mathbf{Q}_m^\top\mathbf{r}_m=0, \qquad \mathbf{H}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m .

If A\mathbf{A} is symmetric, then Hm\mathbf{H}_m is the symmetric tridiagonal matrix Tm\mathbf{T}_m of Lemma 3, and the Arnoldi vectors are the Lanczos vectors.

Remark 17 [Where the zeros of the projected matrix come from]

The zeros of Tm\mathbf{T}_m have two sources. Those below the first subdiagonal come from the nesting of Krylov subspaces: Aqj\mathbf{A}\mathbf{q}_j lies in Kj+1(A,q1)\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1), so it has no component along qj+2,qj+3,…\mathbf{q}_{j+2},\mathbf{q}_{j+3},\dots. Those above the first superdiagonal come from symmetry, which turns the component qi⊤Aqj\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j into (Aqi)⊤qj(\mathbf{A}\mathbf{q}_i)^\top\mathbf{q}_j. The Arnoldi method keeps the first source and loses the second. This is why Hm\mathbf{H}_m is upper Hessenberg, and why each step removes every previous component.

Proof

Orthogonality. Suppose that q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j are orthonormal. For each i≤ji\le j,

qi⊤rj=qi⊤Aqj−∑l=1jhlj qi⊤ql=hij−hij=0.\mathbf{q}_i^\top\mathbf{r}_j=\mathbf{q}_i^\top\mathbf{A}\mathbf{q}_j-\sum_{l=1}^jh_{lj}\,\mathbf{q}_i^\top\mathbf{q}_l=h_{ij}-h_{ij}=0 .

Thus rj\mathbf{r}_j is orthogonal to q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j, and if hj+1,j>0h_{j+1,j}>0, normalizing it extends the orthonormal family. Unlike the proof of Lemma 3, this one needs no symmetry, because every component is removed explicitly.

Krylov subspaces. The identity holds at m=1m=1. Suppose that span⁡{q1,…,qj}=Kj(A,q1)\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_j\}=\mathcal{K}_j(\mathbf{A},\mathbf{q}_1) and hj+1,j>0h_{j+1,j}>0. The vector qj+1\mathbf{q}_{j+1} is a combination of Aqj\mathbf{A}\mathbf{q}_j and q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j, all of which lie in Kj+1(A,q1)\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1), since qj∈Kj(A,q1)\mathbf{q}_j\in\mathcal{K}_j(\mathbf{A},\mathbf{q}_1) and A\mathbf{A} maps Kj(A,q1)\mathcal{K}_j(\mathbf{A},\mathbf{q}_1) into Kj+1(A,q1)\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1). Hence span⁡{q1,…,qj+1}⊆Kj+1(A,q1)\operatorname{span}\{\mathbf{q}_1,\dots,\mathbf{q}_{j+1}\}\subseteq\mathcal{K}_{j+1}(\mathbf{A},\mathbf{q}_1). The left-hand side has dimension j+1j+1, because its spanning vectors are orthonormal, and the right-hand side is spanned by j+1j+1 vectors, so the two spaces are equal.

Matrix identity. The definition of rj\mathbf{r}_j gives Aqj=∑i=1jhijqi+rj\mathbf{A}\mathbf{q}_j=\sum_{i=1}^jh_{ij}\mathbf{q}_i+\mathbf{r}_j, where rj=hj+1,jqj+1\mathbf{r}_j=h_{j+1,j}\mathbf{q}_{j+1} for j<mj<m. These identities, for j=1,…,mj=1,\dots,m, are the columns of AQm=QmHm+rmem⊤\mathbf{A}\mathbf{Q}_m=\mathbf{Q}_m\mathbf{H}_m+\mathbf{r}_m\mathbf{e}_m^\top. Multiplying on the left by Qm⊤\mathbf{Q}_m^\top, and using Qm⊤Qm=Im\mathbf{Q}_m^\top\mathbf{Q}_m=\mathbb{I}_m and Qm⊤rm=0\mathbf{Q}_m^\top\mathbf{r}_m=0 from the orthogonality part, gives Hm=Qm⊤AQm\mathbf{H}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m.

The symmetric case. If A\mathbf{A} is symmetric, then so is Hm=Qm⊤AQm\mathbf{H}_m=\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m. Its entries below the first subdiagonal vanish, so by symmetry its entries above the first superdiagonal vanish too, and hj−1,j=hj,j−1h_{j-1,j}=h_{j,j-1}. Step jj therefore subtracts only hj,j−1qj−1h_{j,j-1}\mathbf{q}_{j-1} and hjjqjh_{jj}\mathbf{q}_j from Aqj\mathbf{A}\mathbf{q}_j, which is the Lanczos step of Definition 2 with αj=hjj\alpha_j=h_{jj} and βj−1=hj,j−1\beta_{j-1}=h_{j,j-1}. By induction on jj, both methods produce the same vectors and the same coefficients, and Hm=Tm\mathbf{H}_m=\mathbf{T}_m.

■□\begin{array}{r} \blacksquare\Box \end{array}

5.5 Proposition 5 [Ritz pairs, the minimizing polynomial, and exact termination]

Suppose that the run has reached iteration mm, that is, hj+1,j>0h_{j+1,j}>0 for 1≤j<m1\le j<m.

  1. Ritz pairs. Let Hmy=ϑy\mathbf{H}_m\mathbf{y}=\vartheta\mathbf{y} with y∈Cm\mathbf{y}\in\mathbb{C}^m and ∥y∥=1\|\mathbf{y}\|=1, and let x=Qmy\mathbf{x}=\mathbf{Q}_m\mathbf{y}. Then ∥x∥=1,x∗Ax=ϑ,Ax−ϑx=rm ym,∥Ax−ϑx∥=hm+1,m∣ym∣.\|\mathbf{x}\|=1, \qquad \mathbf{x}^*\mathbf{A}\mathbf{x}=\vartheta, \qquad \mathbf{A}\mathbf{x}-\vartheta\mathbf{x}=\mathbf{r}_m\,y_m, \qquad \|\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}\|=h_{m+1,m}|y_m| .
  2. The minimizing polynomial. The characteristic polynomial πm(t)=det⁡(t Im−Hm)\pi_m(t)=\det(t\,\mathbb{I}_m-\mathbf{H}_m) is the unique monic polynomial of degree mm that minimizes ∥π(A)q1∥\|\pi(\mathbf{A})\mathbf{q}_1\|, and πm(A)q1=h21h32⋯hm,m−1 rm.\pi_m(\mathbf{A})\mathbf{q}_1=h_{21}h_{32}\cdots h_{m,m-1}\,\mathbf{r}_m . The Ritz values at step mm are the roots of πm\pi_m.
  3. Exact termination. Let μ\mu be the monic polynomial of smallest degree ss such that μ(A)q1=0\mu(\mathbf{A})\mathbf{q}_1=0, called the minimal polynomial of q1\mathbf{q}_1. A run reaches iteration ss and breaks down there: hj+1,j>0h_{j+1,j}>0 for j<sj<s, and hs+1,s=0h_{s+1,s}=0. At termination, AQs=QsHs,det⁡(t Is−Hs)=μ(t),\mathbf{A}\mathbf{Q}_s=\mathbf{Q}_s\mathbf{H}_s, \qquad \det(t\,\mathbb{I}_s-\mathbf{H}_s)=\mu(t), so the Ritz values are exactly the roots of μ\mu, and every one of them is an eigenvalue of A\mathbf{A}. If A\mathbf{A} has a basis of eigenvectors and q1=∑λ∈Λ(A)qλ\mathbf{q}_1=\sum_{\lambda\in\Lambda(\mathbf{A})}\mathbf{q}_\lambda with Aqλ=λqλ\mathbf{A}\mathbf{q}_\lambda=\lambda\mathbf{q}_\lambda, then μ(t)=∏λ∈Λ1(t−λ),Λ1={λ∈Λ(A):qλ≠0},s=∣Λ1∣,\mu(t)=\prod_{\lambda\in\Lambda_1}(t-\lambda), \qquad \Lambda_1=\{\lambda\in\Lambda(\mathbf{A}):\mathbf{q}_\lambda\neq0\}, \qquad s=|\Lambda_1|, as in Proposition 3.

Remark 18 [Ritz values lie in the field of values]

Item 1 says that every Ritz value is the value of x∗Ax\mathbf{x}^*\mathbf{A}\mathbf{x} at a unit vector. It therefore lies in the field of values

W(A)={x∗Ax:x∈Cd, ∥x∥=1},W(\mathbf{A})=\bigl\{\mathbf{x}^*\mathbf{A}\mathbf{x}:\mathbf{x}\in\mathbb{C}^d,\ \|\mathbf{x}\|=1\bigr\},

which also contains every eigenvalue, since x∗Ax=λ\mathbf{x}^*\mathbf{A}\mathbf{x}=\lambda for a unit eigenvector x\mathbf{x}. For a symmetric matrix, W(A)W(\mathbf{A}) is the interval [λmin⁡(A),λmax⁡(A)][\lambda_{\min}(\mathbf{A}),\lambda_{\max}(\mathbf{A})], and the Ritz values stay between the extreme eigenvalues (Lemma 5). For a nonsymmetric matrix, W(A)W(\mathbf{A}) is a convex region of the complex plane that can be much larger than the smallest convex set containing the eigenvalues, and the Ritz values can lie anywhere in it. In panel (c) of Figure 9 below, every eigenvalue is real, but the field of values is an oval around them, and the Ritz values spread over it.

Proof

Ritz pairs. As in the proof of Lemma 4, the orthonormality of the columns of Qm\mathbf{Q}_m gives ∥x∥2=y∗Qm⊤Qmy=∥y∥2=1\|\mathbf{x}\|^2=\mathbf{y}^*\mathbf{Q}_m^\top\mathbf{Q}_m\mathbf{y}=\|\mathbf{y}\|^2=1, and Lemma 6 gives x∗Ax=y∗Qm⊤AQmy=y∗Hmy=ϑ\mathbf{x}^*\mathbf{A}\mathbf{x}=\mathbf{y}^*\mathbf{Q}_m^\top\mathbf{A}\mathbf{Q}_m\mathbf{y}=\mathbf{y}^*\mathbf{H}_m\mathbf{y}=\vartheta and

Ax−ϑx=QmHmy+rmem⊤y−ϑQmy=Qm(Hmy−ϑy)+rmym=rmym,\begin{aligned} \mathbf{A}\mathbf{x}-\vartheta\mathbf{x} &=\mathbf{Q}_m\mathbf{H}_m\mathbf{y}+\mathbf{r}_m\mathbf{e}_m^\top\mathbf{y}-\vartheta\mathbf{Q}_m\mathbf{y}\\ &=\mathbf{Q}_m\textcolor{#2563eb}{(\mathbf{H}_m\mathbf{y}-\vartheta\mathbf{y})}+\mathbf{r}_my_m\\ &=\mathbf{r}_my_m , \end{aligned}

where the blue factor vanishes because y\mathbf{y} is an eigenvector of Hm\mathbf{H}_m. Taking norms gives ∥Ax−ϑx∥=∥rm∥ ∣ym∣=hm+1,m∣ym∣\|\mathbf{A}\mathbf{x}-\vartheta\mathbf{x}\|=\|\mathbf{r}_m\|\,|y_m|=h_{m+1,m}|y_m|.

The minimizing polynomial. Let e1=[1,0,…,0]⊤\mathbf{e}_1=[1,0,\dots,0]^\top be the first standard basis vector of Rm\mathbb{R}^m, so that q1=Qme1\mathbf{q}_1=\mathbf{Q}_m\mathbf{e}_1. We first show that

Akq1=QmHmke1for 0≤k≤m−1,Amq1=QmHmme1+h21h32⋯hm,m−1 rm.\mathbf{A}^k\mathbf{q}_1=\mathbf{Q}_m\mathbf{H}_m^k\mathbf{e}_1\quad\text{for }0\le k\le m-1, \qquad \mathbf{A}^m\mathbf{q}_1=\mathbf{Q}_m\mathbf{H}_m^m\mathbf{e}_1+h_{21}h_{32}\cdots h_{m,m-1}\,\mathbf{r}_m .

Because Hm\mathbf{H}_m is upper Hessenberg, multiplying a vector by Hm\mathbf{H}_m moves its last nonzero entry down by at most one position. Hence Hmke1\mathbf{H}_m^k\mathbf{e}_1 has nonzero entries only in its first k+1k+1 positions, and its entry in position k+1k+1 is the product h21h32⋯hk+1,kh_{21}h_{32}\cdots h_{k+1,k} of the subdiagonal entries met on the way. If Akq1=QmHmke1\mathbf{A}^k\mathbf{q}_1=\mathbf{Q}_m\mathbf{H}_m^k\mathbf{e}_1 for some k≤m−1k\le m-1, then the identity of Lemma 6 gives

Ak+1q1=AQmHmke1=QmHmk+1e1+rm (em⊤Hmke1).\mathbf{A}^{k+1}\mathbf{q}_1=\mathbf{A}\mathbf{Q}_m\mathbf{H}_m^k\mathbf{e}_1=\mathbf{Q}_m\mathbf{H}_m^{k+1}\mathbf{e}_1+\mathbf{r}_m\,\bigl(\mathbf{e}_m^\top\mathbf{H}_m^k\mathbf{e}_1\bigr).

The last factor is the entry of Hmke1\mathbf{H}_m^k\mathbf{e}_1 in position mm. It vanishes for k≤m−2k\le m-2 and equals h21h32⋯hm,m−1h_{21}h_{32}\cdots h_{m,m-1} for k=m−1k=m-1, which proves both identities by induction from k=0k=0.

Now let π\pi be a monic polynomial of degree mm. Combining the identities term by term gives

π(A)q1=Qm π(Hm) e1+h21h32⋯hm,m−1 rm.\pi(\mathbf{A})\mathbf{q}_1=\mathbf{Q}_m\,\pi(\mathbf{H}_m)\,\mathbf{e}_1+h_{21}h_{32}\cdots h_{m,m-1}\,\mathbf{r}_m .

For π=πm\pi=\pi_m, the Cayley–Hamilton theorem gives πm(Hm)=0\pi_m(\mathbf{H}_m)=0, hence πm(A)q1=h21⋯hm,m−1 rm\pi_m(\mathbf{A})\mathbf{q}_1=h_{21}\cdots h_{m,m-1}\,\mathbf{r}_m, which is orthogonal to Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1) by Lemma 6. For any monic π\pi of degree mm, the difference π−πm\pi-\pi_m has degree at most m−1m-1, so (π−πm)(A)q1(\pi-\pi_m)(\mathbf{A})\mathbf{q}_1 lies in Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), and Pythagoras’ theorem gives

∥π(A)q1∥2=∥πm(A)q1∥2+∥(π−πm)(A)q1∥2≥∥πm(A)q1∥2.\|\pi(\mathbf{A})\mathbf{q}_1\|^2=\|\pi_m(\mathbf{A})\mathbf{q}_1\|^2+\|(\pi-\pi_m)(\mathbf{A})\mathbf{q}_1\|^2\ge\|\pi_m(\mathbf{A})\mathbf{q}_1\|^2 .

Equality forces (π−πm)(A)q1=0(\pi-\pi_m)(\mathbf{A})\mathbf{q}_1=0. The vectors q1,Aq1,…,Am−1q1\mathbf{q}_1,\mathbf{A}\mathbf{q}_1,\dots,\mathbf{A}^{m-1}\mathbf{q}_1 span the space Km(A,q1)\mathcal{K}_m(\mathbf{A},\mathbf{q}_1), of dimension mm by Lemma 6, so they are linearly independent, and the coefficients of π−πm\pi-\pi_m all vanish: π=πm\pi=\pi_m. Finally, the Ritz values are the eigenvalues of Hm\mathbf{H}_m, which are the roots of its characteristic polynomial.

Exact termination. For j<sj<s, no monic polynomial of degree jj annihilates q1\mathbf{q}_1, by the minimality of ss. If the run has reached iteration j<sj<s, item 2 at step jj therefore gives

h21h32⋯hj,j−1 hj+1,j=∥πj(A)q1∥>0,h_{21}h_{32}\cdots h_{j,j-1}\,h_{j+1,j}=\|\pi_j(\mathbf{A})\mathbf{q}_1\|>0,

hence hj+1,j>0h_{j+1,j}>0, and the run reaches iteration j+1j+1. Starting from j=1j=1, this shows that the run reaches iteration ss. There, the monic polynomial μ\mu of degree ss gives ∥μ(A)q1∥=0\|\mu(\mathbf{A})\mathbf{q}_1\|=0, so the minimum in item 2 is zero. By uniqueness, πs=μ\pi_s=\mu, and h21⋯hs,s−1 hs+1,s=∥μ(A)q1∥=0h_{21}\cdots h_{s,s-1}\,h_{s+1,s}=\|\mu(\mathbf{A})\mathbf{q}_1\|=0 forces hs+1,s=0h_{s+1,s}=0. With rs=0\mathbf{r}_s=0, the identity of Lemma 6 becomes AQs=QsHs\mathbf{A}\mathbf{Q}_s=\mathbf{Q}_s\mathbf{H}_s. If Hsy=ϑy\mathbf{H}_s\mathbf{y}=\vartheta\mathbf{y} with y≠0\mathbf{y}\neq0, then A(Qsy)=ϑ Qsy\mathbf{A}(\mathbf{Q}_s\mathbf{y})=\vartheta\,\mathbf{Q}_s\mathbf{y} with Qsy≠0\mathbf{Q}_s\mathbf{y}\neq0, so every Ritz value at termination is an eigenvalue of A\mathbf{A}.

The case of a basis of eigenvectors. If q1=∑λqλ\mathbf{q}_1=\sum_\lambda\mathbf{q}_\lambda with Aqλ=λqλ\mathbf{A}\mathbf{q}_\lambda=\lambda\mathbf{q}_\lambda, then p(A)q1=∑λ∈Λ1p(λ) qλp(\mathbf{A})\mathbf{q}_1=\sum_{\lambda\in\Lambda_1}p(\lambda)\,\mathbf{q}_\lambda for every polynomial pp. Nonzero eigenvectors of distinct eigenvalues are linearly independent, so p(A)q1=0p(\mathbf{A})\mathbf{q}_1=0 exactly when p(λ)=0p(\lambda)=0 for every λ∈Λ1\lambda\in\Lambda_1. The monic polynomial of smallest degree with this property is ∏λ∈Λ1(t−λ)\prod_{\lambda\in\Lambda_1}(t-\lambda), of degree ∣Λ1∣|\Lambda_1|.

■□\begin{array}{r} \blacksquare\Box \end{array}

Item 2 also proves, for the Lanczos method, the statement of Section 4.2 that the Ritz values are the roots of the minimizing polynomial, since Hm=Tm\mathbf{H}_m=\mathbf{T}_m for a symmetric matrix (Lemma 6). Without a basis of eigenvectors, μ\mu can have repeated roots, and Hs\mathbf{H}_s then has them as repeated eigenvalues.

5.6 Lemma 7 [Residual certificate without symmetry]

Suppose that A=VDV−1\mathbf{A}=\mathbf{V}\mathbf{D}\mathbf{V}^{-1} for an invertible matrix V∈Cd×d\mathbf{V}\in\mathbb{C}^{d\times d}, whose columns are eigenvectors, and a diagonal matrix D\mathbf{D}, which holds the eigenvalues. Let

κ(V)=∥V∥ ∥V−1∥,where ∥M∥=max⁡∥z∥=1∥Mz∥.\kappa(\mathbf{V})=\|\mathbf{V}\|\,\|\mathbf{V}^{-1}\|, \qquad\text{where }\|\mathbf{M}\|=\max_{\|\mathbf{z}\|=1}\|\mathbf{M}\mathbf{z}\| .

Then, for every unit vector x∈Cd\mathbf{x}\in\mathbb{C}^d and every z∈Cz\in\mathbb{C},

min⁡λ∈Λ(A)∣z−λ∣≤κ(V) ∥Ax−zx∥.\min_{\lambda\in\Lambda(\mathbf{A})}|z-\lambda|\le\kappa(\mathbf{V})\,\|\mathbf{A}\mathbf{x}-z\mathbf{x}\| .

This is the theorem of Bauer and Fike (1960), written for a residual.

Remark 19 [A small residual far from the spectrum]

When A\mathbf{A} is symmetric, V\mathbf{V} can be chosen orthogonal, so κ(V)=1\kappa(\mathbf{V})=1 and the lemma is Remark 11. Otherwise κ(V)\kappa(\mathbf{V}) can be large, and it cannot be dropped. Take

A=[01δ0],x=[10],\mathbf{A}=\begin{bmatrix}0&1\\\delta&0\end{bmatrix}, \qquad \mathbf{x}=\begin{bmatrix}1\\0\end{bmatrix},

with a small δ>0\delta>0. The eigenvalues are ±δ\pm\sqrt\delta, the Rayleigh quotient is x⊤Ax=0\mathbf{x}^\top\mathbf{A}\mathbf{x}=0, and the residual Ax−0⋅x=[0,δ]⊤\mathbf{A}\mathbf{x}-0\cdot\mathbf{x}=[0,\delta]^\top has norm δ\delta, whereas the distance from 00 to the spectrum is δ\sqrt\delta. For δ=10−6\delta=10^{-6}, the residual is 10−610^{-6} and the distance 10−310^{-3}, a thousand times larger. The eigenvectors [1,±δ]⊤[1,\pm\sqrt\delta]^\top are nearly parallel, κ(V)=1/δ=1000\kappa(\mathbf{V})=1/\sqrt\delta=1000, and the lemma holds with equality. What a small residual r=Ax−zx\mathbf{r}=\mathbf{A}\mathbf{x}-z\mathbf{x} always certifies is that (z,x)(z,\mathbf{x}) is an exact eigenpair of a nearby matrix: (A−rx∗)x=Ax−r=zx(\mathbf{A}-\mathbf{r}\mathbf{x}^*)\mathbf{x}=\mathbf{A}\mathbf{x}-\mathbf{r}=z\mathbf{x}, and the perturbation has norm ∥rx∗∥=∥r∥\|\mathbf{r}\mathbf{x}^*\|=\|\mathbf{r}\|. In the example, A−rx⊤=[0100]\mathbf{A}-\mathbf{r}\mathbf{x}^\top=\left[\begin{smallmatrix}0&1\\0&0\end{smallmatrix}\right], whose eigenvalue 00 is double. A perturbation of size δ\delta has moved the eigenvalues by δ\sqrt\delta, and the eigenvalues of a nonsymmetric matrix can in general move much farther than the size of a perturbation. The set of numbers zz with ∥Ax−zx∥<ε\|\mathbf{A}\mathbf{x}-z\mathbf{x}\|<\varepsilon for some unit vector x\mathbf{x} is called the ε\varepsilon-pseudospectrum of A\mathbf{A}, and for a nonsymmetric matrix it can extend far beyond the points within ε\varepsilon of an eigenvalue (Trefethen and Embree, 2005).

Proof

If zz is an eigenvalue, the left-hand side is zero. Otherwise, the diagonal matrix D−zId\mathbf{D}-z\mathbb{I}_d is invertible, and A−zId=V(D−zId)V−1\mathbf{A}-z\mathbb{I}_d=\mathbf{V}(\mathbf{D}-z\mathbb{I}_d)\mathbf{V}^{-1} gives

x=V(D−zId)−1V−1(Ax−zx).\mathbf{x}=\mathbf{V}(\mathbf{D}-z\mathbb{I}_d)^{-1}\mathbf{V}^{-1}(\mathbf{A}\mathbf{x}-z\mathbf{x}) .

The largest diagonal entry of (D−zId)−1(\mathbf{D}-z\mathbb{I}_d)^{-1} in absolute value is 1/min⁡λ∈Λ(A)∣λ−z∣1/\min_{\lambda\in\Lambda(\mathbf{A})}|\lambda-z|, and it is the norm of this diagonal matrix. Taking norms therefore gives

1=∥x∥≤∥V∥ ∥V−1∥min⁡λ∈Λ(A)∣λ−z∣ ∥Ax−zx∥,1=\|\mathbf{x}\|\le\frac{\|\mathbf{V}\|\,\|\mathbf{V}^{-1}\|}{\min_{\lambda\in\Lambda(\mathbf{A})}|\lambda-z|}\,\|\mathbf{A}\mathbf{x}-z\mathbf{x}\|,

which is the claim.

■□\begin{array}{r} \blacksquare\Box \end{array}

For the convection–diffusion matrix of Section 5.1, A=SA~S−1\mathbf{A}=\mathbf{S}\widetilde{\mathbf{A}}\mathbf{S}^{-1} and A~=UDU⊤\widetilde{\mathbf{A}}=\mathbf{U}\mathbf{D}\mathbf{U}^\top with U\mathbf{U} orthogonal, so V=SU\mathbf{V}=\mathbf{S}\mathbf{U} diagonalizes A\mathbf{A}, with κ(V)=∥S∥ ∥S−1∥=sd−1\kappa(\mathbf{V})=\|\mathbf{S}\|\,\|\mathbf{S}^{-1}\|=s^{d-1}. Panel (d) of Figure 9 tests Lemma 2 and Lemma 7 on its Ritz pairs.

Four panels on the Arnoldi method. Top left: Ritz values of a random walk at steps 5, 10 and 20 in the complex plane, converging to the eigenvalue 1 and to a complex pair, inside the field of values. Top right: distance to the eigenvalue against matrix-vector products, where power iteration decreases slowly and the Arnoldi Ritz values reach rounding level by 40 products. Bottom left: Ritz values of a convection-diffusion matrix with real eigenvalues, spread off the real axis inside an oval field of values. Bottom right: a log-log scatter of distance against residual, blue points of the symmetric matrix all below the diagonal, orange points of the nonsymmetric one partly above it.
Figure 9. The Arnoldi method on the two nonsymmetric matrices of Section 5.1. (a) The random walk of Figure 8, through products with P⊤\mathbf P^\top: its eigenvalues (grey dots), its field of values (grey line, Remark 18), the unit circle (grey, dashed), and the Ritz values of one run at m=5m=5, 10 and 20, colored from light to dark. At m=5m=5, the Ritz values 0.750.75 and −0.23±0.51i-0.23\pm0.51i already point to the eigenvalue 1 and to the pair λ2,λˉ2\lambda_2,\bar\lambda_2. They are within 6⋅10−46\cdot10^{-4} and 3⋅10−43\cdot10^{-4} of them at m=10m=10, and within 1.1⋅10−81.1\cdot10^{-8} and 5.7⋅10−75.7\cdot10^{-7} at m=20m=20, while the other Ritz values lie among the remaining eigenvalues. (b) Distance to an eigenvalue against the number of products, as medians over 200 Gaussian starting vectors, with bands containing the middle half of the runs. The Rayleigh quotient of power iteration on P⊤\mathbf P^\top (orange) approaches 1 at the rate ∣λ2∣=0.81|\lambda_2|=0.81 per product (grey, dotted), with a median error of 1.2⋅10−31.2\cdot10^{-3} after 20 products and 1.2⋅10−51.2\cdot10^{-5} after 40, and power iteration never approaches λ2\lambda_2. After 20 products, the Ritz value nearest to 1 (green) is within 4.4⋅10−94.4\cdot10^{-9} of it, and the one nearest to λ2\lambda_2 (green, dashed) within 4.4⋅10−74.4\cdot10^{-7}. Both reach rounding level, about 10−1510^{-15}, by 40 products. (c) The convection–diffusion matrix with d=40d=40 and γ=0.2\gamma=0.2, multiplied by h2h^2. Its eigenvalues are real, between 0.046 and 3.954 (black ticks), and its field of values (grey) is an oval that reaches ±0.40 i\pm0.40\,i. The Ritz values of one run at m=10m=10, 20 and 30 (light to dark) are all real at m=10m=10, but 14 of them at m=20m=20 and 24 at m=30m=30 are not, with imaginary parts up to 0.320.32. (d) Distance from each Ritz value to the spectrum against its residual ∥Ax−ϑx∥\|\mathbf A\mathbf x-\vartheta\mathbf x\|, for all the Ritz pairs of steps m=1,…,30m=1,\dots,30 from 5 starting vectors, 2,325 pairs per matrix. For the symmetric matrix of −u′′-u'' (γ=0\gamma=0, blue), every point lies below the diagonal, as Lemma 2 requires, and the largest ratio of distance to residual is 0.49. For convection–diffusion (orange), 311 points lie above the diagonal, with distances up to 5.2 times the residual. Lemma 7 holds, with κ(V)=sd−1=2.7⋅103\kappa(\mathbf V)=s^{d-1}=2.7\cdot10^3, but it overestimates every distance by a factor of at least 520. The inexpensive residual hm+1,m∣ym∣h_{m+1,m}|y_m| of Proposition 5 agrees with the explicit one to a relative 2⋅10−142\cdot10^{-14}.

5.7 Algorithm 3 [Arnoldi with reorthogonalization and residual checks]

The procedure follows Algorithm 2, with three differences: every component is removed, the small eigenvalue problem is not symmetric, and the residual certifies less.

  1. Fix the operator. Provide a routine computing x↦Ax\mathbf{x}\mapsto\mathbf{A}\mathbf{x}, and keep everything that defines A\mathbf{A} fixed throughout the run.
  2. Initialize the basis. Choose a unit vector q1\mathbf{q}_1, for instance a normalized Gaussian vector.
  3. Extend the basis. At step jj, compute w=Aqj\mathbf{w}=\mathbf{A}\mathbf{q}_j, remove its components along q1,…,qj\mathbf{q}_1,\dots,\mathbf{q}_j, and repeat the removal once, adding the second coefficients to the first. Store the coefficients in column jj of Hm\mathbf{H}_m, set hj+1,j=∥w∥h_{j+1,j}=\|\mathbf{w}\|, and, when this norm is not negligible, qj+1=w/hj+1,j\mathbf{q}_{j+1}=\mathbf{w}/h_{j+1,j}.
  4. Solve the small eigenvalue problem. At selected steps, compute the eigenpairs Hmyi=ϑiyi\mathbf{H}_m\mathbf{y}_i=\vartheta_i\mathbf{y}_i, with ∥yi∥=1\|\mathbf{y}_i\|=1, by a dense eigensolver for nonsymmetric matrices, and select the wanted ones, for instance those of largest modulus or of largest real part. Nonreal Ritz values come in conjugate pairs, and one member of each pair suffices.
  5. Check candidates using the original operator. Screen each candidate with the inexpensive residual hm+1,m∣(yi)m∣h_{m+1,m}|(\mathbf{y}_i)_m| of Proposition 5. For those that pass, form xi=Qmyi/∥Qmyi∥\mathbf{x}_i=\mathbf{Q}_m\mathbf{y}_i/\|\mathbf{Q}_m\mathbf{y}_i\| and compute λ^i=xi∗Axi\widehat\lambda_i=\mathbf{x}_i^*\mathbf{A}\mathbf{x}_i and εi=∥Axi−λ^ixi∥\varepsilon_i=\|\mathbf{A}\mathbf{x}_i-\widehat\lambda_i\mathbf{x}_i\|, at the cost of one product for a real xi\mathbf{x}_i and two for a complex one, applied to its real and imaginary parts. Accept the pair when εi≤εabs+εrel∥Axi∥\varepsilon_i\le\varepsilon_{\mathrm{abs}}+\varepsilon_{\mathrm{rel}}\|\mathbf{A}\mathbf{x}_i\|.
  6. Stop, continue or restart. Stop when the wanted candidates are accepted or a budget is exhausted. When storing Qm\mathbf{Q}_m or orthogonalizing against it becomes too expensive, restart as described below.
■□\begin{array}{r} \blacksquare\Box \end{array}

An accepted pair (λ^i,xi)(\widehat\lambda_i,\mathbf{x}_i) is an exact eigenpair of a matrix within εi\varepsilon_i of A\mathbf{A} (Remark 19). Whether λ^i\widehat\lambda_i is within εi\varepsilon_i of an eigenvalue of A\mathbf{A} depends on the sensitivity of the eigenvalues, such as the factor κ(V)\kappa(\mathbf{V}) of Lemma 7, which the run does not compute. When the eigenvalue itself must be accurate, for instance when the sign of a real part decides the stability of an equilibrium, the residual should be read together with an estimate of that sensitivity, as discussed by Saad (2011) and by Trefethen and Embree (2005).

Since step jj costs O(dj)O(dj) operations and every basis vector is stored, mm cannot grow indefinitely. A restart runs the method again from a new starting vector that combines the wanted Ritz vectors, so that the next Krylov subspace concentrates on them. The implicitly restarted Arnoldi method of Sorensen (1992) restarts without any new product. It applies to Hm\mathbf{H}_m a few shifted QR steps, with the unwanted Ritz values as shifts, which amounts to multiplying the starting vector by the polynomial ∏(t−ϑ)\prod(t-\vartheta) over those values, a polynomial filter in the sense of Section 4.1 that damps the unwanted eigencomponents. It then keeps a basis of k<mk<m vectors and extends it again. This is the method of the ARPACK software (Lehoucq, Sorensen and Yang, 1998), on which the sparse eigenvalue routines of several scientific computing environments are built. For a symmetric matrix, the procedure computes, in exact arithmetic, the same vectors and coefficients as the Lanczos method (Lemma 6), at the cost of Algorithm 2.

References

Cite this post

If you would like to cite this post, you can use the following BibTeX entry:

@misc{tikengnotsawo2026eigenpairsfrommatrixvectorproducts,
  author = {Pascal Jr Tikeng Notsawo},
  title = {{Eigenpairs from Matrix–Vector Products: Power Iteration, Deflation, Lanczos, and Arnoldi}},
  year = {2026},
  month = oct,
  url = {https://tikquuss.github.io/blog/eigenpairs-from-matrix-vector-products/},
  note = {Blog post}
}