Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Lecture 14. 직교 벡터와 직교 부분공간

Orthogonal Vectors and Subspaces — 서술

지금까지 열세 편을 오면서 우리는 길이도 각도도 한 번도 쓰지 않았다. 오직 덧셈과 스칼라배, 그리고 거기서 나온 개념들만으로 부분공간을 정의했고, 차원을 셌고, 네 부분공간의 지도를 그렸다.

이제 하나를 더한다. 내적이다. 그리고 이 하나를 더하는 순간 지금까지 그린 모든 그림에 직각이 나타난다.

L10에서 네 부분공간의 지도를 그리면서 행공간과 영공간을, 열공간과 좌영공간을 직각으로 놓아 두고는 왜 직각인지 설명하지 않았다. 그때는 직각이라는 말 자체를 쓸 수단이 없었기 때문이다. 이번 강의에서 그 빚을 갚는다. 그리고 증명은 한 줄이다.


1. 내적과 직교

두 벡터 x,yRn\vv{x}, \vv{y} \in \R^n내적은 성분끼리 곱해 더한 것이다. 행렬 곱으로 쓰면 1×n1 \times n 곱하기 n×1n \times 1 이라 1×11 \times 1, 곧 수 하나이다.

xTy=x1y1+x2y2++xnyn\vv{x}^{\mathsf{T}}\vv{y} = x_1 y_1 + x_2 y_2 + \cdots + x_n y_n

순서를 바꿔도 같다. L5의 전치 규칙((8))으로

(xTy)T=yTx(\vv{x}^{\mathsf{T}}\vv{y})^{\mathsf{T}} = \vv{y}^{\mathsf{T}}\vv{x}

인데, 1×11 \times 1 행렬은 전치해도 그대로이므로 xTy=yTx\vv{x}^{\mathsf{T}}\vv{y} = \vv{y}^{\mathsf{T}}\vv{x} 이다.

자기 자신과의 내적은 성분의 제곱합이다. 이것으로 길이를 정의한다.

xTx=x12++xn2=x2\vv{x}^{\mathsf{T}}\vv{x} = x_1^2 + \cdots + x_n^2 = \|\vv{x}\|^2

제곱합이므로 xTx0\vv{x}^{\mathsf{T}}\vv{x} \ge 0 이고, 0이 되는 것은 모든 성분이 0일 때뿐이다. 이 짧은 사실을 이번 강의에서 여러 번 쓴다.

xTx=0    x=0\vv{x}^{\mathsf{T}}\vv{x} = 0 \;\Longleftrightarrow\; \vv{x} = \vv{0}

왜 내적이 0인 것이 직각인가

직각의 원래 뜻은 피타고라스이다. 두 변이 x\vv{x}, y\vv{y} 이고 빗변이 x+y\vv{x} + \vv{y} 인 삼각형에서 x2+y2=x+y2\|\vv{x}\|^2 + \|\vv{y}\|^2 = \|\vv{x} + \vv{y}\|^2 이면 직각이라 부른다. 오른쪽을 전개해 보자.

x+y2=(x+y)T(x+y)=xTx+xTy+yTx+yTy\|\vv{x} + \vv{y}\|^2 = (\vv{x} + \vv{y})^{\mathsf{T}}(\vv{x} + \vv{y}) = \vv{x}^{\mathsf{T}}\vv{x} + \vv{x}^{\mathsf{T}}\vv{y} + \vv{y}^{\mathsf{T}}\vv{x} + \vv{y}^{\mathsf{T}}\vv{y}

(2)에 의해 가운데 두 항이 같으므로

x+y2=x2+y2+2xTy\|\vv{x} + \vv{y}\|^2 = \|\vv{x}\|^2 + \|\vv{y}\|^2 + 2\,\vv{x}^{\mathsf{T}}\vv{y}

이다. 그러므로 피타고라스가 성립하는 것과 xTy=0\vv{x}^{\mathsf{T}}\vv{y} = 0 인 것이 같은 말이다.

왼쪽은 내적이 0이라 두 값이 같고, 오른쪽은 내적이 6이라 그만큼 어긋난다.
어긋나는 양이 정확히 2\,\vv{x}^{\mathsf{T}}\vv{y} 이다.

Figure 1:왼쪽은 내적이 0이라 두 값이 같고, 오른쪽은 내적이 6이라 그만큼 어긋난다. 어긋나는 양이 정확히 2xTy2\,\vv{x}^{\mathsf{T}}\vv{y} 이다.

이 정의에서 눈여겨볼 것이 있다. 직교는 기하학적으로 보이지만 실제로는 대수적인 등식이다. 각도를 재는 도구가 없어도, 그림을 그릴 수 없는 100차원에서도 (1)의 합이 0인지만 확인하면 된다.


2. 직교 부분공간

벡터 하나씩이 아니라 부분공간 전체를 놓고 같은 말을 할 수 있다.

"모든"이 두 번 들어간다는 점이 중요하다. 벡터 몇 쌍이 직교하는 것으로는 부족하다.

바닥과 벽은 직교 부분공간이 아니다

방 안에서 바닥과 벽은 눈으로 보기에 직각으로 만난다. 그런데 두 평면을 R3\R^3 의 부분공간으로 보면 직교하지 않는다.

바닥을 z=0z = 0 인 평면, 벽을 y=0y = 0 인 평면이라 하자. 두 평면은 xx 축을 공유한다. 그 위의 벡터 v=(1,0,0)\vv{v} = (1, 0, 0) 은 바닥에도 있고 벽에도 있다. 두 부분공간이 직교한다면 v\vv{v} 는 자기 자신과도 직교해야 한다. 그런데

vTv=v2=10\vv{v}^{\mathsf{T}}\vv{v} = \|\vv{v}\|^2 = 1 \neq 0

이므로 그럴 수 없다.

평면 두 장이 직각으로 만나는 것과 부분공간 두 개가 직교하는 것은 다른 이야기이다.

Figure 2:평면 두 장이 직각으로 만나는 것과 부분공간 두 개가 직교하는 것은 다른 이야기이다.

이 예에서 일반적인 사실 하나가 나온다.

증명. v\vv{v} 가 두 공간에 모두 있다고 하자. VWV \perp W 이므로 VV 의 원소인 v\vv{v}WW 의 원소인 v\vv{v} 가 직교해야 한다. 곧 vTv=0\vv{v}^{\mathsf{T}}\vv{v} = 0 이고, (4)에 의해 v=0\vv{v} = \vv{0} 이다. \square

직교하면 독립이다

L9에서 독립을 정의할 때 직교와 헷갈리기 쉽다고 했다. 둘의 관계를 여기서 정리하자.

0\vv{0} 이 아닌 벡터 q1,,qk\vv{q}_1, \dots, \vv{q}_k 가 서로 직교한다고 하자. 결합이 영벡터라 하고

c1q1+c2q2++ckqk=0c_1\vv{q}_1 + c_2\vv{q}_2 + \cdots + c_k\vv{q}_k = \vv{0}

양변에 qjT\vv{q}_j^{\mathsf{T}} 를 곱한다. iji \neq j 인 항은 전부 qjTqi=0\vv{q}_j^{\mathsf{T}}\vv{q}_i = 0 이므로 사라지고 하나만 남는다.

cjqjTqj=cjqj2=0c_j\, \vv{q}_j^{\mathsf{T}}\vv{q}_j = c_j \|\vv{q}_j\|^2 = 0

qj0\vv{q}_j \neq \vv{0} 이라 qj2>0\|\vv{q}_j\|^2 > 0 이므로 cj=0c_j = 0 이다. 모든 jj 에 대해 같으니 독립이다.


3. 행공간과 영공간은 직교한다

이제 이번 강의의 목표로 간다. AAm×nm \times n 일 때 N(A)\Nul(A)Ax=0A\vv{x} = \vv{0} 의 해이고 C(AT)\Col(A^{\mathsf{T}})AA 의 행이 만드는 공간이다. 둘 다 Rn\R^n 에 산다.

Ax=0A\vv{x} = \vv{0} 을 행별로 써 보자. AAii 번째 행을 aiT\vv{a}_i^{\mathsf{T}} 라 하면

Ax=[— a1T —— a2T —— amT —]x=[a1Txa2TxamTx]=[000]A\vv{x} = \begin{bmatrix} \text{---}\ \vv{a}_1^{\mathsf{T}}\ \text{---} \\ \text{---}\ \vv{a}_2^{\mathsf{T}}\ \text{---} \\ \vdots \\ \text{---}\ \vv{a}_m^{\mathsf{T}}\ \text{---} \end{bmatrix} \vv{x} = \begin{bmatrix} \vv{a}_1^{\mathsf{T}}\vv{x} \\ \vv{a}_2^{\mathsf{T}}\vv{x} \\ \vdots \\ \vv{a}_m^{\mathsf{T}}\vv{x} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 0 \end{bmatrix}

성분을 하나씩 읽으면 aiTx=0\vv{a}_i^{\mathsf{T}}\vv{x} = 0 이다. AA 의 각 행이 x\vv{x} 와 직교한다는 뜻이다.

행 하나하나와 직교하면 행들의 결합 전부와도 직교한다. 행공간의 아무 원소나 v=c1a1++cmam\vv{v} = c_1\vv{a}_1 + \cdots + c_m\vv{a}_m 으로 쓰면

vTx=c1a1Tx++cmamTx=c10++cm0=0\vv{v}^{\mathsf{T}}\vv{x} = c_1 \vv{a}_1^{\mathsf{T}}\vv{x} + \cdots + c_m \vv{a}_m^{\mathsf{T}}\vv{x} = c_1 \cdot 0 + \cdots + c_m \cdot 0 = 0

이기 때문이다. 정리하면 다음과 같다.

A = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 3\end{bmatrix} 의 행공간은 평면,
영공간은 그 평면에 직각으로 꽂힌 직선이다. 오른쪽은 5절에서 볼 분해이다.

Figure 3:A=[111123]A = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 3\end{bmatrix} 의 행공간은 평면, 영공간은 그 평면에 직각으로 꽂힌 직선이다. 오른쪽은 5절에서 볼 분해이다.


4. 열공간과 좌영공간도 직교한다

두 번째 쌍은 따로 증명할 것이 없다. Theorem 2의 정리는 아무 행렬에나 적용되므로 AA 대신 ATA^{\mathsf{T}} 를 넣으면 된다.

C ⁣((AT)T)N(AT)C(A)N(AT)\Col\!\left((A^{\mathsf{T}})^{\mathsf{T}}\right) \perp \Nul(A^{\mathsf{T}}) \qquad\text{곧}\qquad \Col(A) \perp \Nul(A^{\mathsf{T}})

(AT)T=A(A^{\mathsf{T}})^{\mathsf{T}} = A 이기 때문이다. 이쪽은 Rm\R^m 에서 일어나는 일이다.

L10의 지도에 이제 근거가 생겼다.

L10에서 직각으로 그려 놓기만 했던 두 쌍에 이제 증명이 붙었다.

Figure 4:L10에서 직각으로 그려 놓기만 했던 두 쌍에 이제 증명이 붙었다.


5. 직교여공간

두 부분공간은 단지 직교하기만 하는 것이 아니다. 차원까지 꽉 채운다.

VV^\perp 는 부분공간이다. z1,z2V\vv{z}_1, \vv{z}_2 \in V^\perp 이면 아무 vV\vv{v} \in V 에 대해 (z1+z2)Tv=z1Tv+z2Tv=0(\vv{z}_1 + \vv{z}_2)^{\mathsf{T}}\vv{v} = \vv{z}_1^{\mathsf{T}}\vv{v} + \vv{z}_2^{\mathsf{T}}\vv{v} = 0 이고 스칼라배도 마찬가지이므로, L5의 Definition 4의 두 조건을 만족한다.

영공간은 행공간의 직교여공간이다

3절에서 N(A)C(AT)\Nul(A) \subseteq \Col(A^{\mathsf{T}})^{\perp} 를 보였다. 반대 방향도 성립한다. z\vv{z} 가 행공간의 모든 벡터와 직교한다면 특히 각 행과도 직교하므로 aiTz=0\vv{a}_i^{\mathsf{T}}\vv{z} = 0 이고, (10)의 식을 거꾸로 읽으면 Az=0A\vv{z} = \vv{0} 이다.

N(A)=C(AT)그리고N(AT)=C(A)\Nul(A) = \Col(A^{\mathsf{T}})^{\perp} \qquad\text{그리고}\qquad \Nul(A^{\mathsf{T}}) = \Col(A)^{\perp}

"직교한다"보다 강한 말이다. 행공간과 직교하는 벡터는 하나도 빠짐없이 영공간에 있다. 차원을 세어 보면 L10의 (17)에서

dimC(AT)+dimN(A)=r+(nr)=n\dim \Col(A^{\mathsf{T}}) + \dim \Nul(A) = r + (n - r) = n

이므로 남는 방향이 없다.

모든 벡터가 두 조각으로 유일하게 갈린다

존재. 행공간의 기저 rr 개와 영공간의 기저 nrn - r 개를 한데 모은다. 이 nn 개가 독립임을 보이자. 결합이 영벡터라 하고 행공간 쪽 항의 합을 u\vv{u}, 영공간 쪽 항의 합을 w\vv{w} 라 하면 u+w=0\vv{u} + \vv{w} = \vv{0} 이므로 u=w\vv{u} = -\vv{w} 이다. 왼쪽은 행공간에, 오른쪽은 영공간에 있으니 이 벡터는 두 공간에 모두 있고, Theorem 1에 의해 영벡터이다. 그러면 각 공간 안에서 기저의 결합이 영벡터이므로 계수가 전부 0이다.

독립인 벡터 nn 개는 Rn\R^n 의 기저이다(L9의 Theorem 1). 따라서 아무 x\vv{x} 나 이 nn 개의 결합으로 쓸 수 있고, 행공간 쪽 항들을 모아 xr\vv{x}_r, 영공간 쪽 항들을 모아 xn\vv{x}_n 이라 하면 된다.

유일성. x=xr+xn=xr+xn\vv{x} = \vv{x}_r + \vv{x}_n = \vv{x}_r' + \vv{x}_n' 이라 하자. 옮겨 쓰면

xrxr=xnxn\vv{x}_r - \vv{x}_r' = \vv{x}_n' - \vv{x}_n

인데 왼쪽은 행공간에, 오른쪽은 영공간에 있다. 같은 벡터이므로 두 공간에 모두 있고, Theorem 1에 의해 영벡터이다. 곧 xr=xr\vv{x}_r = \vv{x}_r' 이고 xn=xn\vv{x}_n = \vv{x}_n' 이다. \square

Figure 3의 오른쪽이 이 분해이다. x=(0,2,2)\vv{x} = (0, -2, 2)xr=(1,0,1)\vv{x}_r = (-1, 0, 1)xn=(1,2,1)\vv{x}_n = (1, -2, 1) 로 갈린다.

왜 행공간에서 열공간으로 일대일인가

L10에서 AA 가 행공간을 열공간으로 일대일로 옮긴다고 했다. 이제 이유를 쓸 수 있다. Theorem 3의 분해로 x\vv{x} 를 쪼개면

Ax=Axr+Axn=AxrA\vv{x} = A\vv{x}_r + A\vv{x}_n = A\vv{x}_r

이다. AA 는 영공간 성분을 보지 않는다. 그리고 행공간의 두 벡터 xr\vv{x}_r, xr\vv{x}_r' 이 같은 곳으로 간다면 A(xrxr)=0A(\vv{x}_r - \vv{x}_r') = \vv{0} 이라 차가 영공간에 있는데, 그 차는 행공간에도 있으므로 Theorem 1에 의해 영벡터이다. 곧 두 벡터가 같다.


6. ATAA^{\mathsf{T}}A

마지막으로 앞으로 계속 쓰게 될 행렬 하나를 살펴본다. AAm×nm \times n 이면 ATAA^{\mathsf{T}}An×nn \times n 정사각행렬이고, L5에서 본 대로 언제나 대칭이다.

이 행렬의 영공간이 AA 의 영공간과 같다. L12에서 결합행렬을 두고 한 번 확인했는데, 사실 모든 행렬에 대해 성립한다.

증명. Ax=0A\vv{x} = \vv{0} 이면 양변에 ATA^{\mathsf{T}} 를 곱해 ATAx=0A^{\mathsf{T}}A\vv{x} = \vv{0} 이므로 N(A)N(ATA)\Nul(A) \subseteq \Nul(A^{\mathsf{T}}A) 이다.

반대 방향이 핵심이다. ATAx=0A^{\mathsf{T}}A\vv{x} = \vv{0} 이라 하고 양변에 xT\vv{x}^{\mathsf{T}} 를 곱하면

xTATAx=0\vv{x}^{\mathsf{T}}A^{\mathsf{T}}A\vv{x} = 0

인데, 왼쪽은 L5의 전치 규칙으로 (Ax)T(Ax)(A\vv{x})^{\mathsf{T}}(A\vv{x}) 이다. 곧 Ax2=0\|A\vv{x}\|^2 = 0 이고, (4)에 의해 Ax=0A\vv{x} = \vv{0} 이다.

ATAx=0    Ax2=0    Ax=0A^{\mathsf{T}}A\vv{x} = \vv{0} \;\Longrightarrow\; \|A\vv{x}\|^2 = 0 \;\Longrightarrow\; A\vv{x} = \vv{0}

두 영공간이 같으므로 차원도 같고, AAATAA^{\mathsf{T}}A 의 열이 모두 nn 개이니 rank=ndimN\rank = n - \dim\Nul 로 랭크도 같다. \square

여기서 이번 강의의 실용적인 결론이 나온다.

증명. ATAA^{\mathsf{T}}An×nn \times n 정사각행렬이므로, 가역인 것과 N(ATA)={0}\Nul(A^{\mathsf{T}}A) = \{\vv{0}\} 인 것이 같다(L13의 (13)). Theorem 4에 의해 이것은 N(A)={0}\Nul(A) = \{\vv{0}\} 과 같고, 다시 AA 의 열이 독립인 것과 같다. \square

이 조건이 앞으로 계속 문제가 된다. 다음다음 강의에서 최소제곱의 해가 유일한 이유가 바로 Theorem 5의 조건이고, 열이 종속일 때 어떻게 하는가는 L33까지 미뤄 둔다.


마치며...

이번 강의에서 다룬 것을 정리하면 다음과 같다.

대상내용
직교xTy=0\vv{x}^{\mathsf{T}}\vv{y} = 0. 피타고라스와 같은 말이다
직교 부분공간양쪽의 모든 쌍이 직교. 바닥과 벽은 해당하지 않는다
공유하는 것영벡터뿐이다
행공간 \perp 영공간Ax=0A\vv{x} = \vv{0} 을 행별로 읽으면 그대로 나온다
열공간 \perp 좌영공간위 결과를 ATA^{\mathsf{T}} 에 적용
직교여공간직교할 뿐 아니라 차원까지 채운다. r+(nr)=nr + (n-r) = n
유일한 분해x=xr+xn\vv{x} = \vv{x}_r + \vv{x}_n, 방법은 하나뿐
ATAA^{\mathsf{T}}A영공간과 랭크가 AA 와 같다. 열이 독립일 때만 가역

내적을 도입하자 L10의 지도에 직각이 나타났다. 증명은 놀랍도록 짧았는데, Ax=0A\vv{x} = \vv{0} 이라는 식이 처음부터 직교한다고 말하고 있었기 때문이다. 네 강의 전에 미뤄 둔 약속을 이제 지켰다.

그리고 더 강한 것도 얻었다. 두 부분공간은 단지 직교하는 것이 아니라 차원까지 채우고, 그래서 Rn\R^n 의 모든 벡터가 두 조각으로 유일하게 갈린다.

여기서 실용적인 물음이 하나 생긴다. 유일하게 존재한다는 것은 알았는데, 그 조각을 실제로 어떻게 구하는가. 다음 강의에서 그 방법을 배운다. 그리고 그 방법은 뜻밖에도 L6에서 미뤄 두었던 다른 물음에도 답한다. b\vv{b} 가 열공간 밖에 있어 해가 없을 때 무엇을 할 것인가 하는 물음이다.


이번 강의의 내용을 파이썬으로 확인해 보려면 L14 실습 노트북으로 넘어가면 된다. 네 부분공간의 기저를 뽑아 내적표를 만들어 전부 0인지 보고, 무작위 행렬로 N(ATA)=N(A)\Nul(A^{\mathsf{T}}A) = \Nul(A) 를 확인하며, 회전시킬 수 있는 3차원 그림으로 직각을 여러 각도에서 볼 수 있다.