【发布时间】:2019-11-03 19:04:48
【问题描述】:
我正在尝试对维度为 1401375、51 的数据集评估奇异值分解。当我尝试使用 scipy.linalg.svd 时,它给了我正确数量的奇异值 (51),并且它们都是正确的(我检查了LAPACK)。但是,当我尝试使用 scipy.sparse.linalg.svds 时会出现错误: ValueError: k 必须在 1 和 min(A.shape) 之间,k=51
_, sigma, _ = sp.sparse.linalg.svds(A_s, k=51, return_singular_vectors='vh',which='LM')
_, sigma, _ = sp.linalg.svd(A_D, full_matrices=False,
overwrite_a=True, check_finite=False,
compute_uv=True)
我希望稀疏版本返回 51 个奇异值,但它失败了。当我将 k 的值降低到 50 时,它会成功执行。
【问题讨论】:
标签: python scipy sparse-matrix svd