在一個scipy程序中,我創建了一個dia_matrix(稀疏矩陣類型)和5個對角線。中心對角線1個& -1對角線和4個& -4對角線(通常>> 4,但原理是相同的),即我有以下形式的典型PDE系統矩陣:Scipy sparse dia_matrix solver
[ a0 b0 0 0 0 d0 0 0 0 ... 0.0 ]
[ c1 a1 b1 0 0 0 d1 0 0 ... 0.0 ]
[ 0 c2 a2 b2 0 0 0 d2 0 ... 0.0 ]
[ 0 0 c3 a3 b3 0 0 0 d3 ... 0.0 ]
[ 0 0 0 c4 a4 b4 0 0 0 ... 0.0 ]
[ e5 0 0 0 c5 a5 b5 0 0 ... 0.0 ]
[ : : : : : : : : : : : ]
[ 0 0 0 0 0 0 0 0 0 ... aN ]
當我使用scipy.linalg.dsolve.spsolve()來解決矩陣方程它的工作原理,但我得到以下報告給我
>>> SparseEfficiencyWarning: spsolve requires CSC or CSR matrix format
warn('spsolve requires CSC or CSR matrix format', SparseEfficiencyWarning)
如果SPSOLVE()不是有效的解決稀疏矩陣型dia_matrix的那麼我應該使用什麼?
對不起,自從我發佈此消息以來,我一直在參加會議。 – dmon
感謝您的回答,我同意將其轉換爲csr/csc矩陣將刪除警告,但這不是我的問題。我創建了一個dia_matrix,因爲這是最能描述我的問題的矩陣。將其轉換爲更一般的稀疏矩陣並使用更一般的稀疏矩陣求解器似乎是浪費。由於dia_matrix是一個標準的scipy矩陣類型,我會假設有一個專門用於這種矩陣的線性求解器? – dmon