Bidiagonalization
Bidiagonalization is a procedure in numerical linear algebra that transforms a given matrix into a bidiagonal form using unitary (or orthogonal in the real case) transformations on the left and right. For an m-by-n matrix A, bidiagonalization seeks orthogonal matrices Q ∈ R^{m×m} and P ∈ R^{n×n} such that A = Q B P^T, where B is bidiagonal (nonzero only on the main diagonal and either the superdiagonal or the subdiagonal). In the common upper bidiagonal form, B has nonzero entries on the diagonal b1, …, bk and on the superdiagonal c1, …, c_{k-1}.
The standard method uses Householder reflections, often implemented as the Golub–Kahan bidiagonalization. This algorithm applies a
Properties and applications: If A is m-by-n, Q and P are unitary, and B contains only the