我有一个三对角矩阵,我想做一个稀疏矩阵,然后用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)
这个问题是因为你的矩阵不是三角形而是三对角的。因此,您必须使用spsolve函数而不是spsolve\u三角函数。你知道吗
相关问题 更多 >
编程相关推荐