Next: Generalized Eigenvalue and Singular Up: Standard Eigenvalue and Singular Previous: Nonsymmetric Eigenproblems (NEP) Contents Index

### Singular Value Decomposition (SVD)

The singular value decomposition of an m-by-n matrix A is given by

where U and V are orthogonal (unitary) and is an m-by-n diagonal matrix with real diagonal elements, , such that

The are the singular values of A and the first min(m,n) columns of U and V are the left and right singular vectors of A.

The singular values and singular vectors satisfy:

where ui and vi are the ith columns of U and V respectively.

There are two types of driver routines for the SVD. Originally LAPACK had just the simple driver described below, and the other one was added after an improved algorithm was discovered.

- a simple driver xGESVD computes all the singular values and (optionally) left and/or right singular vectors.
- a divide and conquer driver xGESDD solves the same problem as the simple driver. It is much faster than the simple driver for large matrices, but uses more workspace. The name divide-and-conquer refers to the underlying algorithm (see sections 2.4.4 and 3.4.3).

Table 2.5: Driver routines for standard eigenvalue and singular value problems
Type of | Function and storage scheme | Single precision | Double precision
problem |  | real | complex | real | complex
SEP | simple driver | SSYEV | CHEEV | DSYEV | ZHEEV
| divide and conquer driver | SSYEVD | CHEEVD | DSYEVD | ZHEEVD
| expert driver | SSYEVX | CHEEVX | DSYEVX | ZHEEVX
| RRR driver | SSYEVR | CHEEVR | DSYEVR | ZHEEVR
| simple driver (packed storage) | SSPEV | CHPEV | DSPEV | ZHPEV
| divide and conquer driver | SSPEVD | CHPEVD | DSPEVD | ZHPEVD
| (packed storage) |  |  |  |
| expert driver (packed storage) | SSPEVX | CHPEVX | DSPEVX | ZHPEVX
| simple driver (band matrix) | SSBEV | CHBEV | DSBEV | ZHBEV
| divide and conquer driver | SSBEVD | CHBEVD | DSBEVD | ZHBEVD
| (band matrix) |  |  |  |
| expert driver (band matrix) | SSBEVX | CHBEVX | DSBEVX | ZHBEVX
| simple driver (tridiagonal matrix) | SSTEV |  | DSTEV |
| divide and conquer driver | SSTEVD |  | DSTEVD |
| (tridiagonal matrix) |  |  |  |
| expert driver (tridiagonal matrix) | SSTEVX |  | DSTEVX |
| RRR driver (tridiagonal matrix) | SSTEVR |  | DSTEVR |
NEP | simple driver for Schur factorization | SGEES | CGEES | DGEES | ZGEES
| expert driver for Schur factorization | SGEESX | CGEESX | DGEESX | ZGEESX
| simple driver for eigenvalues/vectors | SGEEV | CGEEV | DGEEV | ZGEEV
| expert driver for eigenvalues/vectors | SGEEVX | CGEEVX | DGEEVX | ZGEEVX
SVD | simple driver | SGESVD | CGESVD | DGESVD | ZGESVD
| divide and conquer driver | SGESDD | CGESDD | DGESDD | ZGESDD

Next: Generalized Eigenvalue and Singular Up: Standard Eigenvalue and Singular Previous: Nonsymmetric Eigenproblems (NEP) Contents Index