Python/numpy
파이썬 numpy.linalg.eig 함수 활용하기
PySun
2024. 10. 4. 22:07
반응형
NumPy linalg.eig 함수: 고유값과 고유벡터 계산하기
파이썬의 NumPy 라이브러리에서 제공하는 numpy.linalg.eig 함수는 행렬의 고유값과 고유벡터를 계산하는 데 유용합니다. 이 포스팅에서는 numpy.linalg.eig 함수의 작동 원리와 함께 실용적인 예제를 소개합니다.
numpy.linalg.eig 함수 소개
numpy.linalg.eig 함수는 주어진 정사각형 행렬의 고유값(eigenvalues)과 고유벡터(eigenvectors)를 계산합니다. 이는 데이터 분석, 시스템 동역학, 기계 학습 등 여러 분야에서 중요한 역할을 합니다.
함수 시그니처
numpy.linalg.eig(a)
매개변수:
- a: 고유값과 고유벡터를 계산할 정사각형 배열입니다.
반환 값:
- 고유값과 고유벡터를 포함한 두 개의 배열을 반환합니다. 첫 번째 배열은 고유값, 두 번째 배열은 고유벡터를 나타냅니다.
사용 예제
기본 예제
이제 numpy.linalg.eig 함수를 사용하여 간단한 행렬의 고유값과 고유벡터를 계산하는 기본 예제를 살펴보겠습니다.
import numpy as np
# 정사각형 행렬 생성
A = np.array([[4, -2],
[1, 1]])
# 고유값과 고유벡터 계산
eigenvalues, eigenvectors = np.linalg.eig(A)
print("고유값:", eigenvalues)
print("고유벡터:\n", eigenvectors)
# 출력:
# 고유값: [3. 2.]
# 고유벡터:
# [[ 0.89442719 -0.70710678]
# [ 0.4472136 0.70710678]]
복잡한 행렬 예제
다양한 고유값 문제를 다루기 위해 복잡한 행렬의 고유값과 고유벡터를 계산해 보겠습니다.
import numpy as np
# 더 복잡한 정사각형 행렬 생성
B = np.array([[1, 2],
[3, 4]])
# 고유값과 고유벡터 계산
eigenvalues_B, eigenvectors_B = np.linalg.eig(B)
print("B의 고유값:", eigenvalues_B)
print("B의 고유벡터:\n", eigenvectors_B)
# 출력:
# B의 고유값: [-0.37228132 5.37228132]
# B의 고유벡터:
# [[-0.82456432 -0.41597356]
# [ 0.56576746 -0.90937666]]
결론
numpy.linalg.eig 함수를 사용하면 행렬의 고유값과 고유벡터를 간편하게 계산할 수 있습니다. 이는 많은 수학적 및 물리적 문제를 해결하는 데 필수적인 도구로 자리 잡고 있습니다. 다양한 분야에서 이 기능을 활용하여 데이터 분석과 시스템 동역학 문제를 해결해 보세요!
- numpy.linalg.eig 함수를 통해 고유값 문제를 손쉽게 해결해 보세요!
- 지금 바로 행렬의 고유값과 고유벡터를 계산하여 데이터 분석의 새로운 세계를 탐험해 보세요!
반응형