scipy - 为什么 scipy.sparse.linalg.svds 返回 ValueError?

标签 scipy sparse-matrix svd

有人知道如何使用scipy.sparse包来计算稀疏矩阵上的SVD吗?

我知道我需要使用scipy.sparse.linalg.svds()

但我做了如下:

from scipy.sparse import *
csr = csr_matrix(matrix) 
U, s, V = linalg.svds( csr )

我遇到了这个异常(exception):

ValueError: matrix type must be 'f', 'd', 'F', or 'D'

最佳答案

将矩阵类型从整数更改为 double 。如果使用常量进行初始化,请将其中一个元素从整数格式 (8) 更改为 double 格式 (8.0)。

关于scipy - 为什么 scipy.sparse.linalg.svds 返回 ValueError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8743756/

相关文章:

matlab - 使用 GPU 计算稀疏数据

python - sklearn 截断 svd 不适用于复杂矩阵

python - 从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime

numpy - 如何在 Ubuntu 上安装最新版本的 NumPy/Scipy/Matplotlib/IPython/Pandas

rsync --sparse 确实传输整个数据

python - Scipy:具有稀疏矩阵的线性规划

machine-learning - 使用机器学习算法仅根据内容而不是用户历史记录来查找类似产品的正确方法

matlab - 我的例子表明 SVD 在数值上不如 QR 分解稳定

python - 使用 'fixed points' 在 Python 中插入数据

python - 读取所有子目录中的wav文件