| MATLAB Function Reference | Search  Help Desk |
| svds | Examples See Also |
s = svds(A) s = svds(A,k) s = svds(A,k,0) [U,S,V] = svds(A,...)
svds(A)
computes the five largest singular values and associated singular vectors of the matrix A.
svds(A,k)
computes the k largest singular values and associated singular vectors of the matrix A.
svds(A,k,0)
computes the k smallest singular values and associated singular vectors.
With one output argument, s is a vector of singular values. With three output arguments and if A is m-by-n:
U is m-by-k with orthonormal columns
S is k-by-k diagonal
V is n-by-k with orthonormal columns
U*S*V' is the closest rank k approximation to A
eigs to find the k largest magnitude eigenvalues and corresponding eigenvectors of B = [0 A; A' 0].
svds(A,k,0) uses eigs to find the 2k smallest magnitude eigenvalues and corresponding eigenvectors of B = [0 A; A' 0], and then selects the k positive eigenvalues and their eigenvectors.
west0479 is a real 479-by-479 sparse matrix. svd calculates all 479 singular values. svds picks out the largest and smallest singular values.
load west0479 s = svd(full(west0479)) sl = svds(west0479,4) ss = svds(west0479,6,0)These plots show some of the singular values of
west0479 as computed by svd and svds.
west0479 can be computed a few different ways:
svds(west0479,1) = 3.189517598808622e+05 max(svd(full(west0479))) = 3.18951759880862e+05 norm(full(west0479)) = 3.189517598808623e+05and estimated:
normest(west0479) = 3.189385666549991e+05
svd Singular value decomposition
eigs Find a few eigenvalues and eigenvectors