R: Find the Largest k Singular Values/Vectors of a Matrix
svds
R Documentation
Find the Largest k Singular Values/Vectors of a Matrix
Description
This function is a simple wrapper of the svds()
function in the RSpectra package. Also see the documentation there.
Given an m by n matrix A,
function svds() can find its largest k
singular values and the corresponding singular vectors.
It is also called the Truncated Singular Value Decomposition
since it only contains a subset of the whole singular triplets.
Currently svds() supports matrices of the following classes:
matrix
The most commonly used matrix type,
defined in base package.
dgeMatrix
General matrix, equivalent to matrix,
defined in Matrix package.
dgCMatrix
Column oriented sparse matrix, defined in
Matrix package.
dgRMatrix
Row oriented sparse matrix, defined in
Matrix package.
dsyMatrix
Symmetrix matrix, defined in Matrix
package.
Note that when A is symmetric,
SVD reduces to eigen decomposition, so you may consider using
eigs() instead.
Usage
svds(A, k, nu = k, nv = k, opts = list(), ...)
Arguments
A
The matrix whose truncated SVD is to be computed.
k
Number of singular values requested.
nu
Number of left singular vectors to be computed. This must
be between 0 and k.
nv
Number of right singular vectors to be computed. This must
be between 0 and k.
opts
Control parameters related to the computing
algorithm. See Details below.
...
Currently not used.
Details
The opts argument is a list that can supply any of the
following parameters:
ncv
Number of Lanzcos basis vectors to use. More vectors
will result in faster convergence, but with greater
memory use. ncv must be satisfy
k < ncv <= p where
p = min(m, n).
Default is min(p, max(2*k+1, 20)).
tol
Precision parameter. Default is 1e-10.
maxitr
Maximum number of iterations. Default is 1000.
Value
A list with the following components:
d
A vector of the computed singular values.
u
An m by nu matrix whose columns contain
the left singular vectors. If nu == 0, NULL
will be returned.
v
An n by nv matrix whose columns contain
the right singular vectors. If nv == 0, NULL
will be returned.