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,Amust supportsize(A),eltype(A),A * vector, andA' * vector.nsv: Number of singular values.ritzvec: Whether to return the left and right singular vectorsleft_svandright_sv. Default istrue. If set tofalse, the singular vectors are omitted from the output.tol: Tolerance parameter. Seeeigsdocumentation for details.maxiter: Maximum number of iterations. Seeeigsdocumentation 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.