我正在从事有限元分析。我只想评估一个简单的矩阵乘法并查看数值结果。如何查看稀疏矩阵的元素?
我使用的代码是:
U_h= 0.5 * np.dot(np.dot(U[np.newaxis], K), U[np.newaxis].T)
由于U是一个1x3矩阵,K是3x3矩阵,而U.T是3x1矩阵,我希望其中有一个数字的1x1矩阵。但是,结果是“ [[<< 3x3类'numpy.float64'类型的稀疏矩阵,其中有3个以压缩稀疏行格式存储的元素>]]”
答案 0 :(得分:0)
conditions_a = [1,2,3]
conditions_b_given_a = {1 => [11,12,13],
2 => [21,22,23],
3 => [31,32,33]}
Model.where(column_a: conditions_a,
column_b: conditions_b_given_a[:column_a] )
.order(:something)
.limit(100)
您得到的是矩阵的In [260]: M = sparse.random(5,5,.2, format='csr')
格式:
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>"
格式打印为:
str
如果矩阵不大,则将其显示为密集数组是不错的选择。 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'
就是这样做,或者简而言之:
M.toarray()
答案 1 :(得分:0)