Developer Reference for Intel® oneAPI Math Kernel Library for C
Singular Value Decomposition: ScaLAPACK Driver Routines
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 (Computes the singular value decomposition of a general matrix that has been reduced to bidiagonal form.) .
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 (Reduces a general matrix to bidiagonal form.) |
|
Multiply matrix after reduction |
p?ormbr (Multiplies a general matrix by one of the orthogonal matrices from a reduction to bidiagonal form determined by p?gebrd.) / p?unmbr (Multiplies a general matrix by one of the unitary transformation matrices from a reduction to bidiagonal form determined by p?gebrd.) |