在一个 scipy 程序中,我正在创建一个具有 5 个对角线的 dia_matrix (稀疏矩阵类型)。中心对角线 +1 & -1 对角线和 +4 & -4 对角线(通常是 >> 4,但原理相同),即我有一个典型的 PDE 系统矩阵,形式为:
[ 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's 无效,那么我应该使用什么?