DashSVD.check_mkl
— MethodCheck if MKL is installed correctly.
DashSVD.dash_svd
— Functiondash_svd(A, k[, p_max, s, tol])
A Julia implementation of the dynamic shifts-based randomized SVD (dashSVD) with PVE accuracy control for a matrix A
of rank k
.
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 orderV
: the matrix of size (n, k) containing the firstk
right singular vectors ofA
Examples
julia> A = randn(10, 6)
julia> U, S, V = dash_svd(A, 2)
DashSVD.eig_svd
— Method[U, S, V] = eig_svd(A) for m >= n, using eigen(A'*A)