Algorithm Search⌘K

Proofs: Implicitly restarted Arnoldi method

These are the human proofs of Implicitly restarted Arnoldi method, at full length.

Implicit restarting keeps an Arnoldi factorization and applies a polynomial filter to the start vector full

This proof shows: correctness, termination.

Notation of the page: AVm=VmHm+fmemTA V_m = V_m H_m + f_m e_m^T is an Arnoldi factorization with Vm∗Vm=IV_m^* V_m = I, Vm∗fm=0V_m^* f_m = 0 and HmH_m upper Hessenberg; v1=Vme1v_1 = V_m e_1; p=m−k≥1p = m - k \ge 1 shifts μ1,…,μp\mu_1, \dots, \mu_p; Q=Q1⋯QpQ = Q_1 \cdots Q_p from lines L7 and L8. Exact arithmetic.

Lemma 1 (one shifted QR step). Let HH be m×mm \times m upper Hessenberg and H−μI=Q1R1H - \mu I = Q_1 R_1 with Q1Q_1 unitary and R1R_1 upper triangular, computed by Givens rotations in rows (1,2),(2,3),…,(m−1,m)(1, 2), (2, 3), \dots, (m - 1, m). Then Q1Q_1 is upper Hessenberg and H(1)=Q1∗HQ1=R1Q1+μIH^{(1)} = Q_1^* H Q_1 = R_1 Q_1 + \mu I is upper Hessenberg.

Proof. Q1=G1∗G2∗⋯Gm−1∗Q_1 = G_1^* G_2^* \cdots G_{m-1}^* where GiG_i acts on rows i,i+1i, i + 1. A product of such rotations in this order is upper Hessenberg: column jj of G1∗⋯Gm−1∗G_1^* \cdots G_{m-1}^* is a combination of e1,…,ej+1e_1, \dots, e_{j+1}. Then R1Q1R_1 Q_1 is upper triangular times upper Hessenberg, which is upper Hessenberg, and Q1∗HQ1=Q1∗(Q1R1+μI)Q1=R1Q1+μIQ_1^* H Q_1 = Q_1^* (Q_1 R_1 + \mu I) Q_1 = R_1 Q_1 + \mu I. □\square

Lemma 2 (band structure of QQ). Q=Q1⋯QpQ = Q_1 \cdots Q_p has qij=0q_{ij} = 0 for i>j+pi > j + p. In particular emTQej=0e_m^T Q e_j = 0 for j<k=m−pj < k = m - p.

Proof. Each QiQ_i has lower bandwidth 1. A product of pp matrices of lower bandwidth 1 has lower bandwidth at most pp, by induction: if XX has lower bandwidth ss and YY has lower bandwidth 1, then (XY)ij=∑lxilylj(XY)_{ij} = \sum_l x_{il} y_{lj} with xil=0x_{il} = 0 for i>l+si > l + s and ylj=0y_{lj} = 0 for l>j+1l > j + 1, so every term vanishes when i>j+1+si > j + 1 + s. For row mm and column jj, m>j+pm > j + p exactly when j<m−p=kj < m - p = k. □\square

Theorem 1 (the restart keeps an Arnoldi factorization). Let Vm+=VmQV_m^+ = V_m Q, Hm+=Q∗HmQH_m^+ = Q^* H_m Q, and let Vk+V_k^+, Hk+H_k^+ be the leading kk columns and the leading k×kk \times k block. Let fk+=Vm+ek+1hk+1,k++fm qmkf_k^+ = V_m^+ e_{k+1} h^+_{k+1,k} + f_m\, q_{mk}. Then

AVk+=Vk+Hk++fk+ekT,Vk+∗Vk+=I,Vk+∗fk+=0,A V_k^+ = V_k^+ H_k^+ + f_k^+ e_k^T, \qquad V_k^{+*} V_k^+ = I, \qquad V_k^{+*} f_k^+ = 0,

and Hk+H_k^+ is upper Hessenberg.

Proof. Multiply the factorization on the right by QQ: AVm+=Vm+Hm++fmemTQA V_m^+ = V_m^+ H_m^+ + f_m e_m^T Q. By Lemma 1, applied pp times, Hm+H_m^+ is upper Hessenberg, so column j≤kj \le k of Vm+Hm+V_m^+ H_m^+ is ∑i≤khij+vi+\sum_{i \le k} h^+_{ij} v_i^+ for j<kj < k, and ∑i≤khik+vi++hk+1,k+vk+1+\sum_{i \le k} h^+_{ik} v_i^+ + h^+_{k+1,k} v^+_{k+1} for j=kj = k. By Lemma 2, the row vector emTQe_m^T Q has zeros in columns 1,…,k−11, \dots, k - 1 and the entry qmkq_{mk} in column kk. Taking the first kk columns gives the stated relation. Vm+V_m^+ has orthonormal columns because QQ is unitary. Finally vk+1+⊥vi+v_{k+1}^+ \perp v_i^+ for i≤ki \le k, and fm⊥span⁡(Vm)=span⁡(Vm+)∋vi+f_m \perp \operatorname{span}(V_m) = \operatorname{span}(V_m^+) \ni v_i^+, so Vk+∗fk+=0V_k^{+*} f_k^+ = 0. □\square

Theorem 2 (polynomial filter). Let ψ(z)=∏j=1p(z−μj)\psi(z) = \prod_{j=1}^{p} (z - \mu_j), and suppose no μj\mu_j is an eigenvalue of the current HH at its step, so that each RjR_j has nonzero (1,1)(1,1) entry. Then Vm+e1=ψ(A)v1/τV_m^+ e_1 = \psi(A) v_1 / \tau for a scalar τ≠0\tau \ne 0. If μj\mu_j are eigenvalues of HH, the same holds as long as ψ(A)v1≠0\psi(A) v_1 \ne 0, with τ=∏j(Rj)11\tau = \prod_j (R_j)_{11}.

Proof. For one shift, (A−μ1I)Vm=Vm(Hm−μ1I)+fmemT=VmQ1R1+fmemT(A - \mu_1 I) V_m = V_m (H_m - \mu_1 I) + f_m e_m^T = V_m Q_1 R_1 + f_m e_m^T. Apply both sides to e1e_1 and use m≥2m \ge 2, so emTe1=0e_m^T e_1 = 0: (A−μ1I)v1=VmQ1R1e1=(R1)11 VmQ1e1(A - \mu_1 I) v_1 = V_m Q_1 R_1 e_1 = (R_1)_{11}\, V_m Q_1 e_1. Hence VmQ1e1=(A−μ1I)v1/(R1)11V_m Q_1 e_1 = (A - \mu_1 I) v_1 / (R_1)_{11}. The new factorization A(VmQ1)=(VmQ1)H(1)+fmemTQ1A (V_m Q_1) = (V_m Q_1) H^{(1)} + f_m e_m^T Q_1 is not an Arnoldi factorization in general, because emTQ1e_m^T Q_1 has two nonzeros. But the same computation applies: (A−μ2I)VmQ1=VmQ1Q2R2+fmemTQ1(A - \mu_2 I) V_m Q_1 = V_m Q_1 Q_2 R_2 + f_m e_m^T Q_1, and emTQ1e1=0e_m^T Q_1 e_1 = 0 when m≥3m \ge 3, since Q1Q_1 has lower bandwidth 1. In general, emTQ1⋯Qj−1e1=0e_m^T Q_1 \cdots Q_{j-1} e_1 = 0 when m>jm > j, by Lemma 2, and m>p≥jm > p \ge j. Induction on jj gives VmQe1=∏j(A−μjI)v1/∏j(Rj)11V_m Q e_1 = \prod_j (A - \mu_j I) v_1 / \prod_j (R_j)_{11}. □\square

Corollary (uniqueness). If Hk+H_k^+ is unreduced, the factorization of Theorem 1 is the kk-step Arnoldi factorization from the start vector v1+v_1^+, up to unimodular scaling of the columns. Proof. In Theorem 1 of the Arnoldi correctness proof, the vectors q1,…,qkq_1, \dots, q_k and the entries of HkH_k are determined by q1q_1 through the Gram-Schmidt recurrence when the subdiagonal is nonzero; an Arnoldi factorization with the same first column and a nonzero subdiagonal satisfies the same recurrence column by column, so it agrees up to phases. □\square Hence span⁡(Vk+)=Kk(A,ψ(A)v1)=ψ(A)Kk(A,v1)\operatorname{span}(V_k^+) = K_k(A, \psi(A) v_1) = \psi(A) K_k(A, v_1).

Theorem 3 (exact shifts). Suppose HmH_m is unreduced and has eigenvalues θ1,…,θk\theta_1, \dots, \theta_k (wanted) and μ1,…,μp\mu_1, \dots, \mu_p (shifts), and that the leading (m−j)×(m−j)(m - j) \times (m - j) block stays unreduced after jj shifts, for j<pj < p. Then the eigenvalues of Hk+H_k^+ are θ1,…,θk\theta_1, \dots, \theta_k.

Proof. First one shift. Let HH be unreduced upper Hessenberg of order ss with eigenvalue μ\mu. Its first s−1s - 1 columns are independent, because the subdiagonal is nonzero, and the same holds for H−μIH - \mu I. Hence the QR factorization H−μI=Q1R1H - \mu I = Q_1 R_1 has (R1)ii≠0(R_1)_{ii} \ne 0 for i<si < s, and (R1)ss=0(R_1)_{ss} = 0 since H−μIH - \mu I is singular. The last row of R1Q1R_1 Q_1 is (R1)ssesTQ1=0(R_1)_{ss} e_s^T Q_1 = 0, so H(1)=R1Q1+μI=(H′g0μ)H^{(1)} = R_1 Q_1 + \mu I = \begin{pmatrix} H' & g \\ 0 & \mu \end{pmatrix}, and H′H' has the other s−1s - 1 eigenvalues of HH, since H(1)H^{(1)} is similar to HH.

Now the second shift μ2\mu_2, an eigenvalue of H′H', applied to the full matrix H(1)H^{(1)}. Rotation i≤s−2i \le s - 2 is computed from the entries (i,i)(i, i) and (i+1,i)(i + 1, i), which lie in the leading block, and row ss is zero in columns 1,…,s−11, \dots, s - 1, so these rotations are exactly those of the QR step on H′−μ2IH' - \mu_2 I. After them, the entry (s−1,s−1)(s - 1, s - 1) is (R′)s−1,s−1(R')_{s-1,s-1}, which is zero by the argument above applied to the unreduced H′H', and the entry (s,s−1)(s, s - 1) is zero. So rotation s−1s - 1 is computed from (0,0)(0, 0) and is the identity (the implementation uses c=1c = 1, s=0s = 0 when r=0r = 0). Therefore Q2=diag⁡(Q′,1)Q_2 = \operatorname{diag}(Q', 1) and

H(2)=Q2∗H(1)Q2=(Q′∗H′Q′Q′∗g0μ1),H^{(2)} = Q_2^* H^{(1)} Q_2 = \begin{pmatrix} Q'^* H' Q' & Q'^* g \\ 0 & \mu_1 \end{pmatrix},

where Q′∗H′Q′Q'^* H' Q' has last row μ2es−1T\mu_2 e_{s-1}^T by the one-shift case. Repeating this with the hypothesis that each new leading block is unreduced, after pp shifts Hm+=(Hk+∗0T)H_m^+ = \begin{pmatrix} H_k^+ & * \\ 0 & T \end{pmatrix} with TT upper triangular with diagonal μp,…,μ1\mu_p, \dots, \mu_1. So the eigenvalues of Hk+H_k^+ are θ1,…,θk\theta_1, \dots, \theta_k. □\square

Theorem 4 (stopping test and termination). The quantity of line L5 equals the residual norm ∥AVmyi−θiVmyi∥2=∥fm∥2∣emTyi∣\|A V_m y_i - \theta_i V_m y_i\|_2 = \|f_m\|_2 |e_m^T y_i|, the backward error of the Ritz pair. The loop ends after at most the given maximum number of restarts, and each pass is finite, so the algorithm terminates. If line L3 breaks down at step j<mj < m, the factorization AVj=VjHjA V_j = V_j H_j is exact, every Ritz pair is an eigenpair, and the implementation returns them.

Proof. The residual identity is Theorem 3 of the Arnoldi proof, with fmf_m in place of hm+1,mqm+1h_{m+1,m} q_{m+1}. Breakdown: by Theorem 2 of the Arnoldi proof, a zero residual means that span⁡(Vj)\operatorname{span}(V_j) is invariant. Termination is the explicit bound on restarts. □\square

What is not proved here. Convergence of the wanted Ritz values for general AA is not guaranteed. Sorensen (1992) proved convergence for Hermitian AA with exact shifts under a nondegeneracy assumption. In floating point, the restart is a sequence of unitary transformations of the small matrices and is backward stable in the sense of the QR algorithm; loss of orthogonality of VmV_m is controlled by the second Gram-Schmidt pass in line L3.

Back to Implicitly restarted Arnoldi method