항등 행렬 (Identity Matrix) 과 대각행렬(Diagonal matix)
항등 행렬 (Identity Matrix)
항등 행렬은 정방 행렬 중 대각 원소가 모두 1이고 그 외 모든 원소들은 0인 행렬이며 In으로 나타냅니다. n은 행 또는 열의 수를 나타냅니다. 항등 행렬과의 행렬 곱은 그 행렬 자신이 됩니다(식 1).
AI = A | (식 1) |
I: 항등행렬 |
np.eye(n)
함수로 n×n 차원의 항등행렬을 생성할 수 있습니다.
np.random.seed(1) A=np.random.randint(1,10, (3,3)) print(A)
[[6 9 6] [1 1 2] [8 7 3]]
I=np.eye(3) print(I)
[[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]
print(A@I)
[[6. 9. 6.] [1. 1. 2.] [8. 7. 3.]]
대각행렬(Diagonal matix)
식 2와 같이 정방 행렬의 주 대각 요소들을 제외한 다른 요소들이 0인 행렬을 대각 행렬이라 합니다. 주 대각 요소를 포함하여 모든 요소가 0인 영행렬, 그리고 항등 행렬은 대표적인 대각 행렬입니다.
$$\begin{bmatrix}{\color{red}a_{11}} & 0 & 0\\ 0 & {\color{red}a_{22}} & 0\\0 & 0 & {\color{red}a_{33}}\end{bmatrix}$$ | (식 2) |
대각 행렬은 np.diag() 함수를 사용하여 생성할 수 있습니다.
print(np.diag([1,2,3]))
[[1 0 0] [0 2 0] [0 0 3]]
댓글
댓글 쓰기