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()는 정사각 또는 직사각 단위 행렬을 생성하며, 대각선의 위치를 조정할 수 있습니다.