3B1B: Essence of Linear Algebra ch.12 Change of basis

2차원 평면에서 (3,2)라는 좌표가 있다고 생각해보자. 이 좌표는 기본적으로 원점에서 오른쪽으로 3칸 움직이고, 위로 2칸 움직인 곳이라는 뜻이다. 좀더 선형대수학적으로 생각해보면 우리가 알고 있는 basis vector인 $\hat{i}$와 $\hat{j}$를 각각 scalar 3과 2를 곱해 더한, 즉 linear transformation한 새로운 벡터의 좌표로 생각할 수 있다.

ch12-1

우리는 모든 좌표계에서 이러한 임의의 가정(implicit assumptions)을 포함한다고 생각할 수 있다. 첫 번째 숫자는 오른쪽을 가르킨다는 사실과 두 번째 숫자는 윗 방향을 가르킨다는 사실은 정확한 단위 길이를 표기하는 방법이다.

사실 $\hat{i}$와 $\hat{j}$의 choice를 scalar 좌표인 벡터가 실제 scaling하는 거라고 묶을 수 있다.

벡터와 숫자집합 사이를 번역하는 방식을 coorinate system이라고 한다. 그리고 $\hat{i}$와 $\hat{j}$이라는 두 개의 특별한 벡터를 standard coordinate system의 basis vectors라고 한다.

different set of basis vectors

이번 장에서 다루고 싶은 주제는 $\hat{i}$와 $\hat{j}$가 아닌 다른 basis vectors의 사용하는 아이디어다.

이러한 상황을 가정해보자.

Jennifier라는 친구가 기존 $\hat{i}$와 $\hat{j}$가 아닌 Alternate basis vectors인

\(\mathrm{b}_{1}\)와 $\mathrm{b}_{2}\(를 를 사용한다고 한다.\)\mathrm{b}_1\(는 약간 오른쪽 위를 향하고,\)\mathrm{b}_2$$는 왼쪽 위를 향하고 있다.

ch12-2

우리가 아까 예로 들었던 점 (3,2)는 $\hat{i}$와 $\hat{j}$사용했을 땐였다. 하지만 같은 벡터에 대해서 Jennifier는 (3,2)이 아닌 (5/3, 1/3)를 사용한다. 이는 그녀의 basis vectors를 가지고 동일한 벡터를 표현할 수 있는 특정한 방식이기 때문이다.

ch12-3

우리가 사용하는 좌표계에서는 그녀의 basis vectors는

\(\mathrm{b}_{1}\)는 \(\begin{bmatrix} 2 \\ 1\\ \end{bmatrix}\) 이고, \(\mathrm{b}_{2}\)는 \(\begin{bmatrix} -1 \\ 1 \\ \end{bmatrix}\) 이다. 하지만, 그녀의 입장에서는 \(\mathrm{b}_{1}\)가 \(\begin{bmatrix} 1 \\ 0\\ \end{bmatrix}\) 이고, \(\mathrm{b}_{2}\)가 \(\begin{bmatrix} 0 \\ 1 \\ \end{bmatrix}\) 이다.

different languages

Jennifier와 우리는 다른 언어를 사용하고 있는 중이다. 지금까지 우리가 살펴본 좌표계의 grid는 construct했었다. 이는 시각화하기 용이하기 때문이었다. 하지만 실제 space 자체는 gird를 갖고 있지 않다.

Jennifer의 언어에 따라 나름의 grid를 새로 그릴 수도 있다.

ch12-4

다만, 그녀의 원점과 우리의 원점은 똑같다. 즉, 어떤 벡터든 0을 곱하면 같은 점에 위치한다. 하지만, the direction of her axes(축의 방향)the spacing of her gird lines(그리드 선 간격)는 그녀가 선택한 basis vectors에 따라 달라진다.

How do you translate beetween coordinate systems?

이제 자연스럽게 나오는 질문이, 그렇다면 어떻게 두 좌표계를 서로 비교하여 해석하고 번역할 것인가?이다.

예를 들어, Jennifier는 특정 벡터를 설명할 때 좌표값 (-1, 2)로 표현하는 데, 이걸 우리의 좌표계에서는 어떻게 표현될까? 즉, 그녀의 언어를 우리의 언어로 어떻게 해석할 수 있을까?

\(\mathrm{b}_{1}\)에 -1만큼 scaling하고 \(\mathrm{b}_{2}\)에 2만큼 scaling하면 그 값이 우리가 원하는 값이다. 즉, (-4, 1)이다. 우리의 언어로 표현된 Jennifier의 basis vectors를 나타내는 columns를 갖고 있는 행렬들의 곱이다.

ch12-5

이러한 곱은 행렬과 벡터의 곱 형태로 나타내면 친숙하다.

\(\begin{bmatrix} 2 & -1 \\ 1 & 1 \\ \end{bmatrix} \begin{bmatrix} -1 \\ 2 \\ \end{bmatrix}\) 여기서 행렬은 우리의 언어로 표현된 Jennifier의 basis vectors를 columns로 표현한 것이다.

우리는 이미 Linear transforamtion을 활용한 행렬과 벡터의 곱에 관해 3장에서 살펴보았다.

Jennifer의 basis vectors를 나타내는 columns로 이루어진 행렬은 일종의 transformation으로 생각해볼 수 있다. 그리고 이 transforamtion은 우리의 basis vectors인 $\hat{i}$와 $\hat{j}$를 Jennifer의 basis vectors인 \(\mathrm{b}_{1}\)와 $\mathrm{b}_{2}$로 움직인다(move). 이 \(\mathrm{b}_{1}\)와 \(\mathrm{b}_{2}\)는 Jennifer의 입장에서의 (1,0), (0,1)인 셈이다.

ch12-6

Jennifer는 \(\begin{bmatrix} -1 \\ 2 \\ \end{bmatrix}\) 라는 벡터를 볼 때 자기의 basis vectors에다 각각 -1과 2를 곱하여 더한 벡터를 생각한다.

결국, \(\begin{bmatrix} 2 & -1 \\ 1 & 1 \\ \end{bmatrix}\) 라는 행렬은 Jennifer입장에서의 벡터에 대한 우리의 오해(misconception)을 Jennifer가 나타내고자 하는 실제의 벡터로 transform해준다.

이러한 변환은 조금 헷갈릴 수 있다. 기하학적으로 이 행렬은 우리의 grid에서 Jennifier의 grid로 바꿔주는 것인데, 수식적으로는 Jennifier의 언어를 우리의 언어로 바꿔주기 때문이다.

ch12-7

그러면 다른 방법으로 생각해보자.

앞서 예시로 든 우리 좌표계에서는 \(\begin{bmatrix} 3 \\ 2\\ \end{bmatrix}\) 의 값을 가지는 벡터가 어떻게 Jennifier의 좌표계에서는 \(\begin{bmatrix} 5/3 \\ 1/3 \\ \end{bmatrix}\) 라고 계산될까?

이는 기초적인 행렬의 변화로 생각해볼 수 있다. Jennifer의 언어를 우리의 언어로 바꾼다. 즉, 행렬의 역행렬을 구해본다.

ch12-8

우리의 언어로 쓰여진 벡터에다 Jennifer의 basis vector로 이루어진 행렬의 역행렬을 곱하면, 그때 Jennifer의 언어로 쓰여진 그 벡터를 계산할 수 있다.

ch12-9

이것이 좌표계 사이를 왔다갔다하며 개별 벡터의 모습을 변환시키는 방법이다.

  • Jennifer의 언어로 쓰여진 벡터를 우리의 언어로 번역하려면 우리의 언어로 쓰여진 Jennifier의 basis vector 행렬을 곱하면 된다.

ch12-10

  • 그리고 위의 행렬 $A$의 역행렬 $A^-1$는 반대로 우리의 언어로 쓰여진 벡터를 그녀의 언어로 번역할때 곱한다.

ch12-11

How to translate a matrix

하지만, 벡터는 좌표계로만 표현되지는 않는다. 행렬로도 나타낼 수 있다.

이를 이해하기 위해서 3장의 Linear transformations와 4장의 Matrix multiplication을 제대로 이해하고 있어야 한다.

시계 반대방향으로 90º 회전(rotation)시키는 linear transformation을 다시 떠올려보자. 이때 우리는 $\hat{i}$와 $\hat{j}$는 각각 어디로 향하는지 따라가야 한다. 두 basis vectors는 각각 $[0, 1]^T$와 $[1, 0]^T$에 대응되는 곳으로 향한다. 이 대응되는 곳의 좌표가 90º rotation시키는 행렬의 columns이 된다.

이 행렬은 우리의 basis vectors에 완전 귀속되어 있다.

ch12-12

그렇다면 Jennifier는 이 동일한 90º rotation을 어떻게 표현할까? 그저 \(\begin{bmatrix} 0 & -1 \\ 1 & 0 \\ \end{bmatrix}\) 행렬을 그녀의 언어로 번역해보려 할 수도 있다. 근데 이 방법은 별로 올바르지 않다. 왜냐하면 저 행렬의 columns는 우리의 basis vectors인 $\hat{i}$와 $\hat{j}$가 가는 곳을 나타내고 있기 때문이다.

결국, 그녀의 basis vectors가 어디에 도달하는 지를 표현한 행렬로써 90º rotation 행렬을 나타내야 한다.

아래 그림의 순서를 따라가다 보면,

  1. Jennifer의 언어로 표현된 벡터가 있다.
  2. the change of basis matrix를 사용한 행렬을 곱해 동일한 벡터를 우리의 언어로 표현하자. (여기서 basis matrix의 columns는 우리의 언어로 표현한 Jennifer의 basis vectors이다.)
  3. 우리의 언어로 표현된 변경하고자하는 Linear transformation를 왼쪽에 곱하자.
  4. 2번 단계 행렬의 역행렬을 왼쪽에 곱하여 그 벡터를 이제 Jennifer의 언어로 바꿔준다.

ch12-13

결국 Jennifier의 언어로 표현된 90º rotation은 \(\begin{bmatrix} 1/3 & -2/3 \\ 5/3 & -1/3 \\ \end{bmatrix}\) 이다.

일반적으로, $A^{-1}MA$와 같은 표현은 지금까지 설명한 수학적인 empathy를 의미한다.

  • $M$ : 가운데 행렬은 일종의 transformation을 뜻한다. 90º rotation처럼 말이다.
  • $A^{-1}$, $A$ : 바깥쪽 두 행렬은 empathy를 나타낸다. 즉, 관점의 전환이다.
  • $A^{-1}MA$ : Jennifier처럼 다른 사람 관점(different set of basis vectors)에서의 동일한 transformation을 나타낸다.

업데이트:

댓글남기기