带有额外列的近三对角矩阵乘法在SciPy中的稀疏矩阵表示形式

时间:2018-10-27 13:09:11

标签: python-3.x numpy scipy sparse-matrix matrix-multiplication

我有以下类型的20x20大小的矩阵。我想在MCMC(马尔可夫链蒙特卡洛)中加快矩阵乘法T。在每个模拟中,矩阵矩阵乘法发生近360次。除了几乎总是有值的最后一列(s20)之外,它几乎可以三重诊断。

         s1    s2    s3    s4    .......   s20
   -------------------------------------------   
   s1 |  p11   p12    0     0    ...0...  p1_20
   s2 |  p21   p22  p23     0    ...0...  p2_20
   s3 |  0     p32  p33    p34   ...0...  p3_30
   :  |
   s20|  0         ...0...                  1

我的问题是:

  1. 对于这种大小,我应该考虑使用稀疏矩阵而不是现有的密集矩阵吗?在给定的每个时间步都增加了转换为稀疏格式的步骤的情况下,稀疏表示是否会在节省内存的同时节省计算时间?

  2. 在这种特定情况下,应使用什么稀疏表示形式。它不是对角线,而是几乎

  3. 我应该使用哪种稀疏矩阵乘法算法?

  4. 在稀疏矩阵形式和乘法算法方面是否有任何以python3 SciPy为中心的建议?

0 个答案:

没有答案