선형 변환 및 행렬 | Chapter 3, Essence of Linear Algebra [3Blue1Brown]

olxtar·2024년 2월 6일
0

Comment :

앞서 Basis Vector, Span, Linear Combination에 대하여 학습하였다.

선형변환(Linear Transformation)과 행렬(Matrix)의 관계






01. 선형 변환(Linear Transformation)


vT(v)w\vec{v} \rightarrow T(\vec{v}) \rightarrow \vec{w}

선형 변환(Linear Transformation)에서의 "변환""함수"의 다른말일 뿐이다. 즉 어떠한 입력(input)을 받아 어떠한 출력(output)을 내뱉는... 이를 선형대수 맥락으로 보자면, 특정 벡터를 다른 벡터로 바꾸는 함수를 선형 변환(Linear Transformation)이라고 한다.

[?] 왜 굳이 선형 함수라는 말을 사용하지 않고, 선형 변환이라고 할까?
\rightarrow The word "transformation" suggests that you think using Movement '움직임'이라는것을 생각하도록..

위 그림처럼 어떠한 벡터를 선형 변환(Linear Transformation)하였을때의 결과, 즉 출력되는 벡터는 단순히 뿅 넣으면 뿅 나오는것으로 생각치 말고 벡터의 움직임으로 생각할 필요가 있다. 위처럼 1개의 입력에 대한 1개의 출력을 생각하는 것은 쉬울 수 있으나, 여러 개의 입력에 대하여 (T(v)T(\vec{v})가 어떠한 변환을 하여) 여러개의 출력을 생각하는 것은 '벡터(공간)의 움직임' \downarrow 으로 생각하는 것이 더 좋을 수 있다.



물론 아래 그림처럼 매우 복잡한 Transformation이 존재할 수 있지만...

다행히도 선형대수학(Linear Algebra)에서의 변환(Transformation)은 다소 쉽게? 제한된다.

💫 시각적인 설명

  • Lines remain lines : Transformation 이전에 존재하는 모든 '선'들은 Transformation 이후에도 직선이어야 함
  • Origin remains fixed : 원점은 그대로 원점이어야 함
  • Grid lines remain parallel and evenly spaced : 격자선들이 Transformation 이후에도 '평행'하고 '동일한 간격'으로 존재해야함.



선형변환을 수식적으로 나타내는 법

자 이제 대충 선형 변환(Linear Transformation)에 대한 개념과 시각적인, 기하학적인 이해(?)는 했다치자. 그러면 이러한 변환은 수치적으로 어떻게 표현할까? (바꿔말해 아래 ?에 어떠한 수식을 써야 변환을 설명할 수 있을까?)

[xinyin] ?[xoutyout]\begin{bmatrix} x_{in} \\ y_{in} \end{bmatrix} \rightarrow \space ? \rightarrow \begin{bmatrix} x_{out} \\ y_{out} \end{bmatrix}

결론은 기저벡터가 어떻게 변하는지만 알면 된다! 변환되었다라는 것을 수식적으로 T(x)T(x)라고 표현하면 아래와 같은 수식이 성립한다. 즉 변환 이전 벡터인 v\vec{v}의 기저벡터의 상수배 Scalar값을 c1,c2c_1, c_2라 했을때, 변환 이후 기저벡터의 c1,c2c_1,c_2 상수배한 것이 변환된 벡터 T(v)T(\vec{v})를 나타낸다는 것이다. 조금 더 정확하고 세부적인 내용은 다음 링크(행렬과 선형변환-공돌이의 수학정리노트)를 참고하자


v=c1i^+c2j^\vec{v} = c_1\hat{i}+ c_2\hat{j}
T(v)=c1T(i^)+c2T(j^)T(\vec{v})=c_1 T(\hat{i}) + c_2 T(\hat{j})

예시를 통해 자세히 알아보자.
아래와 같은 벡터 v\vec{v}가 있다고 생각해보자.

v=[21](1)\vec{v} = \begin{bmatrix} 2 \\ 1 \end{bmatrix} \tag{1}

벡터 v\vec{v}(특정 기저벡터를 따로 언급해주지 않는 이상 암묵적으로) 기저벡터 i^,j^\hat{i}, \hat{j}를 가진다고 볼 수 있으므로 이와 같이 표현할 수 도 있다.

v=2i^+1j^\vec{v} = 2 \hat{i}+1\hat{j}
c1=2, c2=1(1-a)c_1=2, \space c_2=1 \tag{1-a}
when  i^=[10],j^=[01]when \space\space \hat{i}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \hat{j}=\begin{bmatrix} 0 \\ 1 \end{bmatrix}

이 때 위 그림과 같이 (원래의 벡터 v\vec{v}의) 기저벡터 i^,j^\hat{i}, \hat{j}를 새로운 기저벡터, 즉 변환된 기저벡터 T(i^),T(j^)T(\hat{i}), T(\hat{j})선형 변환하였다면! (빨간점은 무시하자!)

T(i^)=[21],  T(j^)[31](2)T(\hat{i})= \begin{bmatrix} 2 \\ 1 \end{bmatrix}, \space \space T(\hat{j}) \begin{bmatrix} -3 \\ 1 \end{bmatrix} \tag{2}

아래의 식이 성립한다.

T(v)=c1T(i^)+c2T(j^)T(\vec{v})=c_1 T(\hat{i}) + c_2 T(\hat{j})

위 식에서 우리는 우측에 있는 모든 값을 알고 있다. c1,c2c_1, c_2는 (1-a) 식에 나와있고, 변환된 기저벡터T(i^),T(j^)T(\hat{i}), T(\hat{j})는 (2) 식에 있다. 따라서 위 식은...


T(v)=2[21]+1[31]=[13](3)T(\vec{v})= 2 \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} + 1 \cdot \begin{bmatrix} -3 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 \\ 3 \end{bmatrix} \tag{3}

자 (3) 수식의 결과, 즉 변환된 벡터 v\vec{v} = T(v)T(\vec{v})[13]\begin{bmatrix} 1 \\ 3 \end{bmatrix}을 아래 그림에서 생각해보자. 변환된 벡터 T(v)T(\vec{v})(원래 기저벡터를 기준으로 x축 1칸, y축 3칸의 위치) 노란색 점으로 나타내었다.

그러면 이제 변환된 기저벡터 T(i^)=[2,1],T(j^)=[3,1]T(\hat{i})=[2,1], T(\hat{j})=[-3,1] 기준의 공간, (위 그림에서 푸른색 격자)으로 바라봐보자. [!] 노란색 점은 변환된 기저벡터 기준으로 2칸, 1칸 이동된 지점이다.


다시 맨 처음 수식을 살펴보자

v=c1i^+c2j^\vec{v} = c_1\hat{i}+ c_2\hat{j}
T(v)=c1T(i^)+c2T(j^)T(\vec{v})=c_1 T(\hat{i}) + c_2 T(\hat{j})

즉 어떠한 벡터의 선형 변환(Linear Transformation)이란 원래 벡터의 기저벡터('만')을 변환시켜주는, 다시 말해 (위 그림처럼) 벡터공간에서의 기저벡터를 변환하여 변환된 격자, 좌표계에서의 벡터로 바꿔주는 것이다. 또한 앞서 말하였듯이 어떠한 벡터라는 것은 모든 벡터가 될 수 있으므로, 벡터공간에 대한 선형 변환(Linear Transformation)으로도 생각할 수 있다.

예시로 보여주었던 식을 보면, 원래의 벡터 v\vec{v}는 [2,1]이었고, 변환된 벡터 T(v)T(\vec{v})는 [1,3]이다. 우리는 이 변환된 벡터 [1,3]을 원래 기저벡터 기준의 좌표계에 자연스럽게 찍게되는데... 사실 이는 선형 변환된 벡터공간 좌표계에서 [2,1]을 나타내는 것이된다. [+] (3) 수식을 거꾸로 봐보자.

T(v)=2[21]+1[31]=[13](3)T(\vec{v})= 2 \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} + 1 \cdot \begin{bmatrix} -3 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 \\ 3 \end{bmatrix} \tag{3}

이제 정리를 해보자

  • (R2\mathbb{R}^2, 2차원에서) 우리는 어떤 벡터의 선형 변환을 자유롭게 할 수 있다. 단지 2+2개의 숫자, 즉 기저벡터를 알고있으면... 보통 이 (2개의 기저벡터를 표현할 수 있는) 4개의 숫자를 2x2 행렬로 나타낸다.
T(i^)=[21],  T(j^)[31]T(\hat{i})= \begin{bmatrix} 2 \\ 1 \end{bmatrix}, \space \space T(\hat{j}) \begin{bmatrix} -3 \\ 1 \end{bmatrix}

T(i^), T(j^)=i^new, j^new=[2311]T(\hat{i}), \space T(\hat{j}) =\hat{i}_{new}, \space \hat{j}_{new} = \begin{bmatrix} 2 & -3 \\ 1 & 1 \end{bmatrix}

예를 들어서
어떤 벡터 v=xi^+yj^\vec{v}=x \hat{i} + y\hat{j}를 위처럼 새로운 기저벡터가 그리는 좌표? 벡터공간으로 변환하려면 아래 수식과 같이 간단하게 계산할 수 있다. 이를 심플하게 생각해보면 어떤 벡터를 변환 이후의 새로운(new) 기저벡터로 스케일링하고 합한다는 의미이다.

T(v)=xi^new+yj^new=x[21]+y[31]T(\vec{v})=x \cdot \hat{i}_{new} + y \cdot \hat{j}_{new}=x \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} + y \cdot \begin{bmatrix} -3 \\ 1 \end{bmatrix}





02. 행렬(Matrix)

2+2개의 숫자, 즉 기저벡터(두 쌍)를 의미하는 값만 있으면 어떤 벡터를 그 기저벡터가 구성하는 벡터공간 좌표계로 선형 변환할 수 있다.

[acbd]=i^new, j^new(4)\begin{bmatrix} a & c \\ b & d \end{bmatrix} = \hat{i}_{new}, \space \hat{j}_{new} \tag{4}

어떤 벡터 v=[xy]\vec{v}=\begin{bmatrix} x \\ y \end{bmatrix}를 새로운 기저벡터-(4)수식가 구성하는 벡터공간 좌표계로 변환하여보자. 그냥 원래 벡터의 Scalar값을 새로운 기저벡터에 곱한 뒤(Scaling), 더해주면 된다(벡터합)

x[ab]+y[cd]x \cdot \begin{bmatrix} a \\ b \end{bmatrix} + y \cdot \begin{bmatrix} c \\ d \end{bmatrix}

[axbx]+[cydy]=[ax+cybx+dy](5)\begin{bmatrix} ax \\ bx \end{bmatrix} + \begin{bmatrix} cy \\ dy \end{bmatrix} = \begin{bmatrix} ax+cy \\ bx+dy \end{bmatrix} \tag{5}

[!] (5) 수식의 결과값을 보면 하나의 공식(?)이 떠오른다...

[acbd][xy]=[ax+cybx+dy](6)\begin{bmatrix} a & c \\ b & d \end{bmatrix} \cdot \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} ax+cy \\ bx+dy \end{bmatrix} \tag{6}

그렇다. 위 (6) 수식처럼 행렬(Matrix)벡터(Vector)의 곱셈(지금까지 설명했었던) 선형 변환을 하는 계산 방법이었던 것이다.

추가적으로 아래의 링크 등을 참고하면서 선형 변환(Linear Transformation)에 대해 조금 더 알아보자

profile
예술과 기술

0개의 댓글