I’m curious about the DGESVD function used to calculate SVD in MATLAB. As far as I can tell from “Matrix Computations” by Gene H. Golub and Charles F. Van Loan, there are two possible bidiagonalization schemes used – the Householder Bidiagonalization and R-Bidiagonalization. However, I wasn’t able to determine from the LAPACK documentation which is being used. Anyone have any ideas?
Share
According to the LAPACK User’s Guide, the reduction to bidiagonal form is done by the routine DGEBRD, which uses Householder reflections.
2.4.6 “Singular Value Decomposition”:
5.4 “Representation of Orthogonal or Unitary Matrices”: