Householder tridiagonalization returns an orthogonal similarity to tridiagonal form full
This proof shows: correctness, termination.
Exact arithmetic. Notation of the page: A real symmetric of order n, Pk=I−βkvkvkT acting on indices k+1 to n, A(0)=A and A(k) the full symmetric matrix whose lower triangle is stored after the k-th pass of lines L3 to L8. The rounding error analysis, which gives the backward error ∥E∥F=O(nu)∥A∥F from the facts that a computed reflector is within O(u) of an exact one and that applying it is backward stable, is in Wilkinson (1965, Chapter 3) and GVL Section 5.1 and Section 8.3.1; we do not repeat it.
Lemma 1 (HOUSE). For x∈Rm, HOUSE returns (v,β,α) with (I−βvvT)x=αe1 and I−βvvT orthogonal and symmetric.
Proof. If ∥x2..m∥2=0, then β=0, the matrix is I, and x=x1e1=αe1. Otherwise α=−sign(x1)∥x∥2=0 and v=x−αe1=0, since its tail is the nonzero x2..m. Then vTx=∥x∥2−αx1 and vTv=∥x∥2−2αx1+α2=2(∥x∥2−αx1), so with β=2/vTv we get βvTx=1 and (I−βvvT)x=x−v=αe1. The matrix I−βvvT is symmetric, and its square is I−2βvvT+β2(vTv)vvT=I because βvTv=2, so it is orthogonal. □
Lemma 2 (the rank-2 update). Let B be symmetric of order m, P=I−βvvT, p=βBv and w=p−(βpTv/2)v. Then PBP=B−vwT−wvT.
Proof. PBP=B−βvvTB−βBvvT+β2(vTBv)vvT. Since B is symmetric, βvTB=pT, and β2vTBv=βpTv. So PBP=B−vpT−pvT+β(pTv)vvT. On the other hand vwT+wvT=vpT+pvT−β(pTv)vvT. The two agree. □
Lemma 2 shows that the result of line L7 is symmetric, so computing its lower triangle determines it.
Lemma 3 (the invariant). For k=0,1,…,n−2, A(k)=Pk⋯P1AP1⋯Pk, and for every j≤k the column j of A(k) is zero in rows j+2 to n, and the row j is zero in columns j+2 to n.
Proof. Induction on k; for k=0 there is nothing to prove beyond A(0)=A. Assume the claim for k−1 and write A(k−1) in blocks with the index sets {1..k} and {k+1..n}:
A(k−1)=(B11B21B21TB22),P~k=(Ik00P),P=I−βkvkvkT. By the hypothesis applied to the columns j≤k−1, the block B21 is zero except in its last column, which is the vector x of line L3 (column k, rows k+1 to n). Then
P~kA(k−1)P~k=(B11PB21(PB21)TPB22P). PB21 is zero except in its last column, which is Px=αe1 by Lemma 1: this is line L8. PB22P is the result of lines L5 to L7 by Lemma 2. B11 is not touched. So the stored matrix after the k-th pass is P~kA(k−1)P~k, which with Pk=P~k proves the first claim. Column k is now zero in rows k+2 to n; the columns j<k are unchanged in rows 1 to k and zero in rows k+1 to n (for j≤k−1, row k+1 is at least j+2). The claims on rows follow by symmetry. □
Lemma 4 (the accumulation). Lines L9 and L10 leave Q=P1P2⋯Pn−2.
Proof. Let Q(k) be the value after the pass with index k, starting from Q(n−1)=I. We claim Q(k)=Pk⋯Pn−2 and that Q(k) agrees with the identity in its first k rows and first k columns. For k=n−1 this is I. Assume it for k+1. Since Q(k+1) is the identity in rows and columns 1 to k+1, the product PkQ(k+1), where Pk acts on rows k+1 to n, changes only rows k+1 to n; in those rows the columns 1 to k of Q(k+1) are zero and stay zero. So PkQ(k+1) is obtained by applying I−βkvkvkT to the block Q[k+1..n,k+1..n], which is line L10, and the result is the identity in rows and columns 1 to k. □
Theorem 5 (correctness and termination). The algorithm terminates after n−2 passes of each loop, and returns d, e and an orthogonal Q with A=QTQT, where T is the symmetric tridiagonal matrix with diagonal d and off-diagonal e, and Qe1=e1.
Proof. Both loops are counted, so the algorithm stops; for n≤2 they are empty, A is already tridiagonal and Q=I. By Lemma 3 with k=n−2, A(n−2)=QTAQ with Q=P1⋯Pn−2, since each Pk is symmetric. All its columns j≤n−2 are zero below the subdiagonal, and columns n−1 and n have no entries below row j+1 to check, so A(n−2) is upper Hessenberg and symmetric, that is, tridiagonal, and it equals T. Q is orthogonal as a product of orthogonal matrices (Lemma 1), and by Lemma 4 it is what lines L9 and L10 return. Since no Pk touches index 1, Qe1=e1. Then A=QTQT. ■
Remark (the flop count). At step k with m=n−k, line L5 costs 2m2 flops for the symmetric product, line L6 O(m), and line L7 updates m(m+1)/2 entries at 4 flops each. The total is ∑m=2n−1(4m2+O(m))=4n3/3+O(n2). Line L10 costs 4m2 at step k, again 4n3/3+O(n2) in all.