행렬방정식 - 밴드행렬 with Scipy

Scipy에서의 밴드행렬 입력

bandwidth » n (행렬사이즈) 일 때 유용함
column index를 유지하면서 밴드만 가져와 가로 형태로 쌓아줌

밴드행렬 Solver

\(A\mathbf{x} = b\) 일 때, A는 밴드행렬이 유리
linalg.solve_banded((lbw 폭, ubw 폭), band_a, b)
기본 알고리즘

  • LU Decomposition : - gbsv
  • Tridiagonal Solver : lbw, ubw = 1 - gtsv

밴드행렬 Solver의 Solution 확인

Band_A @ x != b → A @ x = b
밴드행렬을 다시 원행렬로 돌리고 Matrix-vector multiplication 은 본래의 목적에서 벗어남 (메모리)

TBC