[파이썬][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의 선형 대수 함수를 사용하여 선형 대수 작업을 수행하는 방법을 보여줍니다.