The Francis step equals an explicit double-shift QR step and keeps Hessenberg form full
This proof shows: correctness, termination.
Notation of the page: H∈Rp×p is the window of the algorithm, renumbered 1,…,p, upper Hessenberg and unreduced, p≥3. M=H2−sH+tI=(H−μ1I)(H−μ2I) with s=μ1+μ2 and t=μ1μ2 real. Exact arithmetic unless stated.
Lemma 1 (first column of M). Me1=(x,y,z,0,…,0)T with x, y and z as in line L1.
Proof. He1=(h11,h21,0,…)T since H is Hessenberg. Then H2e1=h11He1+h21He2 and He2=(h12,h22,h32,0,…)T, so H2e1=(h112+h21h12, h21(h11+h22), h21h32, 0,…)T. Subtract sHe1 and add te1. □
Lemma 2 (the bulge chase keeps Hessenberg form). Let P1 be the reflector of line L3 at k=1, acting on coordinates 1,2,3, and Pk for k=2,…,p−2 act on coordinates k,k+1,k+2, and Pp−1 on p−1,p, chosen as in lines L3 and L6 from column k−1 of the current matrix. Then H′=ZTHZ with Z=P1⋯Pp−1 is upper Hessenberg.
Proof. Write H(k) for the matrix after P1,…,Pk. Claim: for 1≤k≤p−2, H(k) is upper Hessenberg except for the entries (k+2,k), (k+3,k) and (k+3,k+1) (those that exist), the bulge. For k=1: P1H mixes rows 1 to 3, so it is Hessenberg except that row 3 may be nonzero in column 1. Then (P1H)P1 mixes columns 1 to 3; rows 1 to 4 can be nonzero there, since h43=0 enters columns 1 and 2. So the nonzeros below the subdiagonal are at (3,1), (4,1) and (4,2). For the step k−1→k with 2≤k≤p−2, line L5 takes (x,y,z) from column k−1, rows k, k+1, k+2. Pk maps this vector to a multiple of e1 in its coordinates, so in PkH(k−1) column k−1 has zeros in rows k+1 and k+2; rows outside k,k+1,k+2 do not change. Right multiplication by Pk mixes columns k, k+1, k+2, which does not touch column k−1, and it creates nonzeros in rows up to k+3, because hk+3,k+2=0. So the bulge is now at (k+2,k), (k+3,k) and (k+3,k+1). At k=p−2 there is no row p+1, so the bulge is only the entry (p,p−2). Finally Pp−1 from line L6 zeros (p,p−2) using rows p−1 and p, and right multiplication mixes columns p−1 and p, which keeps the Hessenberg form. □
Lemma 3 (Ze1 is parallel to Me1). Ze1=P1e1=±Me1/∥Me1∥2.
Proof. For k≥2, Pk acts on coordinates k and higher, so Pke1=e1. Hence Ze1=P1P2⋯Pp−1e1=P1e1. A Householder reflector is symmetric and orthogonal, so P1w=αe1 with w=Me1 and ∣α∣=∥w∥2 gives P1e1=w/α. By Lemma 1, Me1 has nonzeros only in the first three positions, so the reflector of order 3 suffices. Me1=0 because z=h21h32=0 in an unreduced H. □
Theorem 1 (implicit Q theorem). Let Z and W be orthogonal with Ze1=We1, and suppose G=ZTHZ and F=WTHW are upper Hessenberg and F is unreduced. Then Zej=±Wej for all j, and ∣gij∣=∣fij∣.
Proof. Let V=WTZ, orthogonal with Ve1=e1, and FV=WTHZ=VG. Compare column j: Fvj=∑i≤j+1gijvi, so gj+1,jvj+1=Fvj−∑i≤jgijvi. By induction, v1,…,vj∈span(e1,…,ej), and since F is Hessenberg, Fvj∈span(e1,…,ej+1), so gj+1,jvj+1∈span(e1,…,ej+1). Also vj+1⊥v1,…,vj, which span span(e1,…,ej), so gj+1,jvj+1 is a multiple of ej+1. It is nonzero: its ej+1 component is ej+1TFvj=fj+1,j(ejTvj), and ejTvj=±1 by induction, while fj+1,j=0. Hence vj+1=±ej+1 and V=D is diagonal with entries ±1. Then G=DFD. □
Theorem 2 (the step is the explicit double step). Let M=WR be a QR factorization. Then WTHW is upper Hessenberg, We1=±Me1/∥Me1∥2, and if WTHW is unreduced, the Francis step gives ZTHZ=D(WTHW)D with D=diag(±1).
Proof. We1=Me1/r11 from the first column of M=WR. M commutes with H, so WTHW=WTHMR−1=WTMHR−1=RHR−1 when M is nonsingular; a triangular times Hessenberg times triangular matrix is Hessenberg. (If M is singular, that is, a shift is an eigenvalue, the same holds by a limit argument or by the direct construction in GVL Section 7.5.) By Lemmas 2 and 3, Z has the same first column up to sign and ZTHZ is Hessenberg. Theorem 1 gives the claim. □
Theorem 3 (equal to two single steps). For complex shifts, let H−μ1I=W1R1, H1=W1∗HW1, H1−μ2I=W2R2, H2=W2∗H1W2. Then (W1W2)(R2R1)=M, so H2 is the explicit double step with W=W1W2 up to a unitary diagonal factor.
Proof. W1W2R2R1=W1(H1−μ2I)R1=(H−μ2I)W1R1=(H−μ2I)(H−μ1I)=M, using W1H1=HW1. QR factorizations are unique up to a unitary diagonal factor when M is nonsingular. □
Theorem 4 (deflation and termination). Setting hl,l−1=0 in line L8 is an exact similarity of H+E with ∥E∥2≤u(∣hl−1,l−1∣+∣hll∣)≤2u∥H∥2. The algorithm terminates.
Proof. The change is one entry of the stated size. For termination: each Francis step is a finite sequence of operations. Line L9 removes one or two rows from the active part each time it applies, and it applies at least once every 30 steps, or the implementation stops with an error. The number of rows is n, so at most 30n steps run. □
Convergence (statements). Theorem 3 makes each Francis step two shifted QR steps, so the convergence theory of the shifted QR algorithm applies: the QR iteration is subspace iteration with M on nested subspaces, and inverse subspace iteration on the trailing ones. When the shifts are the eigenvalues of the trailing 2×2 block and that block converges to one with simple eigenvalues distinct from the rest of the spectrum, hp−1,p−2 converges to zero quadratically (Watkins and Elsner 1991; GVL Section 7.5). Global convergence is not proved. The cyclic permutation matrix is a fixed point up to signs of the step with the shifts 0,0, which is why line L10 uses exceptional shifts.
Floating point (statement). Each reflector is applied backward stably, and Hessenberg structure is enforced by setting entries known to be zero to zero. Wilkinson's analysis of sequences of Householder similarities gives T^=Q^T(A+E)Q^ with Q^ exactly orthogonal, ∥E∥2≤c(n)u∥A∥2 for a modest c(n), and a computed Q within c(n)u of Q^ (GVL Section 7.5; Wilkinson 1965, Chapter 8).