4. Angles and Orthogonality

 

Angles and Orthogonality

내적(inner product)은 길이(length)와 거리(distance)를 정의할 뿐만 아니라, 두 벡터 간의 각도(angle) $\omega$ 를 정의함으로써 vector space에서의 기하(geometry)를 이해할 수 있습니다. Cauchy-Schwarz inequality(코시-슈바르츠 부등식)을 사용하면 두 벡터 $\boldsymbol{x},\boldsymbol{y}$ 간의 내적에서의 각도 $\omega$ 를 정의할 수 있습니다. $\boldsymbol{x} \neq 0, \boldsymbol{y} \neq 0$ 으로 가정하면, 다음과 같습니다.

\[-1 \leq \frac{\langle\boldsymbol{x},\boldsymbol{y}\rangle}{\|\boldsymbol{x}\|\|\boldsymbol{y}\|} \leq 1 \tag{3.24}\]

따라서, 두 벡터 간의 유일한 각도 $\omega \in \lbrack0,\pi\rbrack$ 가 있으며, 이 각도는 다음과 같습니다.

\[\cos\omega = \frac{\langle\boldsymbol{x},\boldsymbol{y}\rangle}{\|\boldsymbol{x}\|\|\boldsymbol{y}\|} \tag{3.25}\]

이를 그림으로 표현하면 다음과 같습니다.

두 벡터 간의 각도는 두 벡터의 방향이 얼마나 유사한지 알려줍니다. 예를 들어, dot product를 사용했을 때, $\boldsymbol{x}$ 와 $\boldsymbol{y} = 4\boldsymbol{x}$ 의 각도는 0이며 이는 두 벡터의 방향이 같음을 의미합니다.

Example 3.6 (Angle between Vectors)

오른쪽 그림과 같이 $\boldsymbol{x} = \lbrack1, 1\rbrack^\top \in \mathbb{R}^2$ 과 $\boldsymbol{y} = \lbrack1,2\rbrack^\top \in \mathbb{R}^2$ 간의 각도 $\omega$ 를 계산해보도록 하겠습니다. 이때, 내적으로는 dot product를 사용합니다. 그러면, 다음과 같이 (3.25) 식을 사용하여 $\cos\omega$ 를 계산할 수 있습니다.

\[\cos\omega = \frac{\langle\boldsymbol{x},\boldsymbol{y}\rangle}{\sqrt{\langle\boldsymbol{x},\boldsymbol{x}\rangle\langle\boldsymbol{y},\boldsymbol{y}\rangle}} = \frac{\boldsymbol{x}^\top\boldsymbol{y}}{\sqrt{\boldsymbol{x}^\top\boldsymbol{x}\boldsymbol{y}^\top\boldsymbol{y}}} = \frac{3}{\sqrt{10}} \tag{3.26}\]

따라서, 두 벡터 간의 각도는 $\arccos(\frac{3}{\sqrt{10}}) \approx 0.32 \text{ rad}$ 이며, 약 $18^\circ$ 입니다.


이렇게 구한 $\omega$ 를 바탕으로 두 벡터 간의 orthogonality를 도출할 수 있습니다.

Definition 3.7 (Orthogonality). 만약 $\langle\boldsymbol{x},\boldsymbol{y}\rangle = 0$ 이라면, 두 벡터 $\boldsymbol{x},\boldsymbol{y}$ 를 orthogonal(직교)한다고 하고 $\boldsymbol{x}\perp\boldsymbol{y}$ 로 표현합니다. 만약 직교하는 두 벡터의 norm이 1, 즉, $\|x\|=1=\|y\|$ (unit vector) 라면, $\boldsymbol{x}, \boldsymbol{y}$ 는 orthonormal 한다고 합니다.

이 정의를 통해 $\boldsymbol{0}$ 벡터는 vector space의 모든 벡터에 직교한다는 것을 알 수 있습니다.

Example 3.7 (Orthogonal Vectors)

위 그림과 같은 두 벡터 $\boldsymbol{x} = \lbrack1,1\rbrack^\top, \boldsymbol{y} = \lbrack-1,1\rbrack^\top$ 이 있습니다. 여기서 두 개의 다른 내적을 사용하여 이들 벡터 간의 각도 $\omega$ 를 구해보도록 하겠습니다.

먼저 내적으로 dot product를 사용하여 두 벡터의 각도는 $90^\circ$ 이며, 두 벡터는 직교($\boldsymbol{x}\perp\boldsymbol{y}$) 합니다.

그러나 (3.27)과 같은 내적을 선택하면,

\[\langle\boldsymbol{x},\boldsymbol{y}\rangle = \boldsymbol{x}^\top\begin{bmatrix}2&0\\0&1\end{bmatrix}\boldsymbol{y} \tag{3.27}\]

두 벡터 간의 각도 $\omega$ 는 다음과 같이 계산됩니다.

\[\cos\omega = \frac{\langle\boldsymbol{x},\boldsymbol{y}\rangle}{\|\boldsymbol{x}\|\|\boldsymbol{y}\|} = -\frac{1}{3} \Longrightarrow \omega \approx 1.91 \text{ rad} \approx 109.5^\circ \tag{3.28}\]

따라서, 두 벡터는 직교하지 않습니다. 따라서, 한 내적에 대해 벡터가 직교한다고 해서 다른 내적에서도 직교하는 것은 아닙니다.


Definition 3.8 (Orthogonal Matrix). 정사각 행렬(square matrix) $\boldsymbol{A} \in \mathbb{R}^{n \times n}$ 의 orthonormal 할때, 즉, 아래의 식이 성립한다면,

\[\boldsymbol{AA}^\top = \boldsymbol{I} = \boldsymbol{A}^\top\boldsymbol{A} \tag{3.29}\]

$\boldsymbol{A}$ 를 orthogonal matrix (직교 행렬) 이라고 합니다. 그리고, (3.29) 식은 다음이 성립한다는 것을 보여줍니다.

\[\boldsymbol{A}^{-1} = \boldsymbol{A}^\top \tag{3.30}\]

따라서, 행렬을 전치하면 간단히 역행렬을 구할 수 있습니다.

직교 행렬을 이용한 변환(transformation)은 특별합니다. 이는 직교 행렬을 사용한 변환을 수행할 때, 벡터 $\boldsymbol{x}$ 의 길이가 변하지 않기 때문입니다. 예를 들어, dot product에서 다음의 식이 성립합니다.

\[\|\boldsymbol{Ax}\|^2 = (\boldsymbol{Ax})^\top(\boldsymbol{Ax}) = \boldsymbol{x}^\top\boldsymbol{A}^\top\boldsymbol{Ax} = \boldsymbol{x}^\top\boldsymbol{Ix} = \boldsymbol{x}^\top\boldsymbol{x} = \|\boldsymbol{x}\|^2 \tag{3.31}\]

또한, 두 벡터의 각도도 변하지 않습니다. 내적으로 dot product를 사용한다고 가정한다면, $\boldsymbol{Ax}$ 와 $\boldsymbol{Ay}$ 의 각도는 다음과 같습니다.

\[\cos\omega = \frac{(\boldsymbol{Ax})^\top(\boldsymbol{Ay})}{\|\boldsymbol{Ax}\|\|\boldsymbol{Ay}\|} = \frac{\boldsymbol{x}^\top\boldsymbol{A}^\top\boldsymbol{Ay}}{\sqrt{\boldsymbol{x}^\top\boldsymbol{A}^\top\boldsymbol{Axy}^\top\boldsymbol{A}^\top\boldsymbol{Ay}}} = \frac{\boldsymbol{x}^\top\boldsymbol{y}}{\|\boldsymbol{x}\|\|\boldsymbol{y}\|} \tag{3.32}\]

결과적으로, 변환을 하더라도 $\boldsymbol{x}$ 와 $\boldsymbol{y}$ 의 각도와 같습니다. 따라서, 직교 행렬(orthogonal matrices) $\boldsymbol{A}$ 는 angles와 distances 를 보존합니다.

3.9장에서는 직교 행렬을 사용하여 rotations/flips 변환을 정의합니다.