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×n be symmetric, r0=b−Ax0=0, β=∥r0∥2 and Kk=Kk(A,r0). 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/β. While γj+1=0 for j<k, the vectors v1,…,vk are orthonormal and span Kk, and
AVk=Vk+1Tˉk,Tˉk=(Tkγk+1ekT), where Vk=(v1⋯vk) and Tk is symmetric tridiagonal with diagonal δ1,…,δk and off-diagonal γ2,…,γk.
Proof. Line L5 computes γk+1vk+1=Avk−δkvk−γkvk−1 with δk=vkTAvk (L4, after the normalization of L4). Induction on k: vk+1 is orthogonal to vk by the choice of δk, to vk−1 because vk−1TAvk=(Avk−1)Tvk=γk by symmetry of A and the previous step, and to vj for j<k−1 because Avj∈span{vj−1,vj,vj+1} is orthogonal to vk. Since vk+1 is Avk minus a combination of v1,…,vk, the spans are the Krylov spaces. Reading L5 column by column gives the matrix identity. □
Lemma 2 (the least squares problem). For x=x0+Vky,
∥b−Ax∥2=∥βe1−Tˉky∥2. Proof. b−Ax=r0−AVky=Vk+1(βe1−Tˉky) by Lemma 1, and Vk+1 has orthonormal columns. □
So the minimizer of ∥b−Ax∥2 over x0+Kk is x0+Vkyk with yk the least squares solution of Tˉky≈βe1, a (k+1)×k problem.
Lemma 3 (Givens QR, lines L6 and L7). Let Qk=GkGk−1⋯G1, where Gj is the rotation (cj+1−sj+1sj+1cj+1) acting on rows j and j+1. Then QkTˉk=(Rk0) with Rk upper triangular, of bandwidth 3, with column k equal to (…,0,α3,α2,α1)T in rows k−2,k−1,k for the values computed at step k, and Qkβe1=(τ1,…,τk,ηk)T with τk=ck+1ηk−1, ηk=−sk+1ηk−1, η0=β.
Proof. Column k of Tˉk has γk in row k−1, δk in row k and γk+1 in row k+1, and zeros elsewhere. The rotations G1,…,Gk−3 touch rows above k−2 only, so they leave it unchanged. Gk−2 (with ck−1,sk−1, called c_old, s_old) maps the pair (0,γk) in rows k−2,k−1 to (sk−1γk,ck−1γk), so α3=sk−1γk. Gk−1 (with ck,sk) maps (ck−1γk,δk) in rows k−1,k to (ckck−1γk+skδk,ckδk−skck−1γk)=(α2,α0). Line L7 chooses ck+1=α0/α1, sk+1=γk+1/α1 with α1=(α02+γk+12)1/2, so Gk maps (α0,γk+1) to (α1,0) and Rk is upper triangular. The earlier columns were already reduced and Gk touches only their zero rows k and k+1 below the triangle, except that it acts on rows k and k+1 of the right side: the entry ηk−1 in row k and 0 in row k+1 become ck+1ηk−1 and −sk+1ηk−1. The start c0=c1=1, s0=s1=0 (line L2) makes the rotations of steps −1 and 0 the identity. □
Theorem 1 (minimal residual). If α1=0 at steps 1,…,k, the iterate xk after line L9 of step k is the unique minimizer of ∥b−Ax∥2 over x0+Kk, and ∥b−Axk∥2=∣ηk∣.
Proof. With Qk orthogonal, ∥βe1−Tˉky∥22=∥tk−Rky∥22+ηk2 where tk=(τ1,…,τk)T. The diagonal of Rk is the list of α1 values, all nonzero, so Rk is nonsingular and the unique minimizer is yk=Rk−1tk, with minimum ∣ηk∣; Lemma 2 transfers this to x. Let Wk=VkRk−1 with columns w1,…,wk. From WkRk=Vk and the band structure of Rk, vk=α3wk−2+α2wk−1+α1wk, which is line L8 (with w0=w−1=0). Then x0+Vkyk=x0+Wktk, and since tk extends tk−1 by the single entry τk=ck+1ηk−1, xk=xk−1+τkwk, which is line L9. □
Corollary (monotone residuals). ∣ηk∣=∣sk+1∣∣ηk−1∣≤∣ηk−1∣, as it must be since Kk−1⊆Kk. Equality holds when α0=0, that is, when Tk is singular; this is the stagnation seen for spectra symmetric about 0.
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≤n be the grade of r0, the dimension of the largest Krylov space. Then γd+1=0, Kd is invariant under A, and AVd=VdTd. If A is nonsingular, every eigenvalue of Td is an eigenvalue of A, so Td is nonsingular, α1=0 at step d, and sd+1=γd+1/α1=0 gives ηd=0: line L10 returns with Axd=b after at most d steps, and d is at most the number of distinct eigenvalues of A. If A is singular and ηd−1=0, then Td is singular (otherwise the argument just given would produce an exact solution), so α0=0 and α1=0 at step d, and the implementation returns xd−1. After G1,…,Gd−1, row d of the reduced Tˉd is zero (its last entry is α0=0 and row d+1 is γd+1edT=0), while rows 1 to d−1 have full row rank. So the least squares minimum over x0+Kd equals ∣ηd−1∣, and xd−1 attains it.
Before step d, α1=0. For k<d, γk+1=0, so α1=(α02+γk+12)1/2>0. Hence Theorem 1 applies at every step the loop reaches, which proves correctness.