Bidiagonalization
Bidiagonalization is one of unitary (orthogonal) matrix decompositions such that U* A V = B, where U and V are unitary (orthogonal) 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.