대각화(Diagonalizable)와 고윳값(Eigenvalue), 고유벡터(Eigenvector)

6 minute read

들어가기 전에

드디어 대각화를 정리할 수 있게 된 것 같다. 기분이 참 오묘하다. 선형대수 수업을 들을 때마다, 중요한 걸 알면서도 열심히 하지 않아 매번 후회 한 파트. 또, 복습할 때마다 뭔가 어렵고 이해가 안되서 계속 멈칫했던 파트. 공부하고 나면 알 것 같지만, 막상 설명하기는 힘들었던 파트. 그 대각화를 이제는 내가 한 번 가아아암히 정리를 할 수 있게 된 것 같다. 마치 칠 수 없었던 중량을 친 것처럼, 뿌듯하고, 또 까먹기 전에 얼른 정리해서, 나중에 다시 이걸 보고 복습을 하게 될 수 있으면 한다.

p.s. 적다 보니 고윳값에 대한 표현을 $\lambda$와 t를 계속 반복해서 적었는데, 본문에서 이 2가지는 모두 고윳값을 의미한다.

대각화란?

이렇게 나에게 있어 사연 많은 대각화. 그래서 대각화가 도대체 무엇인지 부터 한 번 보자.

우선 대각’화’는 어떤 n*n 행렬이 있을 때, 이 행렬의 대각성분을 제외 하고는 모두 0으로 만드는 것이다. 아래 예시에서는 A라는 행렬을 대각화 하여 A’라는 행렬로 만든다.

\[A = \begin{pmatrix} 1 & 3 \\ 4 & 2 \\ \end{pmatrix}\]

행렬 A를 대각화를 하면 아래와 같다.

\[A' = \begin{pmatrix} -2 & 0 \\ 0 & 5 \\ \end{pmatrix}\]

대각화를 도대체 ‘왜’ 하는지에 대해서는 좀 찾아봤는데 대부분의 자료에서는 계산 상의 이점을 든다. 행렬의 거듭제곱을 할 경우의 이점이 있는데, 위의 예시로 든 A’ 의 거듭제곱 $(A’)^{n}$ 은 아래와 같이 쓸 수 있다.

\[(A')^n = \begin{pmatrix} -2^n & 0 \\ 0 & 5^n \\ \end{pmatrix}\]

원래 행렬의 곱의 계산은 꽤 연산량이 많이 들지만, 일단 이 행렬을 제곱할 일이 있으면, 이 행렬이 대각화 가능하다는 전제 하에, 대각화를 하고 거듭 제곱을 하는 것이 연산에 있어서 많은 수고를 덜 수가 있다. (솔직히 행렬을 언제 거듭 제곱을 할 일이 있는지는 배움이 짧아서 잘 모르겠다.)

아무튼, 요약해보면 어떤 행렬을 대각화 한다는 것은 위의 예시처럼 행렬 A에서 A’ 형태처럼 대각성분을 제외하고는 모두 0으로 만드는 것이다.

대각화의 정의

실제로 대각화의 정의는 어떤지 교재를 한 번 보면,

정의 유한차원 벡터공간 V에서 정의된 선형 연산자 T에 대하여

  • $[T]_\mathfrak{B}$ 가 대각행렬이 되도록 하는 (V의) 순서 기저 $\mathfrak{B}$가 존재 할 때, 선형연산자 T는 대각화 가능(diagonalizable)하다고 한다.
  • $L_A$ 가 대각화 가능할 때, 정사각행렬 A는 대각화가능(diagonalizable)하다고 한다.

즉, 어떤 행렬이 있을 때, 그 행렬의 대각화 된 행렬을 얻는 것은, 대각행렬이 되도록 하는 순서기저 를 찾는 것이란 뜻이다. 그리고, 그러한 순서 기저를 찾기만 하면, 그 기저를 이용해 선형 변환을 행렬 표현하면, 대각화된 행렬을 얻을 수 있다는 것이다.

그렇다면 이러한 대각행렬을 어떻게 찾을까?

$D = [T]_{\mathfrak{B}}$ 라고 하고, D가 대각행렬이라고 가정하면, 행렬 D의 j번째 컬럼은 아래처럼 표현할 수 있다. \(T(\mathbf{v}_j) = \sum_{i=1}^nD_{ij}\mathbf{v}_i = D_{jj}\mathbf{v}_j = \lambda_j\mathbf{v}_j\)

역으로 $\mathfrak{B} = {\mathbf{v_1, v_2, \ldots, v_n}}$ 이 적절한 스칼라 $\lambda_1, \lambda_2, \ldots, \lambda_n$ 에 대하여 $T(\mathbf{v}_j) = \lambda_j\mathbf{v}_j$이 되도록 하는 순서기저를 찾으면 된다.

수식을 통해 보면 알겠지만, 여기서 $\lambda$는 고윳값(eigenvalue), $\mathbf{v}$는 고유벡터(eigenvector)를 의미한다.

즉, 어떤 행렬을 대각화 하기 위해서는 그 행렬을 대각 행렬로 만들어주는 순서 기저를 찾는 것이 포인트인데, 대각 행렬로 만들어주는 기저가 고유벡터이고, 고유벡터를 이용해 만든 대각 행렬의 대각 성분에는 고윳값이 자리하고 있다.

n*n 행렬 A는 대각행렬 D와 닮음이다

임의의 행렬 n*n 행렬 A가 대각화 가능하기 위해서는 A의 고유벡터로 이루어진 순서 기저가 존재 해야 한다. (행렬 A는 정의역과 치역이 n-dimension 실수로 볼 수 있으므로, 이 때의 고유벡터로 이루어진 순서 기저는 n-dimension 실수의 기저이다)

A를 대각화 해서 얻은 행렬을 D라고 하면, A와 D는 서로 닮음(similar) 관계이다. n-dimension 실수 벡터공간을 구성하는 서로 다른 기저이기 때문이다. D는 고유벡터로 이루어진 기저이고, A는 그 외의 임의의 기저이다. 두 기저는 같은 벡터 공간을 spanning 한다.

그리고, A와 D가 닮음이라는 것은 $D=Q^{-1}AQ$를 만족하는 Q가 존재함을 의미한다. 이 때의 Q는 열벡터가 A의 고유벡터로 이루어진 행렬이다.

텍스트로 봤을 때는 조금 아리까리 했는데, 아래 예제를 보면 더욱더 명확하다. 위의 예시로 들었던 행렬 A를 다시 들어보자.

\[A = \begin{pmatrix} 1 & 3 \\ 4 & 2 \\ \end{pmatrix}\]

행렬 A의 고윳값은 -2 이고, 이에 대응하는 고유벡터는 $(1 \ {-1})^{T}$ 이고,

또 행렬 A의 나머지 고윳값 하나는 5이고, 이에 대응하는 고유벡터는 $(3 \ 4)^{T}$이다.

위의 $D=Q^{-1}AQ$ 에서 Q가 A의 고유벡터로 이루어져있다고 했는데, 이 이야기는 Q가 아래와 같이 생겼다는 의미이다.

\[Q = \begin{pmatrix} 1 & 3 \\ -1 & 4 \\ \end{pmatrix}\]

그리고 이를 이용해 $Q^{-1}$을 구해서 $D=Q^{-1}AQ$에 각각 대입하면 대각행렬 D를 얻을 수 있다.

행렬의 고윳값을 구하기

여기까지 읽고나면, 이제 행렬의 대각화는 고윳값과 고유벡터와 밀접한 관련이 있음을 알 수 있다.(사실 밀접한 정도라고 하기도 뭐할 정도로 깊게 연관이 되어 있다.) 그렇다면 행렬의 고윳값은 어떻게 구할까?

행렬의 고윳값과 고유벡터에 대해 검색을 해보면 아래와 같은 관계식을 쉽게 찾을 수 있다.

\[A\mathbf{v} = \lambda\mathbf{v}\]

여기서 A는 n*n 행렬이고, $\lambda$는 고윳값, $\mathbf{v}$는 고유벡터이다.

행렬의 고윳값은 위 식을 이용해 아래와 같은 식을 만든다.

\[det(A-tI_n) = 0\]

여기서는 고윳값을 t로 썼다. 이러한 식을 특성다항식 이라고 한다. 따라서 고윳값을 찾는 것은 특성 다항식의 해를 찾는 것과 같다.

n*n 행렬의 특성 다항식에서는 최대 n개의 해가 나올수 있다. 최대라는 의미는 n개 이하가 나올 수도 있다는 뜻이다. 예를 들어서, 3*3 행렬의 특성다항식이 $det(A-tI_n) = (t-1)^2(t-3)$이라고 하면,t=1, 3이 해인데, 이런 경우가 n차 다항식에서 n개 미만의 해가 나오는 경우이다.

행렬의 고유벡터를 구하기

고윳값을 찾았다면, 이제 고유벡터를 찾아보자.

특성다항식의 해(=고윳값)을 찾았다면, 이에 대응하는 고유벡터를 찾아야 한다. 사실 고유벡터를 구하는 과정 또한 연산 자체는 그렇게 어렵지가 않다.

위의 예시를 들었던 행렬 $A =\begin{pmatrix} 1 & 3
4 & 2
\end{pmatrix}$는 고윳값이 -2와 5라고 했다. 이 중 고윳값이 -2인 고윳값을 $\lambda_{-2}$라고 적으면 이에 대응하는 $A-\lambda_{-2}I$ 아래와 같다.

\[A-\lambda_{-2}I = \begin{pmatrix} 1 & 3 \\ 2 & 4 \\ \end{pmatrix} - \begin{pmatrix} -2 & 0 \\ 0 & -2 \\ \end{pmatrix} = \begin{pmatrix} -1 & 3 \\ 2 & 2 \\ \end{pmatrix}\]

여기서 아래 식을 만족하는 $\begin{pmatrix} x_1
x_2
\end{pmatrix}$ 를 구하면 이 벡터가 고유벡터 이다.

\[\begin{pmatrix} -1 & 3 \\ 2 & 2 \\ \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ \end{pmatrix} = 0\]

그런데 왜 고유벡터는 $A-\lambda_{-2}I$와의 곱으로 0이 되어야 할까? 우리가 원래 알고 있는 고윳값과 고유벡터의 관게는 $A\mathbf{v} = \lambda\mathbf{v}$이고 이는 아래와 같이 쓸 수 있다.

\[T\mathbf{v} - \lambda \mathbf{v} = (T-\lambda I )\mathbf{v} = 0\]

따라서, (위의 예시에서는)고유벡터($\mathbf{v}$)가 $A-\lambda_{-2}I$과 곱해졌을 때 0이 되야하는 이유는 그냥 고유벡터의 정의 자체가 그렇기 때문이다.

고유벡터를 찾았지만, 이를 찾는 과정에서 알게 모르게 고유공간에 대한 개념을 건드리고 있다. 교재에서의 고유공간은

정의 벡터공간 V의 선형연산자 T와 고윳값 $\lambda$ 에 대하여, 다음 집한 $E_\lambda$ 를 고윳값 $\lambda$ 에 대응하는 T의 고유공간(eigenspace)이라 한다. \(E_{\lambda} = \{ \mathbf{x} \in V : T(\mathbf{x}) = \lambda \mathbf{x} \} = N(T-\lambda \mathbf{I_v})\)

와 같이 정의하고 있다. 이 얘기는 즉, 고윳값에 대응하는 고유벡터들을 모아놓은 집합을 의미하는데, 이는 $T-\lambda \mathbf{I_v}$의 null space이기도 하다. 결론적으로, 고유벡터는 $T-\lambda \mathbf{I_v}$ 에 속해 있는 0이 아닌 벡터이다.

앞서 n*n 행렬의 특성 다항식에서는 최대 n개의 해(여기서의 해가 고윳값이다)를 가질 수 있다고 적었다. 그리고 n개의 해를 가지지 못하는 경우의 예시로 $det(A-tI_n) = (t-1)^2(t-3)$ 처럼 특성다항식을 인수분해 했을 때를 들었다. 3차 다항식이지만, 해는 t=1, 3으로 2개 밖에 나오지 않는다.

이 때, t=1처럼 중근을 가지면서, 특성 다항식에서 가장 큰 제곱근을 가지는 숫자를 중복도(multiplicity) 라고 한다. 위의 예시에서 중복도는, t=1의 중복도는 2이고,t=3 의 중복도는 1이다.

자, 그럼 어떤 고윳값에 대응하는 고유벡터를 모아놓은 집합을 고유공간이라 하였는데, 고유 공간과 중복도는 어떤 관계가 있을까?

결론 부터 말하자면, 고유 공간은 V의 subspace이고, 고유 공간의 벡터인 고유벡터들은 고유 공간의 기저의 역할을 한다. 따라서, 어떤 고유공간의 dimension은 고유 벡터의 개수로 결정되는데, 이 때, 고유벡터의 개수는 중복도보다 클 수 없다.

조금 더 나아가서, 어떤 행렬이 대각화 가능하기 위해서는 각각의 고윳값이 가지는 중복도와 고유 공간의 dimension이 동일해야 한다. 앞서, 고유 벡터가 고유 공간의 기저 역할을 한다고 이야기한 바 있는데, 고유 공간 또한 벡터 공간의 일종이므로, 기저의 수가 곧 dimension이기 때문이다.

사실 고유 벡터의 개수가 왜 중복도보다 클 수 없고, 각각의 고윳값에 대응하는 고유벡터들이 일차 독립이면, 모든 고유벡터들의 합집합 또한 독립이라는 부분과 몇 가지 설명이 빠져있는 부분이 있긴한데 차마 적을 수가 없다…. 증명을 그대로 적자니 책을 베끼는 것이고, 텍스트로 풀어 설명하자니 증명을 제대로 이해를 하지 못한 것인지 설명을 제대로 못하겠다. 이 부분을 잡고 늘어지면 포스팅 완료는 다음 월드컵 때나 가능할 것 같으니 우선은 이렇게 하고 나중에 채워 넣자. 미래의 나야 부탁해!

행렬이 대각화가 가능한지 판정하는 법

위의 내용을 토대로 n*n 행렬이 대각화가 가능한지 아닌지는 아래 두 가지 조건을 확인하면 된다.

  1. 행렬의 특성 다항식이 완전히 인수 분해 된다.
  2. 고윳값의 중복도가 $n-rank(A-\lambda I_n)$ = $nullity(A-\lambda I_n)$ 와 같다.

1번에 적혀있는 완전한 인수 분해는 언급하진 않았지만, $t^2 - 1 = (t+1)(t-1)$과 같이 인수분해가 깔끔하게 떨어지는 경우다. 완전히 인수 분해되는 것이 대각화의 조건이 되는 이유는, 대각행렬을 구하는 과정을 떠올려보면 된다.

2번은 결국 고유 공간의 null space의 dimension을 이야기 하는 것이므로 이미 위에 적은 바가 있는 내용이나 마찬 가지이다.

고유 분해(Eigen Decomposition)

대각화랑 관련된 파트를 이렇게 공부하고나니, 고유 분해는 사실 큰 게 없었다. 위키에 예시가 너무 잘 되어 있어서 링크를 첨부한다. 링크

요약하면, 앞 부분에서 이야기 했던 $D=Q^{-1}AQ$와 동일한 이야기 인 것 같다.

마치며

하…포스팅을 시작할 때만 해도, 그 어디에도 없던 완벽한 대각화 관련 글을 써야지 했는데 진짜 용두사미도 이런 용두사미가 없다 ㅋㅋㅋㅋㅋ 나중에 다시 보완해야지 하지만 여태까지의 패턴으로 봤을 때는 그럴 일은 없을 것 같당 힝

Reference - 스티븐 H.프리드버그, 아놀드 J.인셀, 로렌스 E, 스펜스, 『프리드버그 선형대수학 5판』,한빛 아카데미(2020)