Разреженная матричная визуализация - PullRequest
0 голосов
/ 02 мая 2019

Я работаю над анализом FEM.Я просто хотел оценить простое умножение матриц и увидеть числовой результат.Как я могу увидеть элементы разреженной матрицы?

код, который я использовал для:в этом.Однако в результате получается «[[<3x3 разреженная матрица типа 'класс' numpy.float64 'с 3 сохраненными элементами в формате Compressed Sparse Row>]]"

Ответы [ 2 ]

0 голосов
/ 03 мая 2019
  • для графической проверки используйте plt.spy ()
  • см. Пример применения здесь
  • см. Справочное руководство здесь
0 голосов
/ 02 мая 2019
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() делает это, или для краткости:

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.        ]])
...