线性代数与稀疏三芳基马利克斯

时间:2019-05-17 09:17:09

标签: python optimization scipy sparse-matrix linear-algebra

我有一个三对角矩阵A,我想制作一个稀疏矩阵,然后使用scipy求解线性系统Ax = b,这是怎么做到的。

我尝试了以下代码,这些代码可以正常工作。


from scipy.sparse import dia_matrix
from scipy.sparse.linalg import spsolve_triangular

N = 10


diag = np.zeros(N) + 2
udiag = np.zeros(N) + 1
A = dia_matrix(([diag, udiag, udiag], [0, 1, -1]), shape=(N, N))


b = np.ones(N)

print(A.todense())
print(b)


x = spsolve_triangular(A, b)

print(x)

1 个答案:

答案 0 :(得分:2)

问题来自您的矩阵不是三角形而是三对角的事实。因此,您必须使用spsolve函数而不是spsolve_triangular函数。