【问题标题】:Submatrix in scipyscipy中的子矩阵
【发布时间】:2014-01-11 10:08:18
【问题描述】:

我有一个稀疏矩阵 A 和一个列向量 a,

In[1]: A
Out[1]: <256x256 sparse matrix of type '<type 'numpy.float64'>'
with 512 stored elements (blocksize = 2x2) in Block Sparse Row format>

In[2]: len(a)
Out[2]: 70

我会写一个子矩阵。我为此编写的代码是:

Sub = A.tolil()[a,:][:,a]

解决问题所需的时间相当长。我想知道是否可以修改代码以加快处理速度。

【问题讨论】:

    标签: python scipy sparse-array submatrix


    【解决方案1】:

    csr 矩阵具有快速的行切片; csc 矩阵具有快速的列切片。大多数稀疏类型之间的转换都得到了很好的优化,所以我建议尝试使用适当的类型来执行要执行的切片类型。

    Sub = A.tocsr()[a,:].tocsc()[:,a]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多