Ale*_*des 5 python numpy matrix sparse-matrix
我正在起草/测试我为解决速度和效率的微分方程而设计的技术.
它需要存储,操纵,调整大小,并且(在某些时候)可能对非常大的稀疏矩阵进行对角化.我希望能够有由零和一些(比如<5)组成的行,并一次添加几个(按照使用的cpus数量的顺序).
我认为让gpu加速是有用的 - 所以任何关于采取优势的最佳方式的建议也会受到赞赏(比如pycuda,theano等)
您可以使用字典和元组来访问数据:
>>> size = (4,4)
>>> mat = {}
>>> mat[0,1] = 3
>>> mat[2,3] = 5
>>> for i in range(size[0]):
for j in range(size[1]):
print mat.get((i,j), 0) ,
print
0 3 0 0
0 0 0 0
0 0 0 5
0 0 0 0
Run Code Online (Sandbox Code Playgroud)
当然,您应该为此创建一个类并添加您需要的方法:
class Sparse(dict):
pass
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您还可以使用scipy libscipy.sparse中的