svd
singular value decomposition
Syntax
s=svd(X) [U,S,V]=svd(X) [U,S,V]=svd(X,0) (obsolete) [U,S,V]=svd(X,"e") [U,S,V,rk]=svd(X [,tol])
Arguments
- X
a real or complex matrix
- s
real vector (singular values)
- S
real diagonal matrix (singular values)
- U,V
orthogonal or unitary square matrices (singular vectors).
- tol
real number
Description
[U,S,V] = svd(X)
produces a diagonal matrix
S
, of the same dimension as X
and with
nonnegative diagonal elements in decreasing order, and unitary
matrices U
and V
so that X = U*S*V'
.
[U,S,V] = svd(X,"e")
produces the "economy
size" decomposition. If X
is m-by-n with m >
n, then only the first n columns of U
are computed
and S
is n-by-n.
s= svd(X)
by itself, returns a vector s
containing the singular values.
[U,S,V,rk]=svd(X,tol)
gives in addition rk
, the numerical rank of X
i.e. the number of
singular values larger than tol
.
The default value of tol
is the same as in rank
.
See also
Used Functions
svd decompositions are based on the Lapack routines DGESVD for real matrices and ZGESVD for the complex case.
History
Version | Description |
2023.0.0 | svd(X, 0) is obsolete, use svd(X, "e") instead. |
Report an issue | ||
<< sva | Eigenvalue and Singular Value | Factorization >> |