2024. 9. 29. 20:39ㆍAPPLIED/선형대수학(Linear Algebra)
벡터 \( u = (2, 1) \)과 \( v = (1, 2) \) 에서
벡터 \( v \)를 \( u \)에 사영한 값(projection of \( v \) onto \( u \))을 구하면
\[
\text{proj}_u(v) = \left( \frac{8}{5}, \frac{4}{5} \right)
\]
벡터 \( v \)와 사영된 벡터의 직교 성분을 구한 결과는:
\[
\text{perp}_u(v) = v - \text{proj}_u(v) = \left( \frac{-3}{5}, \frac{6}{5} \right)
\]
사영 공식
벡터 \( v \)를 벡터 \( u \)에 사영하는 공식은 다음과 같다:
\[
\text{proj}_u(v) = \frac{v \cdot u}{u \cdot u} u
\]
여기서,
- \( v \cdot u \)는 두 벡터 \( v \)와 \( u \)의 내적(inner product)이다.
- \( u \cdot u \)는 벡터 \( u \)의 크기의 제곱이다.
주어진 값
1. \( u = (2, 1) \)
2. \( v = (1, 2) \)
1단계: 내적 계산
먼저, 두 벡터 \( v \)와 \( u \)의 내적을 계산한다:
\[
v \cdot u = (1, 2) \cdot (2, 1) = 1 \cdot 2 + 2 \cdot 1 = 2 + 2 = 4
\]
2단계: \( u \cdot u \) 계산
다음으로, 벡터 \( u \)의 크기를 계산한다:
\[
u \cdot u = (2, 1) \cdot (2, 1) = 2^2 + 1^2 = 4 + 1 = 5
\]
3단계: 사영 값 계산
이제 사영을 구할 수 있다:
\[
\text{proj}_u(v) = \frac{v \cdot u}{u \cdot u} u = \frac{4}{5} u
\]
벡터 \( u \)를 다음과 같이 표현할 수 있다:
\[
u = (2, 1)
\]
따라서, \( \text{proj}_u(v) \)는 다음과 같이 계산된다:
\[
\text{proj}_u(v) = \frac{4}{5} (2, 1) = \left( \frac{8}{5}, \frac{4}{5} \right)
\]
이로써 벡터 \( v \)를 \( u \)에 사영한 값이 \( \left( \frac{8}{5}, \frac{4}{5} \right) \)임을 확인할 수 있다.
결론
- 벡터 \( v = (1, 2) \)의 \( u = (2, 1) \)에 대한 사영은 \( \text{proj}_u(v) = \left( \frac{8}{5}, \frac{4}{5} \right) \)이며, 이는 벡터 \( u \)의 방향으로 벡터 \( v \)의 "그림자"를 나타낸다.
벡터 \( v \)는 \( \text{proj}_u(v) \)와 \( \text{perp}_u(v) \)의 합으로 표현할 수 있다:
\[
(1, 2) = \left( \frac{8}{5}, \frac{4}{5} \right) + \left( \frac{-3}{5}, \frac{6}{5} \right)
\]
이 두 벡터 \( \left( \frac{8}{5}, \frac{4}{5} \right) \)와 \( \left( \frac{-3}{5}, \frac{6}{5} \right) \)는 서로 직교함을 확인할 수 있다
벡터의 사영(projection)과 직교 성분(orthogonal component)을 이해
벡터 \( u \)와 \( v \)를 정의하고, 벡터 \( v \)를 \( u \)에 사영한 값을 계산한 후, 직교 성분을 구한다.
1. 벡터 \( u \)와 \( v \)를 정의한다.
2. 사영 계산: \( v \)를 \( u \)에 사영한 값을 계산한다.
3. 직교 성분 계산: \( v \)에서 사영된 벡터를 빼서 직교 성분을 계산한다.
4. 벡터 시각화: 각 벡터를 화살표로 나타내어, 사영과 직교 성분을 시각적으로 표시한다.
결과 해석
- 파란색 화살표는 벡터 \( u \)를 나타낸다.
- 빨간색 화살표는 벡터 \( v \)를 나타낸다.
- 초록색 화살표는 벡터 \( v \)의 \( u \)에 대한 사영을 나타낸다.
- 주황색 화살표는 벡터 \( v \)와 사영된 벡터 간의 직교 성분을 나타낸다.
사영된 벡터의 의미
1. 사영된 벡터: 초록색 화살표로 나타내는 \( \text{proj}_u(v) \)는 벡터 \( v \)가 벡터 \( u \)의 방향으로 "얼마나 영향을 받는지"를 나타낸다. 즉, \( v \)가 \( u \)와 얼마나 유사한지를 나타내는 척도이다.
2. 직교 성분: 주황색 화살표로 나타내는 \( \text{perp}_u(v) \)는 벡터 \( v \)가 벡터 \( u \)의 방향과는 무관하게 얼마나 다른지를 보여준다. 이는 \( v \)의 \( u \)에 대한 "나머지 부분"을 나타낸다.
사영을 통해 할 수 있는 일
고차원 데이터에서 특정 변수에 대한 영향력을 분석할 때 유용한다. 주성분 분석(PCA)에서 데이터 포인트를 특정 축(주성분)으로 사영하여 데이터의 변동성을 이해하고, 주요 성분을 찾아낼 수 있다.
물리학에서는 힘, 속도, 가속도 등의 벡터를 특정 방향으로 사영하여 물체의 운동을 분석하고 경사면에서의 물체의 운동을 분석할 때 중력 벡터를 경사면의 방향으로 사영하여 경사면을 따라 작용하는 힘을 계산할 수 있다.
import numpy as np
import matplotlib.pyplot as plt
# 벡터 정의
u = np.array([2, 1])
v = np.array([1, 2])
# 벡터 v를 u에 사영(projection of v onto u)
proj_u_v = (np.dot(v, u) / np.dot(u, u)) * u
# 직교 성분(perpendicular component)
perp_u_v = v - proj_u_v
# 결과 출력
print("프로젝션 (proj_u(v)): ", proj_u_v)
print("직교 성분 (perp_u(v)): ", perp_u_v)
# 그래프 설정
plt.figure(figsize=(8, 8))
plt.quiver(0, 0, u[0], u[1], angles='xy', scale_units='xy', scale=1, color='blue', label='u = (2, 1)')
plt.quiver(0, 0, v[0], v[1], angles='xy', scale_units='xy', scale=1, color='red', label='v = (1, 2)')
plt.quiver(0, 0, proj_u_v[0], proj_u_v[1], angles='xy', scale_units='xy', scale=1, color='green', label='proj_u(v)')
plt.quiver(proj_u_v[0], proj_u_v[1], perp_u_v[0], perp_u_v[1], angles='xy', scale_units='xy', scale=1, color='orange', label='perp_u(v)')
# 그래프 설정
plt.xlim(-1, 3)
plt.ylim(-1, 3)
plt.grid()
plt.axhline(0, color='black',linewidth=0.5, ls='--')
plt.axvline(0, color='black',linewidth=0.5, ls='--')
plt.gca().set_aspect('equal', adjustable='box')
plt.title('Vector Projection and Orthogonal Component')
plt.legend()
plt.show()
'APPLIED > 선형대수학(Linear Algebra)' 카테고리의 다른 글
행렬의 곱셈(내적)이 어떻게 이루어지는지 시각적으로 표현 (1) | 2024.09.30 |
---|---|
직교기저(Orthogonal Basis) (0) | 2024.09.29 |
고유치와 고유벡터 (0) | 2024.04.10 |