scipy.linalg.solve_bandedを使ってみる
なにこの関数?solve
とは何が違うの?
三重対角行列を解く場合、solve
より高速とのこと。
使用例
とりあえず公式リファレンス丸コピ。
from scipy.linalg import solve_banded import numpy as np ab = np.array([[0, 0, -1, -1, -1], [0, 2, 2, 2, 2], [5, 4, 3, 2, 1], [1, 1, 1, 1, 0]]) b = np.array([0, 1, 2, 2, 3]) solve_banded((1, 2), ab, b) #array([-2.37288136, 3.93220339, -4. , 4.3559322 , -1.3559322 ])
宿題
abってなに?