행렬 연산 (Matrix Operations)

2021. 6. 18. 13:10·[Mathematics] - Linear Algebra

이번 포스트에서는 행렬의 간단한 표기법들과 종류, 연산들에 대해 알아볼 예정이다.

 

이론

행렬의 표기법

m x n 행렬은 다음과 같이 표기한다.

 

 

그리고 행렬의 i번째 행의 j번째 열의 요소는 다음과 같이 표기한다.

 

 

행렬의 종류

- 전치 행렬 (Transpose Matrix)

전치행렬은 특정행렬의 행과 열을 바꾼 행렬이다. i번째 행의 j번째 열의 요소는 j번째 행의 i번째 열의 요소와 자리가 바뀐다.

 

위와 같은 행렬이 존재한다고 가정하자. A의 전치행렬은 다음과 같다.

 

 

- 영 행렬 (Zero Matrix)

모든 요소가 0으로 이루어진 행렬을 의미한다.

영 행렬은 행렬 덧셈 연산에 대한 항등원 역할을 한다.

 

 

- 정방 행렬 (Square Matrix)

행과 열의 갯수가 동일한 행렬을 의미한다.

 

 

- 항등 행렬 (Identity Matrix)

주 대각선의 모든 요소가 1, 그 밖의 요소는 전부 0인 n차 정방 행렬을 의미한다.

항등 행렬은 행렬 곱셈 연산에 대한 항등원 역할을 한다.

 

 

 

행렬의 연산

- 행렬의 곱

행렬 C의 각 요소는 행렬 A의 i번째 행 벡터와 행렬 B의 j번째 열 벡터의 내적(inner product)이다. 행렬의 곱은 병렬처리로 가속화할 수 있다.

 

 

코드

import numpy as np

A = np.array([[1, 3, 5],
              [2, 4, 6]])

print(A.shape)  # (2, 3)

# 전치 행렬 (Transpose)
t = A.T
print(t, t.shape)

>>
[[1 2]
 [3 4]
 [5 6]] (3, 2)

# 영 행렬 (Zero)
z = np.zeros((3, 3))
print(z)

>>
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

# 항등 행렬 (Identity)
i = np.eye(3)
print(i)

>>
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

# 행렬의 곱셈
print(A @ t)
print(np.matmul(A, t))

>>
[[35 44]
 [44 56]]
[[35 44]
 [44 56]]

'[Mathematics] - Linear Algebra' 카테고리의 다른 글

열 공간 (Column Space)  (0) 2021.06.20
선형 조합 (Linear Combination)  (0) 2021.06.18
LU 분해 (LU Decomposition)  (0) 2021.06.13
가우스 소거법 (Gauss Elimination)  (0) 2021.06.10
선형 시스템 (Linear System)  (0) 2021.06.10
'[Mathematics] - Linear Algebra' 카테고리의 다른 글
  • 열 공간 (Column Space)
  • 선형 조합 (Linear Combination)
  • LU 분해 (LU Decomposition)
  • 가우스 소거법 (Gauss Elimination)
Bebsae
Bebsae
  • Bebsae
    뱁새zip
    Bebsae
  • 전체
    오늘
    어제
    • 분류 전체보기 (108)
      • [DevOps] - Kubernetes (5)
      • [DevOps] - AWS (1)
      • [AI] - Machine Learning (19)
      • [AI] - Neural Network (7)
      • [CS] - Network (2)
      • [CS] - Data Structure (3)
      • [CS] - Design Pattern (6)
      • [Language] - Python (15)
      • [Library] - Numpy (7)
        • Quick Start (5)
        • API (2)
      • [Framework] - Django (3)
      • [Framework] - QGIS (6)
      • [Framework] - PyQT (4)
      • [Mathematics] - Linear Alge.. (14)
      • [Mathematics] - Statistical (2)
      • [ETC] - Python (3)
      • [ETC] - C++ (1)
      • [ETC] - Linux (1)
      • 논문 (5)
      • 회고록 (3)
      • 생산성 (1)
  • 블로그 메뉴

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

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    Learning
    Convolution
    Linear
    decomposition
    Machine
    numpy
    QGIS
    분해
    MachineLearning
    교차검증
    파이썬
    머신러닝
    Python
    선형대수
    디자인패턴
    algebra
    신경망
    RNN
    linearalgebra
    DEEPLEARNING
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Bebsae
행렬 연산 (Matrix Operations)
상단으로

티스토리툴바