编辑:参见,在那里我学会了如何使用Numba并行化Python中的稀疏矩阵-向量乘法,并且能够与Matlab结合。
原题:
我观察到,在Matlab中,稀疏矩阵向量乘法比Python (使用枕稀疏矩阵)快4到5倍。下面是Matlab命令行的一些细节:
>> whos A
Name Size Bytes Class Attributes
A 47166x113954 610732376 double sparse
>> whos ATran
我正在尝试获得一个scipy稀疏矩阵的条件数。到目前为止,我设法做到这一点的方法是将矩阵转换为密集的,然后获得其特征值:
$ python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> f
我准备了一个随机数矩阵,计算它的逆矩阵,并将其与原始矩阵相乘。从理论上讲,这给出了单位矩阵。我怎么能让numpy为我做这些呢?
import numpy
A = numpy.zeros((100,100))
E = numpy.zeros((100,100))
size = 100
for i in range(size):
for j in range(size):
A[i][j]+=numpy.random.randint(10)
if i == j:
E[i][j]+=1
A_inv = numpy.linalg.l