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/2tol: the error tolerance for PVE, default = 1e-2
Returns:
U: the matrix of size (m, k) containing the firstkleft singular vectors ofAS: the vector of size (k, ) containing theklargest singular values ofAin ascending order.V: the matrix of size (n, k) containing the firstkright singular vectors ofA
julia> using DashSVD
julia> A = randn(10, 6)
julia> U, S, V = dash_svd(A, 2)