RSpectra
RSpectra copied to clipboard
svds_real_gen does not handle function interface in some cases
svds_real_gen fall-backs to full svd if all singular values are requested:
# If all singular values are requested, call svd() instead,
# and give a warning
if (k == wd)
{
warning("all singular values are requested, svd() is used instead")
return(c(svd(A, nu = nu, nv = nv),
nconv = wd, niter = 0))
}
However, if mattype equals to "function", then A is a closure and this closure is passed directly to svd causing errors.