8.2. The Matrix of a Linear Transformation

선형대수학 글 목록

연결 강의: MIT 18.06 Linear Algebra - Lecture 30: Linear Transformations and Their Matrices

1. 이번 글의 위치

앞 글에서는 linear transformation의 아이디어를 봤다.

linear transformation은 좌표 없이도 정의할 수 있다.

하지만 실제 계산을 하려면 좌표가 필요하다. 좌표를 정하려면 basis를 선택해야 한다.

이번 글의 핵심 흐름은 다음이다.

linear transformationchoose basesmatrix\text{linear transformation} \quad \xrightarrow{\text{choose bases}} \quad \text{matrix}

즉 basis를 정하면, 추상적인 linear transformation이 구체적인 matrix로 표현된다.


2. Coordinates는 Basis에서 나온다

벡터의 coordinates는 basis를 정한 뒤에 의미를 가진다.

예를 들어 어떤 벡터 vv가 다음처럼 쓰인다고 하자.

v=c1v1+c2v2++cnvnv=c_1v_1+c_2v_2+\cdots+c_nv_n

여기서 v1,,vnv_1,\dots,v_n이 basis라면, c1,,cnc_1,\dots,c_nvv의 coordinates이다.

즉 coordinates는 “각 basis vector가 얼마나 섞여 있는가”를 나타내는 숫자이다.

보통 우리가

[324]\begin{bmatrix} 3 \\ 2 \\ 4 \end{bmatrix}

라고 쓰면, 암묵적으로 standard basis를 사용하고 있다고 생각한다.

즉,

[324]=3[100]+2[010]+4[001]\begin{bmatrix} 3 \\ 2 \\ 4 \end{bmatrix} = 3 \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} +2 \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} +4 \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}

이다.

하지만 basis를 바꾸면 같은 벡터도 다른 coordinate를 가진다.

그래서 linear transformation의 matrix 표현도 basis에 따라 달라진다.


3. Linear Transformation에서 Matrix를 만들기 위한 준비

linear transformation이 다음과 같다고 하자.

T:RnRmT:\mathbb{R}^n \rightarrow \mathbb{R}^m

이 transformation을 matrix로 표현하려면 두 basis가 필요하다.

입력공간 Rn\mathbb{R}^n의 basis를 다음처럼 둔다.

v1,v2,,vnv_1,v_2,\dots,v_n

출력공간 Rm\mathbb{R}^m의 basis를 다음처럼 둔다.

w1,w2,,wmw_1,w_2,\dots,w_m

입력 벡터는 viv_i basis에서 coordinates를 갖고, 출력 벡터는 wiw_i basis에서 coordinates를 갖는다.

우리가 원하는 matrix AA는 다음 역할을 해야 한다.

A[input coordinates]=[output coordinates]A \begin{bmatrix} \text{input coordinates} \end{bmatrix} = \begin{bmatrix} \text{output coordinates} \end{bmatrix}

AA는 입력 좌표를 출력 좌표로 바꿔 주는 matrix이다.


4. Matrix의 Column을 만드는 규칙

linear transformation TT와 두 basis가 주어졌다고 하자.

입력 basis:

v1,,vnv_1,\dots,v_n

출력 basis:

w1,,wmw_1,\dots,w_m

matrix AA의 첫 번째 column은 T(v1)T(v_1)의 output coordinates이다.

T(v1)T(v_1)을 출력 basis로 표현한다.

T(v1)=a11w1+a21w2++am1wmT(v_1) = a_{11}w_1+a_{21}w_2+\cdots+a_{m1}w_m

그러면 첫 번째 column은 다음이다.

[a11a21am1]\begin{bmatrix} a_{11} \\ a_{21} \\ \vdots \\ a_{m1} \end{bmatrix}

두 번째 column도 같은 방식이다.

T(v2)=a12w1+a22w2++am2wmT(v_2) = a_{12}w_1+a_{22}w_2+\cdots+a_{m2}w_m

그러면 두 번째 column은 다음이다.

[a12a22am2]\begin{bmatrix} a_{12} \\ a_{22} \\ \vdots \\ a_{m2} \end{bmatrix}

일반적으로 jj번째 column은 T(vj)T(v_j)의 output coordinates이다.

이 규칙이 matrix representation의 핵심이다.


5. 왜 이 규칙이 맞는가

입력 벡터 vv의 coordinates가 다음이라고 하자.

[c1c2cn]\begin{bmatrix} c_1 \\ c_2 \\ \vdots \\ c_n \end{bmatrix}

그러면 실제 벡터는 다음이다.

v=c1v1+c2v2++cnvnv=c_1v_1+c_2v_2+\cdots+c_nv_n

linear transformation을 적용하면,

T(v)=c1T(v1)+c2T(v2)++cnT(vn)T(v)=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n)

이다.

matrix AA의 column들이 T(vj)T(v_j)의 coordinates로 되어 있다면,

A[c1c2cn]A \begin{bmatrix} c_1 \\ c_2 \\ \vdots \\ c_n \end{bmatrix}

는 정확히 위 linear combination의 output coordinates를 계산한다.

즉 matrix multiplication은 linear transformation이 basis vector들에 대해 하는 일을 모든 vector로 확장하는 계산이다.


6. Projection 예시: 좋은 Basis를 고르면 Matrix가 단순해진다

평면에서 어떤 직선 위로 projection하는 transformation을 생각하자.

입력공간과 출력공간은 모두 R2\mathbb{R}^2이다.

이번에는 basis를 standard basis가 아니라 projection에 잘 맞는 basis로 고른다.

첫 번째 basis vector v1v_1은 projection하는 직선 위의 unit vector로 둔다.

두 번째 basis vector v2v_2는 그 직선에 수직인 unit vector로 둔다.

출력 basis도 같은 basis를 사용한다.

이때 projection은 v1v_1을 그대로 둔다.

T(v1)=v1T(v_1)=v_1

반면 v2v_2는 직선에 수직이므로 projection하면 0이 된다.

T(v2)=0T(v_2)=0

이제 matrix의 column을 만든다.

첫 번째 column은 T(v1)=v1T(v_1)=v_1의 coordinates이다.

[10]\begin{bmatrix} 1 \\ 0 \end{bmatrix}

두 번째 column은 T(v2)=0T(v_2)=0의 coordinates이다.

[00]\begin{bmatrix} 0 \\ 0 \end{bmatrix}

따라서 이 basis에서 projection matrix는 다음이다.

A=[1000]A= \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}

즉 좋은 basis를 고르면 projection은 diagonal matrix가 된다.

이 basis는 projection의 eigenvector basis이다.


7. 같은 Projection을 Standard Basis에서 표현하기

이번에는 같은 projection을 standard basis에서 표현해 보자.

직선은 45도 방향이라고 하자.

즉 projection하는 방향은 다음 벡터의 span이다.

[11]\begin{bmatrix} 1 \\ 1 \end{bmatrix}

standard basis는 다음이다.

e1=[10],e2=[01]e_1= \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad e_2= \begin{bmatrix} 0 \\ 1 \end{bmatrix}

e1e_1을 45도 직선 위로 projection하면 다음이다.

T(e1)=[1212]T(e_1)= \begin{bmatrix} \frac{1}{2} \\ \frac{1}{2} \end{bmatrix}

e2e_2를 projection해도 다음이다.

T(e2)=[1212]T(e_2)= \begin{bmatrix} \frac{1}{2} \\ \frac{1}{2} \end{bmatrix}

따라서 standard basis에서 projection matrix는 다음이다.

P=[12121212]P= \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{2} & \frac{1}{2} \end{bmatrix}

이 행렬은 diagonal은 아니지만, 같은 projection을 나타낸다.

좋은 basis에서는 다음처럼 단순했다.

[1000]\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}

standard basis에서는 다음처럼 보인다.

[12121212]\begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{2} & \frac{1}{2} \end{bmatrix}

같은 linear transformation도 basis를 어떻게 잡는지에 따라 matrix 표현이 달라진다.


8. Projection Matrix 공식과 연결

45도 직선은 벡터

a=[11]a= \begin{bmatrix} 1 \\ 1 \end{bmatrix}

가 span하는 공간이다.

직선 위로 projection하는 matrix는 다음 공식으로도 쓸 수 있다.

P=aaTaTaP=\frac{aa^T}{a^Ta}

여기서,

aaT=[11][11]=[1111]aa^T= \begin{bmatrix} 1 \\ 1 \end{bmatrix} \begin{bmatrix} 1 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix}

이고,

aTa=2a^Ta=2

이다.

따라서,

P=12[1111]=[12121212]P= \frac{1}{2} \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} = \begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{2} & \frac{1}{2} \end{bmatrix}

이다.

이것이 standard basis에서의 projection matrix이다.


9. Matrix를 만드는 일반 규칙 다시 정리

linear transformation

T:RnRmT:\mathbb{R}^n \rightarrow \mathbb{R}^m

이 있고, 입력 basis와 출력 basis가 주어졌다고 하자.

입력 basis:

v1,,vnv_1,\dots,v_n

출력 basis:

w1,,wmw_1,\dots,w_m

그러면 matrix AAjj번째 column은 T(vj)T(v_j)를 출력 basis로 표현한 coordinate vector이다.

즉,

T(vj)=a1jw1+a2jw2++amjwmT(v_j)=a_{1j}w_1+a_{2j}w_2+\cdots+a_{mj}w_m

이면,

Aj=[a1ja2jamj]A_{\cdot j}= \begin{bmatrix} a_{1j} \\ a_{2j} \\ \vdots \\ a_{mj} \end{bmatrix}

이다.

이 규칙을 알면 어떤 linear transformation도 basis를 정한 뒤 matrix로 바꿀 수 있다.


10. Derivative도 Linear Transformation이다

마지막 예시는 derivative이다.

입력공간을 다음 함수들의 span으로 잡자.

1,x,x21,\quad x,\quad x^2

즉 입력 함수는 다음 형태이다.

f(x)=c1+c2x+c3x2f(x)=c_1+c_2x+c_3x^2

derivative transformation TT를 다음처럼 둔다.

T(f)=fT(f)=f'

그러면,

T(f)=c2+2c3xT(f)=c_2+2c_3x

이다.

출력공간의 basis는 다음으로 잡는다.

1,x1,\quad x

이제 derivative transformation의 matrix를 구해 보자.


11. Derivative Matrix 만들기

입력 basis는 다음이다.

v1=1,v2=x,v3=x2v_1=1, \qquad v_2=x, \qquad v_3=x^2

출력 basis는 다음이다.

w1=1,w2=xw_1=1, \qquad w_2=x

각 입력 basis에 derivative를 적용한다.

첫 번째 basis:

T(1)=0T(1)=0

출력 coordinates는 다음이다.

[00]\begin{bmatrix} 0 \\ 0 \end{bmatrix}

두 번째 basis:

T(x)=1T(x)=1

출력 coordinates는 다음이다.

[10]\begin{bmatrix} 1 \\ 0 \end{bmatrix}

세 번째 basis:

T(x2)=2xT(x^2)=2x

출력 coordinates는 다음이다.

[02]\begin{bmatrix} 0 \\ 2 \end{bmatrix}

따라서 derivative transformation의 matrix는 다음이다.

A=[010002]A= \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix}

실제로,

A[c1c2c3]=[c22c3]A \begin{bmatrix} c_1 \\ c_2 \\ c_3 \end{bmatrix} = \begin{bmatrix} c_2 \\ 2c_3 \end{bmatrix}

이고, 이는 derivative 결과

c2+2c3xc_2+2c_3x

의 coordinates와 같다.


12. Derivative가 Linear인 이유

derivative는 linear transformation이다.

함수 ff, gg와 scalar cc에 대해,

ddx(f+g)=dfdx+dgdx\frac{d}{dx}(f+g)=\frac{df}{dx}+\frac{dg}{dx}

이고,

ddx(cf)=cdfdx\frac{d}{dx}(cf)=c\frac{df}{dx}

이다.

그래서 derivative는 linear combination을 보존한다.

우리가 여러 함수의 derivative를 쉽게 구할 수 있는 이유도 이 선형성 때문이다. 기본 함수들의 derivative만 알면, 그 linear combination의 derivative는 자동으로 계산된다.


13. Matrix Multiplication과 Transformation의 합성

linear transformation을 matrix로 표현하면, transformation의 합성은 matrix multiplication으로 표현된다.

예를 들어 transformation T1T_1, T2T_2가 있고, 그 matrix가 각각 A1A_1, A2A_2라고 하자.

먼저 T1T_1을 적용하고 그다음 T2T_2를 적용하는 transformation은 다음이다.

T2(T1(v))T_2(T_1(v))

matrix로는 다음처럼 표현된다.

A2A1A_2A_1

즉 matrix multiplication은 linear transformation의 composition에서 나온다.

마찬가지로 inverse matrix는 inverse transformation을 나타낸다.

행렬의 곱, 역행렬, basis change는 모두 linear transformation 관점에서 자연스럽게 해석된다.


14. 핵심 정리

linear transformation 자체는 좌표 없이 정의할 수 있다.

하지만 matrix는 basis를 선택한 뒤에 생긴다.

입력 basis와 출력 basis를 고르면, linear transformation TT는 하나의 matrix AA로 표현된다.

matrix의 column은 다음 규칙으로 만들어진다.

jj번째 column은 T(vj)T(v_j)를 출력 basis로 표현한 coordinate vector이다.

즉,

T(vj)=a1jw1+a2jw2++amjwmT(v_j)=a_{1j}w_1+a_{2j}w_2+\cdots+a_{mj}w_m

이면,

Aj=[a1ja2jamj]A_{\cdot j}= \begin{bmatrix} a_{1j} \\ a_{2j} \\ \vdots \\ a_{mj} \end{bmatrix}

이다.

좋은 basis를 고르면 matrix는 단순해진다. projection은 eigenvector basis에서 diagonal matrix가 되고, standard basis에서는 더 복잡한 projection matrix가 된다.

derivative도 linear transformation이며, 적절한 polynomial basis를 고르면 matrix로 표현할 수 있다.

결국 matrix는 linear transformation의 좌표 표현이다.