Bidiagonalization


Bidiagonalization is one of unitary matrix decompositions such that U* A 'V = B', where U and V are unitary matrices; * denotes Hermitian transpose; and B is upper bidiagonal. A is allowed to be rectangular.
For dense matrices, the left and right unitary matrices are obtained by a series of Householder reflections alternately applied from the left and right. This is known as Golub-Kahan bidiagonalization. For large matrices, they are calculated iteratively by using Lanczos method, referred to as Golub-Kahan-Lanczos method.
Bidiagonalization has a very similar structure to the singular [value decomposition]. However, it is computed within finite operations, while SVD requires iterative schemes to find singular values. The latter is because the squared singular values are the roots of characteristic polynomials of A* A, where A is assumed to be tall.