[파이썬][Scipy] Linear Algebra (선형 대수) 객체 및 함수 예제
scipy.linalg
모듈은 선형 대수 계산을 위한 함수와 객체를 제공합니다. 아래 예제에서는 scipy.linalg
모듈을 사용하여 선형 대수 계산을 수행하는 방법을 보여줍니다.
먼저, 필요한 모듈을 가져옵니다:
mport numpy as np
from scipy import linalg
예제 1: 행렬 곱셈 및 역행렬
두 개의 행렬을 곱하고 역행렬을 계산하는 예제입니다.
# 두 개의 행렬 정의
A = np.array([[3, 2], [1, 4]])
B = np.array([[1, 5], [2, 0]])
# 행렬 곱셈
C = np.dot(A, B)
# 역행렬 계산
A_inv = linalg.inv(A)
print("A * B:")
print(C)
print("\nInverse of A:")
print(A_inv)
예제 2: 선형 시스템 해결
선형 방정식 시스템을 해결하는 예제입니다.
# 선형 방정식 시스템 정의: Ax = b
A = np.array([[2, 1], [1, 3]])
b = np.array([4, 5])
# Ax = b를 해결하여 x 계산
x = linalg.solve(A, b)
print("Solution x:")
print(x)
예제 3: 특이값 분해 (SVD)
특이값 분해를 사용하여 행렬을 분해하는 예제입니다.
# 행렬 생성
X = np.array([[1, 2], [3, 4], [5, 6]])
# 특이값 분해 수행
U, S, VT = linalg.svd(X)
print("U:")
print(U)
print("\nS (Singular Values):")
print(S)
print("\nVT (Transpose of V):")
print(VT)
예제 4: 고윳값과 고유벡터
고윳값과 고유벡터를 계산하는 예제입니다.
# 행렬 생성
A = np.array([[4, 2], [3, 1]])
# 고윳값과 고유벡터 계산
eigenvalues, eigenvectors = linalg.eig(A)
print("Eigenvalues:")
print(eigenvalues)
print("\nEigenvectors:")
print(eigenvectors)
위의 예제에서는 행렬 곱셈, 역행렬 계산, 선형 시스템 해결, 특이값 분해, 고윳값과 고유벡터 계산 등 선형 대수 계산을 수행하는 방법을 보여줍니다. scipy.linalg
모듈은 선형 대수 계산에 유용한 다양한 함수와 객체를 제공합니다.