NumPy 사용하기 : identity(), eye() 함수
2018. 4. 14. 17:26ㆍ개발노트
NumPy의 identity()와 eye() 함수는 모두 단위 행렬이나 대각 행렬을 생성하는 데 사용됩니다.
numpy.identity()
identity() 함수는 주어진 크기의 단위 행렬을 생성합니다. 단위 행렬은 주대각선이 모두 1이고 나머지 요소가 0인 정사각 행렬입니다.
import numpy as np
# 3x3 단위 행렬 생성
I = np.identity(3)
print(I)
# 출력
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
numpy.eye()
eye() 함수는 주어진 크기의 단위 행렬 또는 대각 행렬을 생성합니다. 대각선의 위치를 조정할 수 있습니다.
import numpy as np
# 3x3 주대각선 단위 행렬 생성
E1 = np.eye(3)
print(E1)
# 3x4 행렬, 주대각선 단위 행렬 생성
E2 = np.eye(3, 4)
print(E2)
# 3x3 행렬, 상위 대각선에 1을 배치
E3 = np.eye(3, k=1)
print(E3)
# 3x3 행렬, 하위 대각선에 1을 배치
E4 = np.eye(3, k=-1)
print(E4)
# 출력
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]]
[[0. 1. 0.]
[0. 0. 1.]
[0. 0. 0.]]
[[0. 0. 0.]
[1. 0. 0.]
[0. 1. 0.]]
요약
- numpy.identity()는 정사각 단위 행렬을 생성합니다.
- numpy.eye()는 정사각 또는 직사각 단위 행렬을 생성하며, 대각선의 위치를 조정할 수 있습니다.