For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'.
The singular values, sigma[k] = S[k][k], are ordered so that sigma >= sigma >= ... >= sigma[n-1].
The singular value decompostion always exists, so MatSVD(a()) will never fail. The matrix condition number and the effective numerical rank can be computed from this decomposition.
svd = MatSVD(a())
- This function returns an object which contains the singular value decomposition Structure to access U, S and V. The following funcions return the results of the decomposition.
c = MatSVDCond(svd)
- Two norm condition number.
c = MatSVDRank(svd)
- Effective numerical matrix rank.
c = MatSVDNorm2(svd)
- Two norm.
c() = MatSVDSingularValues(svd)
- Return the one-dimensional array of singular values.
c() = MatSVDLeftSingular(svd)
- Return the left singular vectors.
c() = MatSVDRightSingular(svd)
- Return the right singular vectors.
c() = MatSVDSingularDiagonal(svd)
- Return the diagonal matrix of singular values.