선형대수학에서 transformation이란 다름아닌 특정 매트릭스를 인풋으로 해서 다른 매트릭스를 아웃풋하는 함수(function)에 지나지 않습니다.
다음과 같이 2차원 열벡터(u) 앞에 2*2 matrix를 통해 linear transformation을 취할 수 있습니다. 그럼 변형된 2차원 열벡터(v)를 반환하게 됩니다..
[acbd]u=v
그렇다면 linear는 무슨 의미일까요?
linear한 transformation이란 다음 2가지 조건을 만족해야 합니다.
(기본적으로 선형대수학에서 벡터는 원점(origin)을 지나는 것을 가정합니다.)
변환된 벡터는 원벡터와 같이 origin을 지나야 합니다.
변환된 벡터가 곡선을 그리면 안됩니다.
상상이 되시나요?
조금 더 다르게 생각해봅시다.
linear transformation은 해당 벡터의 변형이 아닌 해당 벡터는 그대로 있고 벡터좌표계를 이루는 grid lines의 변형으로 이해할 수도 있습니다.
생각해보면 당연합니다. 가로측 길이와 세로측 길이를 각각 2배로 늘리는 선형변환을 상상해봅시다. 벡터자체가 늘어나도 되지만, 하나의 grid 유닛의 크기가 2배로 늘어난 상황을 생각해도 결과는 같을 겁니다.
이런 상황을 가정했을때 linear한 변환의 조건은 다음과 같이 "모든 변환된 그리드라인들이 평행하며, 균등 분할되어야 한다는 것"입니다.
"Grids lines remain parallal and remain evenvly spaced"
Intuition
다음과 같은 기본 2차원 평면 좌표의 두 기저벡터 i^ 와 j^가 있을때,
i^=[10]j^=[01]
그리고 다음과 같은 열벡터가 존재한다고 가정해봅시다.
v=[−12]
v 은 다음과 같이 i^ 와 j^의 선형결합(Linear combination)으로 표현할 수 있습니다.
여기서 v는 각 기저벡터 i^ 방향으로 -1칸, j^ 방향으로 2칸만큼의 위치를 가리키고 있다고 생각할 수 있습니다.
v=−1i^+2j^
[−12]=−1[10]+2[01]
이 상황에서 v에 특정한 종류의 선형변환(A)이 취해졌다고 가정해봅시다. 이는 그리드라인 자체를 바꾸기 때문에 다음과 같이 기저벡터도 transformed된 벡터로 변환될 겁니다.
Av=vnew
vnew=−1i^new+2j^new
선형 변환 이후에 기저벡터 i^new와 j^new는 다음과 같은 값을 가리킨다고 해봅시다. 그럼 식은 아래와 같이 나타낼 수 있을 것이고,
i^new=[1−2]j^new=[30]
vnew=−1[1−2]+2[30]
vnew 는 간단한 계산을 통해 확인할 수 있습니다.
[52]=[−1(1)+2(3)−1(−2)+2(0)]
위 식을 통해 우리는 선형변환된 그리드는 각 기저벡터를 이동시켜 새로운 기저벡터를 탄생시키고 동일하게 -1칸, 2칸을 이동시킨 것에 지나지 않는다는 사실을 알 수 있습니다.
[52]=−1[1−2]+2[30]
이를 좀더 일반화 시켜보면 다음과 같이 표현할 수 있습니다. v 가 2차원 상의 임의의 열벡터 [x,y]T라고 가정해봅시다. 어떤 벡터든 간에 다음과 같은 선형변환을 만족하게 됩니다. 변형된 기저벡터에 맞춰 각각 x칸, y칸 움직인 것에 지나지 않는 거죠.
자, 여기서 느껴야 하는 intuition은 다음과 같습니다.
선형변환 2*2 행렬 A의 좌측 컬럼은 곧 i^가 변환을 통해 도착하는 지점 i^new이고, 우측 컬럼은 j^가 도착하는 지점 j^new 이 됩니다. 그리고 그러게 변환된 기저벡터이 그리드를 따라 x칸 y칸 움직인 벡터가 바로 변환된 벡터 xnew, ynew 가 되는 것입니다. 느낌이 오시나요?
i^=[10]j^=[01]
A=[acbd]
i^new=[ab]j^new=[cd]
이 느낌에 기반에서 각 선형변환의 종류를 살펴봅시다.
Rotation
다음과 같은 기저벡터가 그리는 그리드를 시계반대방향으로 90도 이동시키면 어떻게 될까요?
i^=[10]j^=[01]
90도를 돌아 다음과 같은 좌표에 도달할 겁니다.
i^new=[01]j^new=[−10]
따라서 시계반대방향으로 90도 회전시키는 선형변환 매트릭스는 다음과 같습니다.
A=[01−10]
일반화 시키면 다음과 같습니다.
Rθ=[cos(θ)sin(θ)−sin(θ)cos(θ)]
Reflection
반사도 마찬가지 입니다.
x-axis
A=[−1001]
y-axis
A=[100−1]
y=x
A=[0110]
Shearing
다음과 같이 축을 대각선으로 이동시켜 기울이는 모든 형태를 말합니다.
A=[1021]
Orthogonal Projection
다음과 같이 정사영도 가능합니다.
Projection to X-axis
A=[1000]
Projection to Y-axis
A=[0001]
Linearly Dependent?
만약에 변환될 위치를 나타내는 벡터 i^new 와 j^new가 다음과 같이 linearly dependent하다면 어떻게 될까요?
결과는 두 기저벡터가 겹쳐지며 그리드좌표를 뭉개 어떤 벡터가 오든지 하나의 1차원 line상의 지점으로 변환시키게 됩니다.