python - scipy.sparse 矩阵的逐元素幂

标签 python numpy scipy sparse-matrix exponentiation

我如何提高 scipy.sparse 矩阵的幂,逐元素? numpy.power 应该,根据 its manual ,这样做,但它在稀疏矩阵上失败了:

>>> X
<1353x32100 sparse matrix of type '<type 'numpy.float64'>'
        with 144875 stored elements in Compressed Sparse Row format>

>>> np.power(X, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../scipy/sparse/base.py", line 347, in __pow__
    raise TypeError('matrix is not square')
TypeError: matrix is not square

X**2 也有同样的问题。转换为密集数组可行,但会浪费宝贵的时间。

我在np.multiply上遇到了同样的问题,我用稀疏矩阵的multiply方法解决了,但是好像没有pow 方法。

最佳答案

我刚遇到同样的问题,发现稀疏矩阵现在支持逐元素幂。对于上面的情况,应该是:

 X.power(2)

关于python - scipy.sparse 矩阵的逐元素幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431557/

相关文章:

python - 如何在安装了 Visual Studio 2010 的情况下使用 Visual Studio 2008 进行编译?

python - 在文本小部件中重新绑定(bind) "select all"

Python 3 string.join() 等效?

python - 散列 Numpy 对象以进行缓存的快速方法

python - 如何更新数据框给出元组列表和生成器

Python如何对二维数据的大点云进行插值

python - 如何在不对元素位置进行硬编码的情况下嵌套循环

python - 随机矩阵,各列值的总和不大于 1

python - 从 fmin scipy 优化中解压当前函数值和数组的值

python - scipy.ndimage.interpolate 卷积和关联之间的区别