У меня есть трехдиагональная матрица A, которую я хочу сделать разреженной матрицей, а затем решить линейную систему Ax = b, используя scipy, как это сделать.
Я попробовал следующий код, который не работает.
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)