svds
.. svds(A; nsv=6, ritzvec=true, tol=0.0, maxiter=1000) -> (left_sv, s, right_sv, nconv, niter, nmult, resid)
``svds`` computes largest singular values ``s`` of ``A`` using Lanczos or Arnoldi iterations.
Uses :func:`eigs` underneath.
Inputs are:
* ``A``: Linear operator. It can either subtype of ``AbstractArray`` (e.g., sparse matrix) or duck typed. For duck typing ``A`` has to support ``size(A)``, ``eltype(A)``, ``A * vector`` and ``A' * vector``.
* ``nsv``: Number of singular values.
* ``ritzvec``: Whether to return the left and right singular vectors ``left_sv`` and ``right_sv``, default is ``true``. If ``false`` the singular vectors are omitted from the output.
* ``tol``: tolerance, see :func:`eigs`.
* ``maxiter``: Maximum number of iterations, see :func:`eigs`.
**Example**::
X = sprand(10, 5, 0.2)
svds(X, nsv = 2)
Examples
The svds
function in Julia computes the largest singular values s
of a linear operator A
using Lanczos or Arnoldi iterations. It uses the eigs
function underneath.
Inputs:
A
: Linear operator. It can be a subtype ofAbstractArray
(e.g., sparse matrix) or duck-typed. For duck typing,A
must supportsize(A)
,eltype(A)
,A * vector
, andA' * vector
.nsv
: Number of singular values.ritzvec
: Whether to return the left and right singular vectorsleft_sv
andright_sv
. Default istrue
. If set tofalse
, the singular vectors are omitted from the output.tol
: Tolerance parameter. Seeeigs
documentation for details.maxiter
: Maximum number of iterations. Seeeigs
documentation for details.
Example:
X = sprand(10, 5, 0.2)
svds(X, nsv = 2)
This example computes the two largest singular values of the sparse matrix X
using svds
.
See Also
countfrom, cycle, done, drop, eachindex, enumerate, first, repeated, rest, start, svds, take, vecdot, vecnorm, zip,User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.