[파이썬][Scipy] solve, eig, svd, lu, qr 예제

Scipy의 선형 대수 함수인 solve, eig, svd, lu, 그리고 qr의 예제를 제공하겠습니다.

solve 함수 예제:

solve 함수는 선형 방정식의 해를 계산합니다. 아래 예제에서는 다음과 같은 선형 방정식을 푸는 방법을 보여줍니다:

2x + y = 5
x - 3y = 7
mport numpy as np
from scipy.linalg import solve

# 계수 행렬 A와 상수 벡터 b 정의
A = np.array([[2, 1], [1, -3]])
b = np.array([5, 7])

# 선형 방정식 풀기
solution = solve(A, b)

print("해:", solution)

eig 함수 예제:

eig 함수는 정방 행렬의 고윳값과 고유벡터를 계산합니다.

mport numpy as np
from scipy.linalg import eig

# 정방 행렬 생성
A = np.array([[2, -1], [-1, 3]])

# 고윳값과 고유벡터 계산
eigenvalues, eigenvectors = eig(A)

print("고윳값:", eigenvalues)
print("고유벡터:\n", eigenvectors)

svd 함수 예제:

svd 함수는 특이값 분해(SVD)를 수행합니다.

mport numpy as np
from scipy.linalg import svd

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

# SVD 수행
U, S, V = svd(A)

print("U 행렬:\n", U)
print("S 행렬:\n", S)
print("V 행렬:\n", V)

lu 함수 예제:

lu 함수는 LU 분해를 수행합니다.

mport numpy as np
from scipy.linalg import lu

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

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

print("P 행렬:\n", P)
print("L 행렬:\n", L)
print("U 행렬:\n", U)

qr 함수 예제:

qr 함수는 QR 분해를 수행합니다.

mport numpy as np
from scipy.linalg import qr

# 행렬 생성
A = np.array([[1, -1, 4], [1, 4, -1], [4, 1, -1]])

# QR 분해 수행
Q, R = qr(A)

print("Q 행렬:\n", Q)
print("R 행렬:\n", R)

위의 예제들은 Scipy의 선형 대수 함수를 사용하여 선형 대수 작업을 수행하는 방법을 보여줍니다.