Numpy 稀疏矩阵可视化
我在做有限元分析。我只是想计算一个简单的矩阵乘法,看看数值结果。如何查看稀疏矩阵的元素 我使用的代码是:Numpy 稀疏矩阵可视化,numpy,scipy,sparse-matrix,Numpy,Scipy,Sparse Matrix,我在做有限元分析。我只是想计算一个简单的矩阵乘法,看看数值结果。如何查看稀疏矩阵的元素 我使用的代码是: U_h= 0.5 * np.dot(np.dot(U[np.newaxis], K), U[np.newaxis].T) 因为U是1x3矩阵,K是3x3矩阵,U.T是3x1矩阵,所以我希望是一个包含单个数字的1x1矩阵。但结果是"[[ 您得到的是矩阵的repr格式: In [261]: M
U_h= 0.5 * np.dot(np.dot(U[np.newaxis], K), U[np.newaxis].T)
因为U是1x3矩阵,K是3x3矩阵,U.T是3x1矩阵,所以我希望是一个包含单个数字的1x1矩阵。但结果是"[[
您得到的是矩阵的repr
格式:
In [261]: M
Out[261]:
<5x5 sparse matrix of type '<class 'numpy.float64'>'
with 5 stored elements in Compressed Sparse Row format>
In [262]: repr(M)
Out[262]: "<5x5 sparse matrix of type '<class 'numpy.float64'>'\n\twith 5 stored elements in Compressed Sparse Row format>"
如果矩阵不大,则将其显示为密集数组很好。M.toarray()
就是这样做的,简而言之:
In [265]: M.A
Out[265]:
array([[0. , 0. , 0. , 0. , 0. ],
[0.71527491, 0.42980962, 0. , 0.81483273, 0. ],
[0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ],
[0.23366934, 0. , 0. , 0.61174992, 0. ]])
- 使用plt.spy()进行图形检查
- 参见应用示例
- 请参阅参考手册
In [263]: print(M)
(1, 0) 0.7152749140462651
(1, 1) 0.4298096228326874
(1, 3) 0.8148327301300698
(4, 0) 0.23366934073409018
(4, 3) 0.6117499168861333
In [264]: str(M)
Out[264]: ' (1, 0)\t0.7152749140462651\n (1, 1)\t0.4298096228326874\n (1, 3)\t0.8148327301300698\n (4, 0)\t0.23366934073409018\n (4, 3)\t0.6117499168861333'
In [265]: M.A
Out[265]:
array([[0. , 0. , 0. , 0. , 0. ],
[0.71527491, 0.42980962, 0. , 0.81483273, 0. ],
[0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. ],
[0.23366934, 0. , 0. , 0.61174992, 0. ]])