대칭 행렬(Symmetric Matrix)와 단위 행렬(Identity Matrix) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 단위 행렬 만들기

2024. 7. 20. 07:05·Machine Learning Math/Linear Algebra
반응형

대칭 행렬

대칭 행렬(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.]])
반응형
저작자표시 비영리 변경금지 (새창열림)

'Machine Learning Math > Linear Algebra' 카테고리의 다른 글

역행렬(Inverse Matrix) 이란 무엇인가? Numpy, TensorFlow, PyTorch 에서 계산 방법 알아보기  (0) 2024.07.22
가우스 조던 소거법(Gauss-Jordan Elimination) 알아보기  (0) 2024.07.21
Frobenius Norm 이란 무엇인가? Numpy, TensorFlow, PyTorch에서의 Frobenius Norm 계산법 알아보기  (0) 2024.07.19
Tensor 사칙 연산, 아다마르 곱셈(Hadamard Product) 한 번에 정리하기: Numpy, TensorFlow, PyTorch에서의 사용법 정리  (0) 2024.07.18
기저 벡터(Basis Vector)와 직교 벡터(Orthogonal Vector)  (1) 2024.07.17


'Machine Learning Math/Linear Algebra' 카테고리의 다른 글
  • 역행렬(Inverse Matrix) 이란 무엇인가? Numpy, TensorFlow, PyTorch 에서 계산 방법 알아보기
  • 가우스 조던 소거법(Gauss-Jordan Elimination) 알아보기
  • Frobenius Norm 이란 무엇인가? Numpy, TensorFlow, PyTorch에서의 Frobenius Norm 계산법 알아보기
  • Tensor 사칙 연산, 아다마르 곱셈(Hadamard Product) 한 번에 정리하기: Numpy, TensorFlow, PyTorch에서의 사용법 정리
심플코드
심플코드
프로그래밍을 어렵지 않게 풀어서 설명하는 기술 블로그
    반응형
  • 심플코드
    심플코드
    심플코드
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • 안드로이드를 위한 Coroutines (2)
      • Unit Testing (19)
      • GitHub Actions (0)
      • 공식 문서 번역 (35)
        • Coroutines 공식 문서 (35)
      • 알고리즘 (7)
        • Kotlin 자료구조 (0)
        • 알고리즘 (7)
        • Kotlin으로 구현하는 자료구조 (0)
      • 코딩 테스트 (0)
      • Deep Learning (0)
      • Machine Learning Math (17)
        • Linear Algebra (17)
      • ML (0)
      • Docker (15)
      • Kubernetes (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 코틀린 코루틴의 정석 책 출간 소식
  • 인기 글

  • 태그

    Coroutines
    Machine Learning
    Coroutines Channel
    Coroutines Context
    unit testing
    코루틴 채널
    coroutine
    Kotlin
    코루틴 Flow
    pytorch
    mockito
    TensorFlow
    Coroutines Flow
    컨테이너
    Docker
    코루틴
    도커
    numpy
    unit test
    junit
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
심플코드
대칭 행렬(Symmetric Matrix)와 단위 행렬(Identity Matrix) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 단위 행렬 만들기
상단으로

티스토리툴바