Proofs: Golub-Kahan SVD algorithm
These are the human proofs of Golub-Kahan SVD algorithm, at full length.
The Golub-Kahan step is an implicit QR step on B^T B, and the algorithm returns an SVD full
This proof shows: correctness, termination.
Notation of the page. , . is upper bidiagonal with diagonal and superdiagonal . Exact arithmetic unless stated.
Lemma 1 (bidiagonalization). Line L1 produces with orthogonal (its first columns are kept) and , upper bidiagonal, and .
Proof. Induction on . Assume rows and columns are in bidiagonal form. The left reflector acts on rows and maps column , rows to , to a multiple of ; rows do not change, and columns are zero in rows , so they stay zero. The right reflector acts on columns and maps row , columns to , to a multiple of ; columns do not change, so column keeps its zeros below the diagonal. Rows are zero in columns except , which is in column and is untouched. Every fixes , so . Products of reflectors are orthogonal.
Lemma 2 (singular values are kept). For orthogonal , , the matrices and have the same singular values, and .
Proof. If is an SVD, then is one.
Lemma 3 (the step keeps bidiagonal form). Let be the unreduced block , renumbered . After lines L6 to L10, is upper bidiagonal, where is the product of the right rotations and that of the left rotations.
Proof. The claim after the right rotation : the only entry outside the bidiagonal pattern is at . After the left rotation at step : the only one is at (for ; none for ). For , mixes columns 1 and 2. Rows 1 and 2 have entries there, and row 2 gains in general. The left rotation on rows 1 and 2 with zeros ; row 1 gains column 3 from row 2, the entry . For , and on columns zeros . Rows and have entries in these columns, and becomes nonzero; nothing else changes the pattern, because column has nonzeros only in rows and . The left rotation on rows , then zeros , and row gains column from row when . At there is no column , so the result is bidiagonal.
Lemma 4 (first column). is parallel to .
Proof. is symmetric tridiagonal with and . So , which is of line L6. The rotation has first column , and for fixes . Hence .
Theorem 1 (implicit QR on ). Let with unreduced and , and let be a QR factorization with . Then for a diagonal with entries , provided is unreduced.
Proof. , which is tridiagonal by Lemma 3 (the product of a lower and an upper bidiagonal matrix). is unreduced since . Both and are tridiagonal, and by Lemma 4 and the first column of . The implicit Q theorem for symmetric tridiagonal matrices (proved as Theorem 1 of the Francis double-shift QR proof, for Hessenberg matrices) gives when is unreduced.
Lemma 5 (zero diagonal). If with , the rotations of line L4 on rows make row zero and keep the bidiagonal form; if , the rotations on columns make column zero.
Proof. Case . Before rotation (for ), row has a single nonzero at column , starting with at . The rotation of rows and with , zeros , and it sets . Row keeps its pattern, because row has no other nonzeros. After , row is zero; the divisions are safe because when a rotation is needed. Case is the transpose of this argument. In both cases or becomes zero and the block splits.
Theorem 2 (correctness). If the algorithm stops at line L11, it returns , and with , orthonormal columns and .
Proof. Every operation is an orthogonal transformation from the left or the right, applied to and accumulated into or , so holds throughout (Lemmas 1 and 2). Line L3 goes to L11 only when every , and then . Negating column of together with keeps . Sorting the triplets by the same permutation keeps it too.
Theorem 3 (termination). The algorithm terminates.
Proof. Each sweep of line L4 makes some zero, and zeros are never undone, so there are at most such sweeps. Golub-Kahan steps are bounded by the cap of in the implementation, after which it stops with an error.
Convergence (statements). By Theorem 1, the steps on a block are symmetric tridiagonal QR steps on . The shift is the Wilkinson shift of . For the Wilkinson-shifted symmetric tridiagonal QR algorithm, for every starting matrix, and the convergence is at least quadratic and generically cubic (Wilkinson 1968; Parlett, The Symmetric Eigenvalue Problem, Chapter 8). Since , with bounded away from zero, converges at the same rate. The count of about two steps per singular value is observed, not proved.
Floating point (statement). Each rotation and reflector is applied backward stably. The computed and accumulated , satisfy for exactly orthogonal , within of the computed ones, and . Setting a negligible or to zero is a perturbation of the same size. Weyl's inequality for singular values, , then bounds the error in every computed singular value by (GVL Section 8.6; Demmel Section 5.4).