목록으로
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}°")