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

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

mport numpy as np
from scipy.linalg import qr

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

# QR 분해
Q, R = qr(A, mode='full')

print("원래 행렬 A:")
print(A)
print("\nQ 행렬 (직교 행렬):")
print(Q)
print("\nR 행렬 (상삼각 행렬):")
print(R)

위의 예제에서는 scipy.linalg 모듈의 qr 함수를 사용하여 행렬 A를 QR 분해하는 방법을 보여주고 있습니다. 결과인 QR은 각각 직교 행렬과 상삼각 행렬을 나타냅니다. QR 분해는 선형 회귀, 최소 자승 문제 등 다양한 수치 계산 문제에서 사용됩니다.