목록으로

Chapter 1: 벡터와 벡터공간

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

벡터와 벡터공간

학습 목표

  • 벡터의 기하학적/대수적 의미 이해
  • 벡터 연산과 그 응용 마스터
  • 벡터공간의 개념과 부분공간 이해

벡터의 정의

벡터는 크기(magnitude)방향(direction)을 가진 수학적 객체입니다.

v = [v₁, v₂, ..., vₙ]
n차원 벡터 표현
  • • 위치 벡터: 원점에서 시작하는 벡터
  • • 자유 벡터: 시작점이 자유로운 벡터
  • • 단위 벡터: 크기가 1인 벡터

벡터 연산

덧셈과 스칼라 곱

u + v = [u₁+v₁, u₂+v₂, ...]
αv = [αv₁, αv₂, ...]

내적 (Dot Product)

u·v = Σ(uᵢ × vᵢ)
= |u||v|cos(θ)

벡터공간과 부분공간

벡터공간의 공리

  • 1. 덧셈의 결합법칙: (u+v)+w = u+(v+w)
  • 2. 덧셈의 교환법칙: u+v = v+u
  • 3. 영벡터의 존재: v+0 = v
  • 4. 역원소의 존재: v+(-v) = 0
  • 5. 스칼라 곱의 분배법칙
  • 6. 스칼라 곱의 결합법칙

중요한 부분공간

Null Space

Ax = 0을 만족하는 모든 x의 집합

Column Space

A의 열벡터들의 선형결합으로 만들어지는 공간

Python 구현 예제

import numpy as np

# 벡터 생성
v1 = np.array([1, 2, 3])
v2 = np.array([4, 5, 6])

# 벡터 연산
addition = v1 + v2  # 벡터 덧셈
scalar_mult = 3 * v1  # 스칼라 곱
dot_product = np.dot(v1, v2)  # 내적

# 벡터 크기와 정규화
magnitude = np.linalg.norm(v1)  # 크기
normalized = v1 / magnitude  # 정규화

# 두 벡터 사이의 각도
cos_angle = np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))
angle = np.arccos(cos_angle) * 180 / np.pi

print(f"벡터 덧셈: {addition}")
print(f"내적: {dot_product}")
print(f"벡터 크기: {magnitude:.2f}")
print(f"각도: {angle:.2f}°")