Algorithm Search⌘K

Proofs: MINRES

These are the human proofs of MINRES, at full length.

In exact arithmetic MINRES returns the iterate of least residual norm in x0 + K_k, and it terminates full

This proof shows: correctness, termination.

Let A∈Rn×nA \in \mathbb{R}^{n \times n} be symmetric, r0=b−Ax0≠0r_0 = b - A x_0 \ne 0, β=∥r0∥2\beta = \|r_0\|_2 and Kk=Kk(A,r0)\mathcal{K}_k = \mathcal{K}_k(A, r_0). Arithmetic is exact. Line numbers refer to the pseudocode.

Lemma 1 (Lanczos). Lines L4, L5 and L11 are the symmetric Lanczos process started from v1=r0/βv_1 = r_0/\beta. While γj+1≠0\gamma_{j+1} \ne 0 for j<kj < k, the vectors v1,…,vkv_1, \ldots, v_k are orthonormal and span Kk\mathcal{K}_k, and

AVk=Vk+1Tˉk,Tˉk=(Tkγk+1ekT),A V_k = V_{k+1} \bar T_k, \qquad \bar T_k = \begin{pmatrix} T_k \\ \gamma_{k+1} e_k^T \end{pmatrix},

where Vk=(v1⋯vk)V_k = (v_1 \cdots v_k) and TkT_k is symmetric tridiagonal with diagonal δ1,…,δk\delta_1, \ldots, \delta_k and off-diagonal γ2,…,γk\gamma_2, \ldots, \gamma_k.

Proof. Line L5 computes γk+1vk+1=Avk−δkvk−γkvk−1\gamma_{k+1} v_{k+1} = A v_k - \delta_k v_k - \gamma_k v_{k-1} with δk=vkTAvk\delta_k = v_k^T A v_k (L4, after the normalization of L4). Induction on kk: vk+1v_{k+1} is orthogonal to vkv_k by the choice of δk\delta_k, to vk−1v_{k-1} because vk−1TAvk=(Avk−1)Tvk=γkv_{k-1}^T A v_k = (A v_{k-1})^T v_k = \gamma_k by symmetry of AA and the previous step, and to vjv_j for j<k−1j < k - 1 because Avj∈span{vj−1,vj,vj+1}A v_j \in \mathrm{span}\{v_{j-1}, v_j, v_{j+1}\} is orthogonal to vkv_k. Since vk+1v_{k+1} is AvkA v_k minus a combination of v1,…,vkv_1, \ldots, v_k, the spans are the Krylov spaces. Reading L5 column by column gives the matrix identity. □\square

Lemma 2 (the least squares problem). For x=x0+Vkyx = x_0 + V_k y,

∥b−Ax∥2=∥βe1−Tˉky∥2.\|b - A x\|_2 = \|\beta e_1 - \bar T_k y\|_2 .

Proof. b−Ax=r0−AVky=Vk+1(βe1−Tˉky)b - A x = r_0 - A V_k y = V_{k+1}(\beta e_1 - \bar T_k y) by Lemma 1, and Vk+1V_{k+1} has orthonormal columns. □\square

So the minimizer of ∥b−Ax∥2\|b - A x\|_2 over x0+Kkx_0 + \mathcal{K}_k is x0+Vkykx_0 + V_k y_k with yky_k the least squares solution of Tˉky≈βe1\bar T_k y \approx \beta e_1, a (k+1)×k(k+1) \times k problem.

Lemma 3 (Givens QR, lines L6 and L7). Let Qk=GkGk−1⋯G1Q_k = G_k G_{k-1} \cdots G_1, where GjG_j is the rotation (cj+1sj+1−sj+1cj+1)\begin{pmatrix} c_{j+1} & s_{j+1} \\ -s_{j+1} & c_{j+1} \end{pmatrix} acting on rows jj and j+1j + 1. Then QkTˉk=(Rk0)Q_k \bar T_k = \begin{pmatrix} R_k \\ 0 \end{pmatrix} with RkR_k upper triangular, of bandwidth 3, with column kk equal to (…,0,α3,α2,α1)T(\ldots, 0, \alpha_3, \alpha_2, \alpha_1)^T in rows k−2,k−1,kk-2, k-1, k for the values computed at step kk, and Qkβe1=(τ1,…,τk,ηk)TQ_k \beta e_1 = (\tau_1, \ldots, \tau_k, \eta_k)^T with τk=ck+1ηk−1\tau_k = c_{k+1}\eta_{k-1}, ηk=−sk+1ηk−1\eta_k = -s_{k+1}\eta_{k-1}, η0=β\eta_0 = \beta.

Proof. Column kk of Tˉk\bar T_k has γk\gamma_k in row k−1k-1, δk\delta_k in row kk and γk+1\gamma_{k+1} in row k+1k+1, and zeros elsewhere. The rotations G1,…,Gk−3G_1, \ldots, G_{k-3} touch rows above k−2k-2 only, so they leave it unchanged. Gk−2G_{k-2} (with ck−1,sk−1c_{k-1}, s_{k-1}, called c_old, s_old) maps the pair (0,γk)(0, \gamma_k) in rows k−2,k−1k-2, k-1 to (sk−1γk,ck−1γk)(s_{k-1}\gamma_k, c_{k-1}\gamma_k), so α3=sk−1γk\alpha_3 = s_{k-1}\gamma_k. Gk−1G_{k-1} (with ck,skc_k, s_k) maps (ck−1γk,δk)(c_{k-1}\gamma_k, \delta_k) in rows k−1,kk-1, k to (ckck−1γk+skδk,  ckδk−skck−1γk)=(α2,α0)(c_k c_{k-1}\gamma_k + s_k\delta_k,\; c_k\delta_k - s_k c_{k-1}\gamma_k) = (\alpha_2, \alpha_0). Line L7 chooses ck+1=α0/α1c_{k+1} = \alpha_0/\alpha_1, sk+1=γk+1/α1s_{k+1} = \gamma_{k+1}/\alpha_1 with α1=(α02+γk+12)1/2\alpha_1 = (\alpha_0^2 + \gamma_{k+1}^2)^{1/2}, so GkG_k maps (α0,γk+1)(\alpha_0, \gamma_{k+1}) to (α1,0)(\alpha_1, 0) and RkR_k is upper triangular. The earlier columns were already reduced and GkG_k touches only their zero rows kk and k+1k + 1 below the triangle, except that it acts on rows kk and k+1k+1 of the right side: the entry ηk−1\eta_{k-1} in row kk and 00 in row k+1k+1 become ck+1ηk−1c_{k+1}\eta_{k-1} and −sk+1ηk−1-s_{k+1}\eta_{k-1}. The start c0=c1=1c_0 = c_1 = 1, s0=s1=0s_0 = s_1 = 0 (line L2) makes the rotations of steps −1-1 and 00 the identity. □\square

Theorem 1 (minimal residual). If α1≠0\alpha_1 \ne 0 at steps 1,…,k1, \ldots, k, the iterate xkx_k after line L9 of step kk is the unique minimizer of ∥b−Ax∥2\|b - A x\|_2 over x0+Kkx_0 + \mathcal{K}_k, and ∥b−Axk∥2=∣ηk∣\|b - A x_k\|_2 = |\eta_k|.

Proof. With QkQ_k orthogonal, ∥βe1−Tˉky∥22=∥tk−Rky∥22+ηk2\|\beta e_1 - \bar T_k y\|_2^2 = \|t_k - R_k y\|_2^2 + \eta_k^2 where tk=(τ1,…,τk)Tt_k = (\tau_1, \ldots, \tau_k)^T. The diagonal of RkR_k is the list of α1\alpha_1 values, all nonzero, so RkR_k is nonsingular and the unique minimizer is yk=Rk−1tky_k = R_k^{-1} t_k, with minimum ∣ηk∣|\eta_k|; Lemma 2 transfers this to xx. Let Wk=VkRk−1W_k = V_k R_k^{-1} with columns w1,…,wkw_1, \ldots, w_k. From WkRk=VkW_k R_k = V_k and the band structure of RkR_k, vk=α3wk−2+α2wk−1+α1wkv_k = \alpha_3 w_{k-2} + \alpha_2 w_{k-1} + \alpha_1 w_k, which is line L8 (with w0=w−1=0w_0 = w_{-1} = 0). Then x0+Vkyk=x0+Wktkx_0 + V_k y_k = x_0 + W_k t_k, and since tkt_k extends tk−1t_{k-1} by the single entry τk=ck+1ηk−1\tau_k = c_{k+1}\eta_{k-1}, xk=xk−1+τkwkx_k = x_{k-1} + \tau_k w_k, which is line L9. □\square

Corollary (monotone residuals). ∣ηk∣=∣sk+1∣ ∣ηk−1∣≤∣ηk−1∣|\eta_k| = |s_{k+1}|\,|\eta_{k-1}| \le |\eta_{k-1}|, as it must be since Kk−1⊆Kk\mathcal{K}_{k-1} \subseteq \mathcal{K}_k. Equality holds when α0=0\alpha_0 = 0, that is, when TkT_k is singular; this is the stagnation seen for spectra symmetric about 00.

Termination. The loop at line L3 runs at most maxiter times, each step a fixed amount of work, so the algorithm stops. In exact arithmetic it stops earlier: let d≤nd \le n be the grade of r0r_0, the dimension of the largest Krylov space. Then γd+1=0\gamma_{d+1} = 0, Kd\mathcal{K}_d is invariant under AA, and AVd=VdTdA V_d = V_d T_d. If AA is nonsingular, every eigenvalue of TdT_d is an eigenvalue of AA, so TdT_d is nonsingular, α1≠0\alpha_1 \ne 0 at step dd, and sd+1=γd+1/α1=0s_{d+1} = \gamma_{d+1}/\alpha_1 = 0 gives ηd=0\eta_d = 0: line L10 returns with Axd=bA x_d = b after at most dd steps, and dd is at most the number of distinct eigenvalues of AA. If AA is singular and ηd−1≠0\eta_{d-1} \ne 0, then TdT_d is singular (otherwise the argument just given would produce an exact solution), so α0=0\alpha_0 = 0 and α1=0\alpha_1 = 0 at step dd, and the implementation returns xd−1x_{d-1}. After G1,…,Gd−1G_1, \ldots, G_{d-1}, row dd of the reduced Tˉd\bar T_d is zero (its last entry is α0=0\alpha_0 = 0 and row d+1d + 1 is γd+1edT=0\gamma_{d+1} e_d^T = 0), while rows 11 to d−1d-1 have full row rank. So the least squares minimum over x0+Kdx_0 + \mathcal{K}_d equals ∣ηd−1∣|\eta_{d-1}|, and xd−1x_{d-1} attains it.

Before step dd, α1≠0\alpha_1 \ne 0. For k<dk < d, γk+1≠0\gamma_{k+1} \ne 0, so α1=(α02+γk+12)1/2>0\alpha_1 = (\alpha_0^2 + \gamma_{k+1}^2)^{1/2} > 0. Hence Theorem 1 applies at every step the loop reaches, which proves correctness.

Back to MINRES