대칭 행렬
대칭 행렬(Symmetric Matrix)은 전치 행렬((Tranposed Matrix)과 원래 행렬이 같은 행렬을 의미한다. 즉, 행렬 $X$가 대칭 행렬이라면 $X = X^T$가 성립한다. 행렬이 Transpose 되었을 때 동일하기 때문에, $x_{ij}$와 $x_{ji}$의 원소가 같다.
대칭 행렬은 다음과 같은 모양을 갖는다.
$X = \begin{bmatrix}
x_{11} & x_{12} & x_{13} \\
x_{12} & x_{22} & x_{23} \\
x_{13} & x_{23} & x_{33}
\end{bmatrix}$
Identity Matrix (단위 행렬)
단위 행렬은 대각선 원소가 모두 1이고, 나머지 원소는 모두 0인 정사각 행렬이다. 단위 행렬은 보통 $I$로 표기되며, 다른 행렬 $X$와 곱해지면, $X$를 그대로 반환한다. 즉, $IX = XI = X$가 된다.
단위 행렬은 다음과 같은 모양을 갖는다.
$I_n = \begin{bmatrix}
1 & 0 & \cdots & 0 \\
0 & 1 & \cdots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & 1
\end{bmatrix}$
Numpy, TensorFlow, Pytorch 사용해 단위 행렬 만들기
Numpy, TensorFlow, Pytorch 모두 eye 함수를 통해 단위 행렬을 만들 수 있도록 한다.
Numpy
import numpy as np
# Numpy 단위 행렬 생성
I = np.eye(3)
print("Identity Matrix I:\n", I)
Identity Matrix I:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
TensorFlow
import tensorflow as tf
# TensorFlow 단위 행렬 생성
I = tf.eye(3)
print("Identity Matrix I:\n", I)
Identity Matrix I:
tf.Tensor(
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]], shape=(3, 3), dtype=float32)
PyTorch
import torch
# Pytorch 단위 행렬 생성
I = torch.eye(3)
print("Identity Matrix I:\n", I)
Identity Matrix I:
tensor([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
반응형