我正在尝试对尺寸为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时,它成功执行。