1-1_데이터의 형식과 기본 연산 (part 3).html
0.62MB
1-1_데이터의 형식과 기본 연산 (part 3).ipynb
0.05MB

 

1-1_데이터의 형식과 기본 연산 (part 3)

1-1_데이터의 형식과 기본 연산 (part 2).html
0.37MB
1-1_데이터의 형식과 기본 연산 (part 2).ipynb
0.25MB

 

 
1-1_데이터의 형식과 기본 연산 (part 2)

1.2 데이터의 형식과 기본 연산 (part 2)

벡터의 표현과 내적

벡터의 표현

성분의 배열으로서의 벡터 vs 크기와 방향을 가지는 물리적 벡터

앞에서 벡터 여러 개의 성분이 가로 또는 세로로 배열된 것으로 정의하고, 1행 또는 1열짜리 행렬으로 보았다.
이러한 정의는 주로 컴퓨터 과학 분야에서 사용된다.

똑같은 개념의 벡터를 수학이나 물리학에서는
보통 성분을 먼저 이야기하지 않고, 아래와 같이 크기와 방향을 가지는 양이라고 정의한다.

이후에 위치벡터라는 개념을 소개하여, 유클리드 공간 $\mathbb{R}^n$의 벡터를 성분을 이용하여 표현할 수 있도록 한다.

크기와 방향을 가지는 물리적 벡터

  • 주어진 공간의 점 $P$에서 시작하여 점 $Q$에서 끝나는 벡터를 기호 $\overrightarrow{PQ}$로 나타낸다.
  • 이때 점 $P$를 벡터의 시점(initial point), 점 $Q$를 종점(terminal point) 이라고 한다.
  • 벡터의 크기 는 기호 $\Vert\overrightarrow{PQ}\Vert$로 나타내며, 주어진 공간에서의 점 $P$와 점 $Q$ 사이의 거리를 뜻한다.
  • 크기가 $1$인 벡터를 단위벡터(unit vector), 크기가 $0$인 벡터를 영벡터라 한다.

같은 벡터의 정의

1.png

  • 벡터가 놓인 위치에 상관없이, 크기와 방향이 같으면 같은 벡터 라고 한다.
  • 한 벡터를 평행이동한 것은 모두 같은 벡터이다.
  • 벡터를 한 문자로 나타낼 때는 주로 굵은 소문자 알파벳을 사용한다.
    예를 들어, ${\bf v}=\overrightarrow{AB}=\overrightarrow{CD}$ 와 같이 표현한다.

벡터의 스칼라곱

2.png

  • 벡터 $\mathbf{v}$에 스칼라(실수) $k$를 곱한 벡터 $k{\bf v}$의
    크기는 $\|k{\bf v}\|=|k|\,\|{\bf v}\|$이고,
    양의 실수를 곱하면 같은 방향, 음의 실수를 곱하면 반대 방향을 나타내는 것으로 약속한다.
  • 크기가 같고 방향이 반대인 벡터를 $-$ 부호를 붙여 나타낸다. 즉, $-\overrightarrow{PQ}=\overrightarrow{QP}\,$이다.
  • $\mathbf{v}$가 영벡터가 아닐 때, $\dfrac{1}{\|\mathbf{v}\|}\,\mathbf{v}=\dfrac{\mathbf{v}}{\|\mathbf{v}\|}$는 $\mathbf{v}$ 방향의 단위벡터이다.
  • 두 벡터가 평행일 필요충분조건은 한 벡터가 다른 벡터의 스칼라 곱인 것이다.
    즉, ${\bf v}\parallel {\bf w} \ \ \iff \ \ {\bf v}=k{\bf w} \ \ (k\mbox{는 실수})$.

벡터의 합

5.png

  • 두 벡터 ${\bf v}$와 ${\bf w}$에 대하여 벡터의 합 ${\bf v}+{\bf w}$는
    ${\bf v}$의 종점에 ${\bf w}$의 시점을 일치시켰을 때,
    ${\bf v}$의 시점에서 ${\bf w}$의 종점으로 가는 벡터를 뜻한다.
  • 즉, ${\bf v}=\overrightarrow{AB}$, ${\bf w}=\overrightarrow{BC}$ 이면 ${\bf v}+{\bf w}=\overrightarrow{AB}+\overrightarrow{BC}=\overrightarrow{AC}$ 이다.

4.png

  • 평행이동한 벡터는 모두 같음을 이용하면 ${\bf v}+{\bf w}={\bf w}+{\bf v}$가 항상 성립
  • ${\bf v}$와 ${\bf w}$의 시점을 일치시켜서 나타내면 ${\bf v}+{\bf w}$는 같은 시점에서 출발하는 평행사변형의 대각선 벡터
  • ${\bf v}-{\bf w}={\bf v}+(-{\bf w})$로 생각하면 ${\bf v}-{\bf w}$는 삼각형의 한 변으로서 ${\bf w}$의 종점에서 ${\bf v}$의 종점으로 가는 방향의 벡터

모든 벡터의 시작점을 일치시켜 나타내는 위치 벡터

이제 3차원 유클리드 공간 $\mathbb{R}^3$에서 직교좌표계를 이용하여 벡터를 표현하는 방법을 생각해보자.

한 벡터 ${\bf v}$를 공간의 어디에 놓아도 모두 같은 벡터이므로,
모든 벡터의 시점을 정해진 한 점(보통은 원점 $O$)에 두기로 약속하면
벡터 ${\bf v}$를 나타낼 때, 그 종점 $P$를 찾아 ${\bf v}=\overrightarrow{OP}$ 로 나타내면 된다.

이때 $P$의 좌표가 $(a,b,c)$이면 벡터 $[a,b,c]$를 ${\bf v}$의 위치벡터(position vector)라고 부르고 ${\bf v}=[a,b,c]$로 나타낸다.

(표기의 편리를 위하여, 점의 좌표처럼 위치벡터를 ${\bf v}=(a,b,c)$로 나타내기도 한다.)

(뒤에서 배울 여러 가지 필요에 따라 $\mathbb{R}^n$을 행백터들의 집합으로 보거나 또는 열벡터들의 집합으로 보기도 한다.)

이와 같이, 일반적으로 $\mathbb{R}^n$의 모든 벡터를 원점 $O$를 기준으로 하는 위치벡터로 나타냄으로써
수학이나 물리학에서 크기와 방향을 가지는 양으로서의 벡터의 연산을
다음과 같이 성분이 주어진 벡터의 연산으로 시행할 수 있다.

일반적인 $n$차원 유클리드 공간에서의 벡터합과 스칼라곱

$\mathbb{R}^n$의 벡터는 $n$개의 수로 이루어진 순서쌍 $(x_1, x_2, \cdots, x_n)$으로 표현되고, 이러한 벡터의 합과 스칼라 곱은

$$(x_1, x_2, \cdots, x_n) + (y_1, y_2, \cdots, y_n) = (x_1 + y_1, x_2 + y_2, \cdots, x_n + y_n)$$

$$k(x_1, x_2, \cdots, x_n) = (kx_1, kx_2, \cdots, ,kx_n)$$

으로 정의된다.

벡터의 내적(inner product)

$\mathbb{R}^n$에서 두 벡터 ${\bf v} = (x_1, x_2, \cdots, x_n)$와 ${\bf w}=(y_1, y_2, \cdots, y_n)$의 내적

$$ {\bf v} \cdot {\bf w} = \sum_{k=1}^n x_k y_k $$

으로 정의된다.

  • $n=2$인 경우 $$(a, b) \cdot (x,y) = ax + by$$

  • $n=3$인 경우 $$(a,b,c)\cdot (x,y,z) = ax + by + cz$$

예제 1.1.8   두 벡터 ${\bf v}=[1, -1, 0]$, ${\bf w}=[2, 0, 2]$ 에 대하여 다음을 구하시오.

(1) ${\bf v} \cdot {\bf w}$          (2) 벡터 ${\bf v}$방향의 단위벡터          (3) 벡터 ${\bf w}$방향의 단위벡터         

[풀이]

(1) ${\bf v} \cdot {\bf w}=2+0+0=2$

(2) $\|\mathbf{v}\|=\sqrt{1^2+(-1)^2+0^2}=\sqrt{2}$ 이므로   $\dfrac{1}{\|\mathbf{v}\|}\,\mathbf{v}=\dfrac{1}{\sqrt{2}}\,[1, -1, 0]$

(3) $\|\mathbf{w}\|=\sqrt{2^2+0^2+2^2}=\sqrt{8}$ 이므로   $\dfrac{1}{\|\mathbf{w}\|}\,\mathbf{w}=\dfrac{1}{2\sqrt{2}}\,[2, 0, 2]=\dfrac{1}{\sqrt{2}}\,[1, 0, 1]$

                                                                      [풀이 끝]

파이썬 예제 1.1.9   python에서 내적은 numpy.inner(a,b), 또는 np.dot(a,b)를 이용해 계산할 수 있다.

참고로 비슷한 다른 표현과의 차이를 살펴보자.

[풀이]

In [ ]:
import numpy as np
a=np.array([1,2,3])
b=np.array([2,4,6])
np.inner(a,b)
Out[ ]:
28
In [ ]:
np.dot(a,b)
Out[ ]:
28
In [ ]:
2*a
Out[ ]:
array([2, 4, 6])
In [ ]:
a*b
Out[ ]:
array([ 2,  8, 18])
In [ ]:
2*[1,2,3]
Out[ ]:
[1, 2, 3, 1, 2, 3]

                                                                      [풀이 끝]

벡터의 내적이 갖고 있는 성질

(1)   ${\bf v} \cdot {\bf w} = {\bf w} \cdot {\bf v}$

(2)   ${\bf v}\cdot({\bf w}_1 + {\bf w}_2) = {\bf v}\cdot {\bf w}_1 + {\bf v}\cdot {\bf w}_2 $

(3)   $k({\bf v}\cdot {\bf w}) = (k{\bf v})\cdot {\bf w} = {\bf v}\cdot (k{\bf w})$       ($k$는 실수)

(4)   ${\bf v}\cdot {\bf v}= \Vert {\bf v}\Vert^2$

(5)   $\mathbf{0}\cdot {\bf v} = 0$       (여기에서 $\mathbf{0}$은 영벡터, $0$은 실수 영을 나타낸다.)

두 벡터의 사잇각과 내적

두 벡터 ${\bf v}$, ${\bf w}$에 대하여 그 사잇각을 $\theta$  ($0 \le \theta \le \pi$) 라고 하면 $$ {\bf v}\cdot {\bf w} = \Vert {\bf v} \Vert \Vert\, {\bf w} \Vert \cos \theta $$ 가 성립한다. (증명은 생략)

따라서 $\cos \theta=\dfrac{{\bf v}\cdot {\bf w}}{\Vert {\bf v} \Vert \Vert\, {\bf w} \Vert}$ 를 구하여 두 벡터 사이의 각 $\theta$를 찾을 수 있다.

그리고 ${\bf v}\cdot {\bf w} = 0$ 이면 ${\bf v}\perp {\bf w}$  (서로 수직)임을 알 수 있다.   (영벡터는 모든 벡터와 수직이다.)

예제 1.1.10   세 벡터 ${\bf u}=[3, 3, 1]$, ${\bf v}=[1, -1, 0]$, ${\bf w}=[2, 0, 2]$ 에 대하여 다음 물음에 답하시오.

(1) ${\bf v}$, ${\bf w}$ 사이의 각 $\theta$를 구하시오.

(2) ${\bf u}$, ${\bf v}$ 는 서로 수직인가?

[풀이]

(1) 위의 예제 1.1.8의 결과로부터 $\cos \theta=\dfrac{{\bf v}\cdot {\bf w}}{\Vert {\bf v} \Vert \Vert\, {\bf w} \Vert} = \dfrac2{\sqrt{2}\,\sqrt{8}}=\dfrac12$ 이므로 $\theta=\dfrac{\pi}3$ 이다.   ($0 \le \theta \le \pi$)

(2) ${\bf u}\cdot {\bf v}=3-3+0=0$ 이므로 ${\bf u}$, ${\bf v}$ 는 서로 수직이다.

                                                                      [풀이 끝]


1.1 (part 2) 연습문제 과제

  • 먼저 이 강의의 jupyter notebook 파일에서 예제 1.1.8, 파이썬 예제 1.1.9, 예제 1.1.10 부분만 뽑아서 새로운 파일로 저장하세요.
  • 과제는 이 문제들 각각에 대하여 일부분(숫자, 문자, 함수 등)을 바꾸어 새로운 문제를 만들고 풀이를 써서 jupyter notebook 파일로 제출하는 것입니다.

1-1_데이터의 형식과 기본 연산 (part 1).html
0.62MB
1-1_데이터의 형식과 기본 연산 (part 1).ipynb
0.05MB

1-1_데이터의 형식과 기본 연산 (part 1)

1-0_Orientation.html
0.57MB
1-0_Orientation.ipynb
0.01MB

 

1-0_Orientation

+ Recent posts