본문 바로가기
Python/numpy

파이썬 numpy.linalg.eig 함수 활용하기

by PySun 2024. 6. 14.
반응형

Numpy Linalg Eig 함수 소개:

Numpy의 `numpy.linalg.eig` 함수는 주어진 정사각 행렬의 고윳값(eigenvalue)과 고유벡터(eigenvector)를 계산하는 함수입니다. 고윳값과 고유벡터는 선형 변환에서 특정 방향으로 변하지 않는 벡터와 그에 대응하는 스케일링 요인을 나타내며, 선형 변환의 특성을 설명하는 데 중요합니다. 이 함수는 주어진 행렬의 고윳값과 고유벡터를 계산하여 반환합니다.

기본 사용법:

`numpy.linalg.eig` 함수의 기본 사용법은 다음과 같습니다.

import numpy as np

# 정사각 행렬의 고윳값과 고유벡터 계산
matrix = np.array([[1, 2],
                   [2, 1]])
eigenvalues, eigenvectors = np.linalg.eig(matrix)
print("고윳값:", eigenvalues)
print("고유벡터:", eigenvectors)

위 예시 코드에서 `np.linalg.eig(matrix)`는 주어진 정사각 행렬의 고윳값과 고유벡터를 계산합니다.

예시 코드:

  • 다른 크기의 행렬의 고윳값과 고유벡터 계산:
# 다른 크기의 행렬의 고윳값과 고유벡터 계산
matrix_2x2 = np.array([[1, 2],
                       [3, 4]])
matrix_3x3 = np.array([[1, 2, 3],
                       [4, 5, 6],
                       [7, 8, 9]])
eigenvalues_2x2, eigenvectors_2x2 = np.linalg.eig(matrix_2x2)
eigenvalues_3x3, eigenvectors_3x3 = np.linalg.eig(matrix_3x3)
print("2x2 행렬의 고윳값:", eigenvalues_2x2)
print("2x2 행렬의 고유벡터:", eigenvectors_2x2)
print("3x3 행렬의 고윳값:", eigenvalues_3x3)
print("3x3 행렬의 고유벡터:", eigenvectors_3x3)

결론:

`numpy.linalg.eig` 함수는 주어진 정사각 행렬의 고윳값과 고유벡터를 계산하여 반환하는 유용한 함수입니다. 고윳값과 고유벡터는 선형 변환의 특성을 설명하고 데이터의 차원 축소, 주성분 분석 등 다양한 분야에서 활용됩니다. 예시 코드를 통해 `numpy.linalg.eig` 함수의 활용법을 익혀보세요.

반응형