목록으로

Chapter 2: 행렬과 행렬연산

진행률: 2 / 8
예상 시간: 25분난이도: 중급

행렬과 행렬연산

학습 목표

  • 행렬의 기본 연산과 성질 이해
  • 역행렬과 행렬식의 의미와 계산
  • 특수 행렬의 종류와 응용

행렬의 기본 개념

행렬은 수를 직사각형 배열로 나열한 수학적 객체입니다.

A = [a₁₁ a₁₂ ... a₁ₙ]
    [a₂₁ a₂₂ ... a₂ₙ]
    [... ... ... ...]
    [aₘ₁ aₘ₂ ... aₘₙ]
m × n 행렬 (m행 n열)

행렬 곱셈

행렬 곱셈은 첫 번째 행렬의 행과 두 번째 행렬의 열을 내적하여 계산합니다.

(AB)ᵢⱼ = Σₖ aᵢₖbₖⱼ

주의: AB ≠ BA (교환법칙 성립 안함)

역행렬과 행렬식

역행렬 (Inverse Matrix)

AA⁻¹ = A⁻¹A = I를 만족하는 행렬 A⁻¹

2×2 행렬의 역행렬:

A⁻¹ = (1/det(A)) × [d -b]
                  [-c a]

행렬식 (Determinant)

정사각행렬에 대해 정의되는 스칼라 값

  • • det(A) ≠ 0 ⟺ A는 가역행렬
  • • det(AB) = det(A) × det(B)
  • • det(A^T) = det(A)

특수 행렬

대칭 행렬

A = A^T
모든 고유값이 실수

직교 행렬

Q^T Q = QQ^T = I
회전과 반사 변환

대각 행렬

비대각 원소가 0
계산이 매우 효율적

NumPy로 행렬 연산하기

import numpy as np

# 행렬 생성
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 기본 연산
C = A + B  # 행렬 덧셈
D = A @ B  # 행렬 곱셈 (Python 3.5+)
E = A * B  # 원소별 곱셈

# 역행렬과 행렬식
det_A = np.linalg.det(A)  # 행렬식
inv_A = np.linalg.inv(A)  # 역행렬

# 전치 행렬
A_transpose = A.T

# 고유값과 고유벡터
eigenvalues, eigenvectors = np.linalg.eig(A)

print(f"행렬식: {det_A:.2f}")
print(f"역행렬:\n{inv_A}")
print(f"고유값: {eigenvalues}")