# Singular Value Decomposition

This section describes ScaLAPACK routines for computing the singular value decomposition (SVD) of a general m-by-n matrix A (see LAPACK “Singular Value Decomposition” ).

To find the SVD of a general matrix A, this matrix is first reduced to a bidiagonal matrix B by a unitary (orthogonal) transformation, and then SVD of the bidiagonal matrix is computed. Note that the SVD of B is computed using the LAPACK routine ?bdsqr .

Table “Computational Routines for Singular Value Decomposition (SVD)” lists ScaLAPACK computational routines for performing this decomposition.

Computational Routines for Singular Value Decomposition (SVD)
Operation | General matrix | Orthogonal/unitary matrix
--- | --- | ---
Reduce A to a bidiagonal matrix | p?gebrd |
Multiply matrix after reduction |  | p?ormbr/p?unmbr