8.1. The Idea of a Linear Transformation

선형대수학 글 목록

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

1. 이번 강의의 위치

이번 강의는 linear transformation, 즉 선형변환을 다룬다.

선형대수 강의는 전통적으로 선형변환에서 시작하기도 한다. 행렬보다 선형변환을 먼저 보는 방식이다.

행렬은 계산을 위해 좌표를 도입한 뒤에 나타나는 표현이다. 그 뒤에는 더 근본적인 개념인 linear transformation이 있다.

즉 흐름은 다음과 같다.

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

물리학자처럼 좌표를 싫어하는 사람은 행렬보다 공간 전체에서 무슨 일이 일어나는지를 먼저 보고 싶어한다. 하지만 실제 계산을 하려면 결국 좌표를 정하고, 그 좌표계에서 행렬을 얻게 된다.

이번 글에서는 먼저 행렬 없이 선형변환의 아이디어를 본다.


2. Linear Transformation이란 무엇인가

linear transformation은 벡터를 입력으로 받아 벡터를 출력으로 내보내는 함수이다.

보통 다음처럼 쓴다.

T(v)T(v)

여기서 vv는 입력 벡터이고, T(v)T(v)는 출력 벡터이다.

함수 f(x)f(x)가 숫자 xx를 입력받아 숫자 f(x)f(x)를 내보내듯, transformation TT는 벡터를 입력받아 벡터를 내보낸다.

예를 들어,

T:R2R2T:\mathbb{R}^2 \rightarrow \mathbb{R}^2

라면 TT는 평면의 벡터를 받아 다시 평면의 벡터로 보내는 변환이다.


3. 선형성 조건

어떤 transformation이 linear하려면 두 조건을 만족해야 한다.

첫 번째는 덧셈을 보존하는 것이다.

T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w)

두 번째는 스칼라배를 보존하는 것이다.

T(cv)=cT(v)T(cv)=cT(v)

이 두 조건을 합치면 다음처럼 쓸 수 있다.

T(c1v+c2w)=c1T(v)+c2T(w)T(c_1v+c_2w)=c_1T(v)+c_2T(w)

즉 선형변환은 linear combination을 그대로 보존한다.

이 조건이 중요한 이유는, basis vector들이 어떻게 변하는지만 알면 모든 벡터가 어떻게 변하는지 알 수 있기 때문이다.


4. 예시 1: Projection

첫 번째 예시는 projection이다.

평면 R2\mathbb{R}^2 안에 원점을 지나는 직선 하나가 있다고 하자. transformation TT는 평면의 모든 벡터를 그 직선 위로 정사영한다.

즉 어떤 벡터 vv가 있을 때,

T(v)=projection of v onto the lineT(v)=\text{projection of }v\text{ onto the line}

이다.

이 변환은 좌표 없이도 설명할 수 있다. 어떤 축을 잡거나 matrix를 쓰지 않아도, “이 벡터를 주어진 직선 위로 내린다”는 규칙만으로 transformation이 정의된다.

projection은 linear transformation이다.

예를 들어 vv를 두 배로 늘리면 projection도 두 배로 늘어난다.

T(2v)=2T(v)T(2v)=2T(v)

vv의 방향을 반대로 바꾸면 projection도 방향이 반대로 바뀐다.

T(v)=T(v)T(-v)=-T(v)

vvww를 더한 뒤 projection한 결과는 각각 projection한 뒤 더한 결과와 같다.

T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w)

따라서 projection은 선형변환이다.


5. 비예시 1: 평면 전체를 고정 벡터만큼 이동

이번에는 평면 전체를 어떤 고정 벡터 v0v_0만큼 이동시키는 변환을 생각하자.

T(v)=v+v0T(v)=v+v_0

이 변환은 직관적으로는 매우 간단하다. 모든 벡터를 같은 방향으로 같은 양만큼 밀어내는 변환이다.

하지만 이 변환은 linear transformation이 아니다.

왜냐하면 스칼라배 조건이 깨지기 때문이다.

예를 들어 vv를 두 배로 하면,

T(2v)=2v+v0T(2v)=2v+v_0

이다.

반면,

2T(v)=2(v+v0)=2v+2v02T(v)=2(v+v_0)=2v+2v_0

이다.

일반적으로,

T(2v)2T(v)T(2v)\neq 2T(v)

이다.

또 선형변환이라면 반드시 0벡터를 0벡터로 보내야 한다.

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

하지만 이 변환에서는,

T(0)=v0T(0)=v_0

이다.

v00v_0\neq 0이면 0벡터가 0벡터로 가지 않는다. 따라서 이 변환은 선형이 아니다.


6. 선형변환은 왜 T(0)=0T(0)=0이어야 하는가

선형변환에서는 항상 0벡터가 0벡터로 간다.

스칼라배 조건을 사용하면 바로 볼 수 있다.

T(c0)=cT(0)T(c0)=cT(0)

그런데 c0=0c0=0이므로,

T(0)=cT(0)T(0)=cT(0)

이다.

예를 들어 c=3c=3을 넣으면,

T(0)=3T(0)T(0)=3T(0)

이 된다.

이를 만족하려면,

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

이어야 한다.

그래서 원점을 이동시키는 transformation은 linear transformation이 될 수 없다.


7. 비예시 2: 벡터의 길이를 반환하는 변환

다음 transformation을 생각하자.

T:R3RT:\mathbb{R}^3 \rightarrow \mathbb{R} T(v)=vT(v)=\|v\|

즉 3차원 벡터를 입력받아 그 길이를 출력하는 변환이다.

이 변환은 0벡터를 0으로 보낸다.

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

또 양수 스칼라배에 대해서는 길이도 같이 늘어난다.

T(2v)=2T(v)T(2v)=2T(v)

하지만 음수 스칼라에서는 문제가 생긴다.

T(v)=v=vT(-v)=\|-v\|=\|v\|

반면,

T(v)=v-T(v)=-\|v\|

이다.

일반적으로,

T(v)T(v)T(-v)\neq -T(v)

이다.

따라서 벡터의 길이를 반환하는 transformation은 linear transformation이 아니다.


8. 예시 2: Rotation

이번에는 rotation을 보자.

예를 들어 평면의 모든 벡터를 45도 회전시키는 transformation을 생각하자.

T:R2R2T:\mathbb{R}^2 \rightarrow \mathbb{R}^2

T(v)T(v)vv를 45도 회전한 벡터이다.

이 변환도 좌표 없이 설명할 수 있다. 평면 전체를 원점 기준으로 45도 돌리는 것이다.

rotation은 linear transformation이다.

벡터를 먼저 더하고 회전해도 되고, 각각 회전한 뒤 더해도 된다.

T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w)

또 스칼라배도 보존된다.

T(cv)=cT(v)T(cv)=cT(v)

예를 들어 벡터를 두 배로 길게 만든 뒤 회전하면, 회전한 벡터도 두 배 길이가 된다.

따라서 원점 중심의 rotation은 선형변환이다.


9. 도형 전체에 작용하는 Linear Transformation

linear transformation은 벡터 하나에만 작용하는 것이 아니다. 평면의 모든 점, 모든 벡터에 동시에 작용한다고 볼 수 있다.

예를 들어 평면 위에 작은 집 모양이 있다고 하자. 집의 테두리를 이루는 모든 점을 transformation에 넣으면, 변환된 집 모양이 나온다.

rotation이면 집 전체가 회전한다.

projection이면 집 전체가 어떤 직선 위로 납작하게 눌린다.

reflection이면 집이 뒤집힌다.

이 관점은 행렬이 단순히 숫자 배열이 아니라 공간 전체를 움직이는 규칙이라는 것을 보여준다.


10. Matrix에서 오는 Linear Transformation

행렬은 항상 linear transformation을 만든다.

행렬 AA가 주어졌을 때,

T(v)=AvT(v)=Av

라고 정의하면 TT는 linear transformation이다.

왜냐하면 행렬곱은 덧셈을 보존한다.

A(v+w)=Av+AwA(v+w)=Av+Aw

또 스칼라배도 보존한다.

A(cv)=cAvA(cv)=cAv

따라서 모든 행렬은 하나의 linear transformation을 만든다.

반대로, basis를 정하면 모든 linear transformation은 어떤 matrix로 표현된다. 이것이 다음 글의 핵심이다.


11. 예시 3: Matrix가 만드는 Transformation

다음 행렬을 생각하자.

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

이 행렬은 벡터

[xy]\begin{bmatrix} x \\ y \end{bmatrix}

를 다음처럼 보낸다.

A[xy]=[xy]A \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} x \\ -y \end{bmatrix}

xx성분은 그대로 두고 yy성분의 부호만 바꾼다.

즉 이 transformation은 xx축에 대한 reflection이다.

평면 위의 집 모양에 이 행렬을 적용하면, 집은 위아래로 뒤집힌다. 지붕이 아래로 향하고, 문도 아래쪽에 뒤집혀 나타난다.

이 예시는 matrix multiplication이 공간 전체에 작용하는 transformation임을 보여준다.


12. Linear Transformation을 알기 위해 필요한 정보

linear transformation TT를 완전히 알려면 얼마나 많은 정보를 알아야 할까?

모든 벡터 vv에 대해 T(v)T(v)를 직접 알려 주는 것은 불가능하다. 하지만 linearity 덕분에 basis vector들의 image만 알면 충분하다.

입력공간의 basis를 다음처럼 두자.

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

임의의 벡터 vv는 basis의 linear combination으로 쓸 수 있다.

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

linear transformation을 적용하면,

T(v)=T(c1v1+c2v2++cnvn)T(v) = T(c_1v_1+c_2v_2+\cdots+c_nv_n)

선형성에 의해,

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

이다.

따라서 T(v1),T(v2),,T(vn)T(v_1),T(v_2),\dots,T(v_n)만 알면 모든 T(v)T(v)를 알 수 있다.

이것이 linear transformation이 basis와 깊게 연결되는 이유이다.


13. 핵심 정리

linear transformation은 벡터를 벡터로 보내는 함수 중에서 linear combination을 보존하는 transformation이다.

핵심 조건은 다음이다.

T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w) T(cv)=cT(v)T(cv)=cT(v)

projection과 rotation은 linear transformation이다.

반면 평면 전체를 고정 벡터만큼 이동시키는 shift는 선형변환이 아니다. 벡터의 길이를 반환하는 transformation도 선형변환이 아니다.

모든 matrix multiplication은 linear transformation을 만든다.

T(v)=AvT(v)=Av

그리고 linear transformation은 basis vector들이 어디로 가는지만 알면 완전히 결정된다.

다음 글에서는 basis를 선택했을 때 linear transformation이 어떻게 matrix로 표현되는지 정리한다.