freedom-_-qの勉強履歴

メモ書きが主になるかと思います。勉強強制のために一日一記事目指してます。頭良くないので間違いが多々あるかと思います。

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ってなに?