학습목표

 이번 강의에서는 고유값 분해와 밀접한 관련을 가지는 대각화의 개념에 대해 배워보겠습니다. 이는 나중에 배울 특이값 분해(SVD, Singular Value Decomposition)와도 밀접한 관련이 있으니 숙지하고 넘어가시길 바랍니다.

핵심 키워드

  • 대각화행렬(Diagonalizable Matrix)

학습하기

 이제 대각화(Diagonalize)를 생각해보죠. 기본적으로 이건 정방행렬에 대해 생각하는 개념이구요. Diagonal matrix라는, (i,i)의 값만 존재하고 나머지 좌표의 값은 0인 그런 행렬로 변환하는 과정을 대각화라고 생각하시면 됩니다. 다만 이건 모든 행렬에 대해 가능한게 아니라, 되는 행렬이 있고, 안되는 행렬이 있습니다. 아래 식에 등장하는 V matrix를 찾을 수 있는가 없는가로 구분할 수 있겠습니다. 이렇게, 대각화가 가능한 행렬을 Diagonalizable matrix라고 부릅니다.

 그럼 이러한 Diagonal matrix를 어떻게 찾을 것인가. 아래 수식의 두 번째를 잘 보셔야합니다. 좌측에서 우측은 갈 수 있찌만, 우측에서 좌측은 불가능합니다. V라는 행렬이 역행렬이 존재할 때는 우측에서 좌측이 가능하겠죠.

 AV와 VD를 각각 생각해봅시다. AV에서 V라는건, n개의 컬럼을 가지니까, 아래와 같이 연산할 수 있겠죠. 그리고 VD도 마찬가지로 아래와 같이 연산될겁니다. 그러면 이제, AV=VD라는 식에서, Av1=r1v1, Av2=r2v2, ... 라는 등식을 얻어낼 수 있겠죠.

 그렇게 정리된 각각의 식이, 생각해보면 고유벡터에 해당하는 식과 정확히 동일합니다. 고유값 r1,r2,...,rn에 대한 고유벡터 v1,v2,..,vn이 된 셈이죠. 그런 관점에서 보면 V가 역행렬을 갖기 위해서는, 정방행렬이 되어야하고, 즉슨 n개의 고유벡터들이 반드시 선형독립이어야겠죠. 

 따라서 아래의 그림과 같이, V는 반드시 정방행렬이어야하고, n개의 선형독립 컬럼을 가져야합니다. V는 고유벡터의 컬럼이었기 때문에, (A-rI)x=0를 생각해볼 때, A matrix가 반드시 n개의 선형독립 고유벡터를 지녀야만합니다. 그렇지 않다면, Diagonalizable하지 않게 되는 것이겠죠. 이상입니다.

 

학습목표

 이번 시간에는 지난 시간에 배운 새로운 벡터 공간의 개념을 바탕으로 고유벡터와 고유값을 더 깊이 이해하고 특성방정식(Charateristic Equation)을 통해 이들을 구하는 법을 알아보겠습니다.

핵심 키워드

  • 특성방정식(Characteristic Equation)

학습하기

 자 앞서 영공간에 대해 살펴봤는데, 다시 고유벡터로 돌아와봅시다. 고유벡터와 고유값을 구하기 위한 식이 아래와 같은 식이고, A-rI를 B로 치환하면 이는 결국 Bx=0라는 식의 솔루션, 즉 Nul B가 되는 셈입니다. 그리고 이러한 공간을, Eigenspace라고 하죠. 앞서 봤던 Rank-Nullity thm의 내용을 그대로 쓸 수 있겠죠. A-rI가 3차원일 때, A-rI가 2개의 기저벡터를 갖는다면, 고유벡터는 1차원을 갖는다. 이런 식의 접근이 가능하다는 말입니다.

 이러한 내용을 안 지금, 다시 한번 아래의 예제를 봅시다. Row A에서 선형독립인 벡터가 1개입니다. 그럼 고유벡터는 몇 개가 될 수 있을까요. 반드시 1개겠죠. dim(Row A) + dim(Nul A) = 2이 나와야하니까요.

 그리고, 이 예제에서는 -3이라는 고유값도 갖는데, 이 경우에도 Row A의 선형독립 벡터는 1개이며, 고유벡터도 1개 밖에 존재할 수 없습니다. 아니 정확하게는 고유벡터의 개수가 아니라 선형독립인 벡터의 개수가 1개인거죠.

 이번에는 저런 고유값을 어떻게 찾느냐-에 대해 말해봅시다. 앞의 예제를 떠올려보면, A-rI를 선형의존하게끔 만들어줬을 때, 고유벡터를 찾을 수 있었습니다. 선형의존하다는 말은 해당 행렬이 역행렬을 갖지 못한다는 말이기도 했죠. 물론 역행렬을 갖고 말고 하는 문제는, 정방행렬에서만 생각하셔야합니다. 그럼 역행렬을 갖지 못한다는 말은 det(A-rI)=0라는 말이기도 했죠. 때문에 저희는 det(A-rI)=0를 만족하는 r를 찾으면, 이게 고유값이 될 것을 알 수 있습니다. 그리고 이게 바로 특정방정식(Characteristic Equation)입니다.

 예제를 봅시다. 2x2 행렬이기 때문에, 행렬식을 굉장히 쉽게 계산할 수 있겠죠. 때문에 r=-3 or 8이라는 고유값을 계산할 수 있습니다.

 이렇게 고유값을 계산하고 나면, 각각의 고유값에 대한 고유벡터를 계산할 수 있게 되겠죠. 여러분이 먼저 보셨던 예제처럼 말입니다.

 최초에 설명드렸던 것 처럼, A 라는 행렬과 r 라는 고유값은, 같은 방향을 가지되 크기가 다른 transformation을 시행하였습니다. 때문에 어떤 고유값 r에 대한 고유벡터 x에 대해, Ax를 시행한다는 것은, rx를 시행하는 것과 같고, 이는 시각적으로 아래와 같이, 방향은 유지하되 크기만 조절해주는, 그런 결과를 낳게됩니다.

 결국, 저희는 특성 방정식을 계산함으로써, 고유값을 계산하고, 해당 고유값에 맞는 고유벡터를 얻게되며, 이는 고유공간의 기저 벡터와 같게 됩니다. 이상입니다.

 

학습목표

 드디어 이번 강의에서는 이제까지 우리가 배워온 개념을 토대로 고유값 분해에 대해 배워보겠습니다. 그리고 고유값 분해를 통한 선형변환의 과정을 다루겠습니다.

핵심 키워드

  • 고유값 분해(Eigen Decomposition)

학습하기

 그럼 이제, A matrix가 Diagonalizable이라고 가정해봅시다. 그럼 D=V^-1 A V로 표현할 수 있을테구요. 이는 다시 VDV^-1 = A라고 표현할 수 있을 테고, 이를 저희는 Eigen Decomposition이라고 부릅니다. 역행렬을 갖는 V 행렬과, Diagonal matrix D로 분해한거죠. 저희가 인수분해를 하듯, 어떤 행렬을 다른 행렬의 곱으로 표현하는 거죠. QR Factorization(Decomposition)처럼요. 

 다음과 같은 행렬 A가 있고, 이게 Linear transformation이라고 가정해봅시다. 그럼 Ax 를 계산하기 위해 V, D를 사용할 수 있습니다. 생각해봅시다. V는 고유벡터였죠. 그리고 Linear하기 때문에, af(x)+bf(y) = f(ax+by)라는 성질이 성립합니다. 그래서, 어떤 x가 들어왔을 때, 이것을 고유벡터의 선형결합으로 표현하게 되면, Ax라는 계산식을, rx라는 식으로 바꿔서 설명할 수 있게되고, 이것의 계산은 Ax에 비해 훨씬 간편하죠. 일종의 트릭인거죠.

 이러한 내용들을 더 잘 이해하기 위해, Change of Basis를 한 번 진행해봅시다. 전에 말씀드렸듯이, 기저는 하나로 고정되지 않습니다. 여러 가지의 기저가 존재할 수 있어요. 그 중에서도 Standard vector는 값을 표현하기에 굉장히 편리하죠. 그런데 저희가 하고싶은건, 어떤 벡터 x를 고유벡터의 선형결합으로 표현하는 겁니다. 그러니까 기저를 고유벡터로 변경하고자 하는거죠. v1 = [3,1], v2 = [-2,1]를 고유벡터로 갖는다고 가정하면, x = [4,3] = 2v1 + 1v2임을 알 수 있습니다. 여기서 2와 1이라는 Coefficient를 어떻게 찾는가-가 저희가 직면한 문제인겁니다. 사실 [4,3] = [v1, v2][x1, x2]를 풀면 되는 문제죠. 만약 [v1, v2]가 역행렬을 갖는다면, 이것의 역행렬을 양변에 곱해줌으로써 [x1, x2]를 도출할 수 있습니다. 이런 식으로 생각하셔도 좋습니다. Ax = V(D(V^-1x))를 떠올린 다음, 먼저, V^-1x를 생각해봅시다. y = V^-1x -> Vy = x. V = [v1, v2]이다. 쨋든, V의 역행렬이 존재하면 문제가 쉬워집니다. 물론 정방행렬이 아닌 등, 역행렬이 없으면 어떻게 하는가-하는 생각을 할 수 있지만, 애초에 저희는 V의 역행렬이 존재하는 가정이, Eigen Decomposition을 진행할 때 부터 깔려있습니다. 해서 V^-1x의 의미는, 그 자체로 고유벡터들의 선형결합으로 x를 표현하기 위한 계수를 계산하는 과정이 되는 겁니다.

 이제 D(V^-1x)를 다뤄보죠. D는 Diagonal matrix였습니다. 때문에 아래 그림에서 보실 수 있듯이, D와 y를 행렬곱한다는 것의 의미는, 단순히 y의 각 성분을 스칼라곱해주는 의미가 되는거죠. V^-1x = y가 x를 고유벡터의 선형결합으로 표현하기 위한 계수였는데, 이를 스칼라(고유값)곱해줌으로써, 그 길이만 변동시킨 셈입니다. 정확히는 해당 고유벡터에 대한 해당 고유값을 곱해준다는 의미겠죠.

 좌측이 y, 우측이 Dy에 대한 그림이 되겠죠.

 이제 마지막으로 VDy = Vz를 생각해봅시다. V는 고유벡터로 구성된 행렬입니다. 그리고 Dy = z는 고유벡터의 계수를 의미했습니다. 마지막으로 곱해지는 V의 역활은 고유벡터를 기저로 삼았던 좌표계를, 본래의 Standard basis 좌표계의 값으로 돌려놓는 역활을 하게 됩니다.

  결국 아래와 같은 계산이 성립하겠습니다.

 그래서, 결론적으로 다음과 같이 생각할 수 있습니다. Ax를 바로 계산 하는 것은, Eigen Decomposition을 통해 둘러둘러 계산할 수 있는데, V^-1를 통해 계수를 계산하고, D를 통해 고유값으로 간단히 계산하고, V를 통해 원래의 좌표계에 값을 표현한다. 가 되겠습니다.

 이제 A^k을 생각해봅시다. 예를 들어 A^10을 연산하고자하면, 곧이곧대로 하면, A를 10번이나 연산해야합니다. 그런데 이걸 Eigen Decomposition을 통해 연산해보면, 아래 수식과 같이 VD^kV^-1로 간단하게 표현할 수 있게 되죠. 좌표계를 여기갔다 저기갔다를 무수히 할 필요 없이, 한 번 고유벡터 좌표로 가서 모든 연산을 다 처리하고, 마지막으로 본래 좌표계로 돌아오는 겁니다. 그리고 D^k는 Diagonal matrix이기 때문에, 그 연산이 굉장히 단순해집니다.

 

'선형대수' 카테고리의 다른 글

대각화(Diagonalize)  (0) 2022.04.06
특성방정식(Charateristic Equation)  (0) 2022.04.06

+ Recent posts