[파이썬][Scipy] LU 분해 (LU Decomposition) 예제

Scipy를 사용하여 행렬을 LU 분해하는 방법을 아래 예제를 통해 설명하겠습니다.

mport numpy as np
from scipy.linalg import lu

# 행렬 생성
A = np.array([[4, 7, 2],
              [2, 6, 1],
              [3, 9, 5]])

# LU 분해
P, L, U = lu(A)

print("원래 행렬 A:")
print(A)
print("\nP 행렬 (Pivot 행렬):")
print(P)
print("\nL 행렬 (하삼각 행렬):")
print(L)
print("\nU 행렬 (상삼각 행렬):")
print(U)

위의 예제에서는 scipy.linalg 모듈의 lu 함수를 사용하여 행렬 A를 LU 분해하는 방법을 보여주고 있습니다. 결과인 P, L, U는 각각 피봇 행렬, 하삼각 행렬, 상삼각 행렬을 나타냅니다. LU 분해는 선형 시스템을 효율적으로 해결하는데 사용됩니다.