This work is led by the THU-numbda group, and based on the dashSVD project.
A Julia implementation of the dynamic shifts-based randomized SVD (dashSVD) with PVE accuracy control.
Parameters:
A
: the input matrix of size (m, n)k
: the target rank of truncated SVD, k ≤ min(m,n)p_max
: the upper bound of power parameterp
, default = 1000s
: the oversampling parameter, min(m,n) ≥ k + s, default =k/2
tol
: the error tolerance for PVE, default = 1e-2
Returns:
U
: the matrix of size (m, k) containing the firstk
left singular vectors ofA
S
: the vector of size (k, ) containing thek
largest singular values ofA
in ascending order.V
: the matrix of size (n, k) containing the firstk
right singular vectors ofA
julia> using DashSVD
julia> A = randn(10, 6)
julia> U, S, V = dash_svd(A, 2)