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
즉 basis를 정하면, 추상적인 linear transformation이 구체적인 matrix로 표현된다.
2. Coordinates는 Basis에서 나온다
벡터의 coordinates는 basis를 정한 뒤에 의미를 가진다.
예를 들어 어떤 벡터 v가 다음처럼 쓰인다고 하자.
v=c1v1+c2v2+⋯+cnvn
여기서 v1,…,vn이 basis라면, c1,…,cn이 v의 coordinates이다.
즉 coordinates는 “각 basis vector가 얼마나 섞여 있는가”를 나타내는 숫자이다.
보통 우리가
324
라고 쓰면, 암묵적으로 standard basis를 사용하고 있다고 생각한다.
즉,
324=3100+2010+4001
이다.
하지만 basis를 바꾸면 같은 벡터도 다른 coordinate를 가진다.
그래서 linear transformation의 matrix 표현도 basis에 따라 달라진다.
linear transformation이 다음과 같다고 하자.
T:Rn→Rm
이 transformation을 matrix로 표현하려면 두 basis가 필요하다.
입력공간 Rn의 basis를 다음처럼 둔다.
v1,v2,…,vn
출력공간 Rm의 basis를 다음처럼 둔다.
w1,w2,…,wm
입력 벡터는 vi basis에서 coordinates를 갖고, 출력 벡터는 wi basis에서 coordinates를 갖는다.
우리가 원하는 matrix A는 다음 역할을 해야 한다.
A[input coordinates]=[output coordinates]
즉 A는 입력 좌표를 출력 좌표로 바꿔 주는 matrix이다.
4. Matrix의 Column을 만드는 규칙
linear transformation T와 두 basis가 주어졌다고 하자.
입력 basis:
v1,…,vn
출력 basis:
w1,…,wm
matrix A의 첫 번째 column은 T(v1)의 output coordinates이다.
즉 T(v1)을 출력 basis로 표현한다.
T(v1)=a11w1+a21w2+⋯+am1wm
그러면 첫 번째 column은 다음이다.
a11a21⋮am1
두 번째 column도 같은 방식이다.
T(v2)=a12w1+a22w2+⋯+am2wm
그러면 두 번째 column은 다음이다.
a12a22⋮am2
일반적으로 j번째 column은 T(vj)의 output coordinates이다.
이 규칙이 matrix representation의 핵심이다.
5. 왜 이 규칙이 맞는가
입력 벡터 v의 coordinates가 다음이라고 하자.
c1c2⋮cn
그러면 실제 벡터는 다음이다.
v=c1v1+c2v2+⋯+cnvn
linear transformation을 적용하면,
T(v)=c1T(v1)+c2T(v2)+⋯+cnT(vn)
이다.
matrix A의 column들이 T(vj)의 coordinates로 되어 있다면,
Ac1c2⋮cn
는 정확히 위 linear combination의 output coordinates를 계산한다.
즉 matrix multiplication은 linear transformation이 basis vector들에 대해 하는 일을 모든 vector로 확장하는 계산이다.
6. Projection 예시: 좋은 Basis를 고르면 Matrix가 단순해진다
평면에서 어떤 직선 위로 projection하는 transformation을 생각하자.
입력공간과 출력공간은 모두 R2이다.
이번에는 basis를 standard basis가 아니라 projection에 잘 맞는 basis로 고른다.
첫 번째 basis vector v1은 projection하는 직선 위의 unit vector로 둔다.
두 번째 basis vector v2는 그 직선에 수직인 unit vector로 둔다.
출력 basis도 같은 basis를 사용한다.
이때 projection은 v1을 그대로 둔다.
T(v1)=v1
반면 v2는 직선에 수직이므로 projection하면 0이 된다.
T(v2)=0
이제 matrix의 column을 만든다.
첫 번째 column은 T(v1)=v1의 coordinates이다.
[10]
두 번째 column은 T(v2)=0의 coordinates이다.
[00]
따라서 이 basis에서 projection matrix는 다음이다.
A=[1000]
즉 좋은 basis를 고르면 projection은 diagonal matrix가 된다.
이 basis는 projection의 eigenvector basis이다.
7. 같은 Projection을 Standard Basis에서 표현하기
이번에는 같은 projection을 standard basis에서 표현해 보자.
직선은 45도 방향이라고 하자.
즉 projection하는 방향은 다음 벡터의 span이다.
[11]
standard basis는 다음이다.
e1=[10],e2=[01]
e1을 45도 직선 위로 projection하면 다음이다.
T(e1)=[2121]
e2를 projection해도 다음이다.
T(e2)=[2121]
따라서 standard basis에서 projection matrix는 다음이다.
P=[21212121]
이 행렬은 diagonal은 아니지만, 같은 projection을 나타낸다.
좋은 basis에서는 다음처럼 단순했다.
[1000]
standard basis에서는 다음처럼 보인다.
[21212121]
같은 linear transformation도 basis를 어떻게 잡는지에 따라 matrix 표현이 달라진다.
8. Projection Matrix 공식과 연결
45도 직선은 벡터
a=[11]
가 span하는 공간이다.
직선 위로 projection하는 matrix는 다음 공식으로도 쓸 수 있다.
P=aTaaaT
여기서,
aaT=[11][11]=[1111]
이고,
aTa=2
이다.
따라서,
P=21[1111]=[21212121]
이다.
이것이 standard basis에서의 projection matrix이다.
9. Matrix를 만드는 일반 규칙 다시 정리
linear transformation
T:Rn→Rm
이 있고, 입력 basis와 출력 basis가 주어졌다고 하자.
입력 basis:
v1,…,vn
출력 basis:
w1,…,wm
그러면 matrix A의 j번째 column은 T(vj)를 출력 basis로 표현한 coordinate vector이다.
즉,
T(vj)=a1jw1+a2jw2+⋯+amjwm
이면,
A⋅j=a1ja2j⋮amj
이다.
이 규칙을 알면 어떤 linear transformation도 basis를 정한 뒤 matrix로 바꿀 수 있다.
마지막 예시는 derivative이다.
입력공간을 다음 함수들의 span으로 잡자.
1,x,x2
즉 입력 함수는 다음 형태이다.
f(x)=c1+c2x+c3x2
derivative transformation T를 다음처럼 둔다.
T(f)=f′
그러면,
T(f)=c2+2c3x
이다.
출력공간의 basis는 다음으로 잡는다.
1,x
이제 derivative transformation의 matrix를 구해 보자.
11. Derivative Matrix 만들기
입력 basis는 다음이다.
v1=1,v2=x,v3=x2
출력 basis는 다음이다.
w1=1,w2=x
각 입력 basis에 derivative를 적용한다.
첫 번째 basis:
T(1)=0
출력 coordinates는 다음이다.
[00]
두 번째 basis:
T(x)=1
출력 coordinates는 다음이다.
[10]
세 번째 basis:
T(x2)=2x
출력 coordinates는 다음이다.
[02]
따라서 derivative transformation의 matrix는 다음이다.
A=[001002]
실제로,
Ac1c2c3=[c22c3]
이고, 이는 derivative 결과
c2+2c3x
의 coordinates와 같다.
12. Derivative가 Linear인 이유
derivative는 linear transformation이다.
함수 f, g와 scalar c에 대해,
dxd(f+g)=dxdf+dxdg
이고,
dxd(cf)=cdxdf
이다.
그래서 derivative는 linear combination을 보존한다.
우리가 여러 함수의 derivative를 쉽게 구할 수 있는 이유도 이 선형성 때문이다. 기본 함수들의 derivative만 알면, 그 linear combination의 derivative는 자동으로 계산된다.
linear transformation을 matrix로 표현하면, transformation의 합성은 matrix multiplication으로 표현된다.
예를 들어 transformation T1, T2가 있고, 그 matrix가 각각 A1, A2라고 하자.
먼저 T1을 적용하고 그다음 T2를 적용하는 transformation은 다음이다.
T2(T1(v))
matrix로는 다음처럼 표현된다.
A2A1
즉 matrix multiplication은 linear transformation의 composition에서 나온다.
마찬가지로 inverse matrix는 inverse transformation을 나타낸다.
행렬의 곱, 역행렬, basis change는 모두 linear transformation 관점에서 자연스럽게 해석된다.
14. 핵심 정리
linear transformation 자체는 좌표 없이 정의할 수 있다.
하지만 matrix는 basis를 선택한 뒤에 생긴다.
입력 basis와 출력 basis를 고르면, linear transformation T는 하나의 matrix A로 표현된다.
matrix의 column은 다음 규칙으로 만들어진다.
j번째 column은 T(vj)를 출력 basis로 표현한 coordinate vector이다.
즉,
T(vj)=a1jw1+a2jw2+⋯+amjwm
이면,
A⋅j=a1ja2j⋮amj
이다.
좋은 basis를 고르면 matrix는 단순해진다. projection은 eigenvector basis에서 diagonal matrix가 되고, standard basis에서는 더 복잡한 projection matrix가 된다.
derivative도 linear transformation이며, 적절한 polynomial basis를 고르면 matrix로 표현할 수 있다.
결국 matrix는 linear transformation의 좌표 표현이다.