관리 메뉴

The Story of Joon

Cayley–Hamilton 정리 본문

Mathematics

Cayley–Hamilton 정리

jo_on 2025. 1. 5. 01:22

참고: 이 글은 필자의 기록용으로 불친절하거나 일부 선행 지식을 필요로 할 수 있습니다.

 

선형대수학에서 케일리 해밀턴 정리(Cayley–Hamilton theorem)는 임의의 정사각행렬 $A$에 대하여 특성다항식

$$f_A(x)=\det(xI-A)$$

에 행렬 $A$를 대입하면 영행렬이 나온다는 정리이다. 수학의 정석에서 케일리 해밀턴 정리를 본 적 있는 독자라면 2x2 행렬에서 아래와 같은 식으로 기억하고 있을 것이다.

$$A^2-(a+d)A+(ad-bc)I=O$$

이 식은 사실 2x2 행렬의 특성다항식에 $A$를 대입한 꼴로, 임의의 $n\times n$ 정사각행렬에서도 이 결과가 성립한다. 심지어 행렬의 성분이 임의의 체 $F$의 원소일 때도 성립한다.

 

간단해 보이는 정리이지만 증명은 생각보다 간단하지 않다. 혹자는 아래와 같은 오류를 범하기도 한다.

$$f_A(A)=\det(AI-A)=\det(O)=0$$

...당연하지만 틀린 증명이다. $xI$는 주 대각선에 스칼라인 $x$가 있는 행렬로, 여기에 $A$를 대입한다는 건 있을 수 없다. 이게 가능하다면 $x^n=\det(xI)$이므로 $A^n=\det(AI)=\det(A)$라는 말도 안되는 결론이 얻어진다. 애초에 위 식에서도 우변은 0이 아니라 영행렬이 나와야 한다.

 

그럼 정확한 증명은 무엇일까? 위키피디아의 해당 문서를 보면 행렬의 기본적인 연산만으로 하는 증명이 나와있다. 정확한 증명이지만 솔직히 말해 선형대수학을 공부하는 입장에서 얻어갈 수 있는건 별로 없다고 생각한다. 위키피디아에 나와있는 증명은 아니지만, 필자는 삼각화를 이용한 증명을 좋아한다. 단계가 많고 선형대수학의 기초 지식을 필요로 하지만, 행렬과 선형 변환에 대한 직관을 좀더 얻어갈 수 있을 것이다.

행렬의 닮음

두 $n\times n$ 행렬 $A$, $B$에 대해 역행렬이 존재하는 $P$가 $B=PAP^{-1}$를 만족하면 $A$와 $B$를 닮음이라고 한다. 행렬의 닮음은 벡터공간 $V$의 두 기저 $\mathcal{B}$와 $\mathcal{B}'$에 대해 어떤 선형변환 $T:V\to V$를 각각의 기저에 대해 표현했을 때 나타난다. 반대로, 닮음인 행렬에 대해 이러한 조건을 만족하는 $T$와 두 기저를 찾는 것도 가능하다.

 

닮음인 행렬은 같은 선형변환을 표현하는 것이 가능하기 때문에 많은 성질을 공유한다. 대표적으로 행렬식, 고윳값, 특성다항식 등이 모두 같다. 행렬식이 행렬곱에 대해 분리되는 성질로 어렵지 않게 증명 가능하다.

$$\det(xI-B)=\det(P(xI-A)P^{-1})=\det(P)\det(xI-A)\det(P^{-1})=\det(xI-A)$$

따라서 우리의 목적은 $A$와 닮음인 행렬 중에 만만한 녀석 $B$를 찾아서, $A$ 대신 $B$에 대해 케일리 해밀턴 정리가 성립함을 증명하는 것이다. 그러면 $O=f_B(B)=f_A(B)=Pf_A(A)P^{-1}$이므로, $f_A(A)=O$인 것도 증명된다.

대각화와 삼각화

만약 $A$가 대각화가 가능하다면 어떨까? 대각행렬의 케일리 해밀턴 정리는 직접 증명해보면 알겠지만, 매우 쉽다. 그렇지만 안타깝게도 모든 행렬이 대각화가 가능하지 않다. 스칼라 체 $F$를 확장하더라도 안될 행렬은 안된다.

 

그렇지만 대각행렬과 비슷한 이유로 케일리 해밀턴 정리가 만만한 행렬이 있는데, 바로 삼각행렬이다. $A$와 닮음인 삼각행렬을 찾는 과정을 삼각화라고 하는데, 삼각화 역시 모든 행렬에 대해서 가능하지는 않다. 그렇지만 다행인 점은, 모든 행렬은 $F$를 확장하면 삼각화가 가능해진다! 따라서 우리의 목표가 좀더 명확해졌는데, $F$를 잘 확장해서 $A$를 삼각화하는 것이다.

 

삼각화 과정에 들어가기 전에, 삼각화가 선형변환의 입장에서 어떤 의미인지 살펴보자. 선형변환 $T:V\to V$에 대해 어떤 기저 $\mathcal{B}=\{\alpha_1,\cdots,\alpha_n\}$가 존재해서 $T$를 $\mathcal{B}$에 대해 표현한 행렬 $[T]_{\mathcal{B}}$이 (상)삼각행렬이라는 것은 $T(\alpha_i)$가 $\alpha_1,\cdots,\alpha_i$로 span한 부분공간 $W_i$에 들어간다는 의미이다. 이는 다시 말하면 어떤 $\lambda_i$가 존재하여 $(T-\lambda_iI)\alpha_i\in W_{i-1}$가 된다는 의미이다. 그런데 $T(W_{i-1})$ 또한 $W_{i-1}$의 부분공간이기 때문에, $W_{i-1}$의 원소와 $\alpha_i$의 선형 결합으로 표현되는 $W_i$의 임의의 벡터는 $(T-\lambda_iI)$에 의해 $W_{i-1}$의 원소로 보내진다.

 

결국 삼각화라는 것은 $T(W_i)\subseteq W_i$이고 $\dim(W_i)=i$인 부분공간의 체인 (flag라는 용어가 있다)

$$\{0\}=W_0\subset W_1\subset\cdots\subset W_n=V$$

를 찾는 것과 같고, 이런 상황에서 적절한 $\lambda_1,\cdots,\lambda_n$이 존재하여 $(T-\lambda_iI)(W_i)\subseteq W_{i-1}$이 된다 (고윳값에 대한 지식이 있는 눈치 빠른 독자는 $\lambda_i$가 고윳값이 된다는 것을 알 수 있는데, $W_{i-1}$이 $W_i$보다 차원이 낮으므로 필연적으로 $T-\lambda_iI$의 kernel이 $\{0\}$이 아니기 때문이다). 이 성질을 $i=n$에서 시작해 $i=1$까지 반복적으로 적용하면

$$(T-\lambda_1I)\cdots(T-\lambda_nI)(V)=\{0\}$$

이 되는데, 이는 다시 말해

$$(T-\lambda_1I)\cdots(T-\lambda_nI)=O$$

임을 의미한다.

 

여기서 삼각행렬에서의 케일리 해밀턴 정리가 쉽게 얻어지는데, $[T]_{\mathcal{B}}$는 앞서 얘기했듯이 삼각행렬이면서 주 대각선에는 $\lambda_1,\cdots,\lambda_n$이 놓이게 되므로 특성다항식이 $(x-\lambda_1)\cdots(x-\lambda_n)$이 되기 때문이다.

 

이제 우리의 목표가 한층 구체화되었는데, 우리는 다음과 같은 알고리즘으로 $T$를 삼각화할 것이다. 우선 $\lambda_1$과 $\alpha_1$을 찾아서 $(T-\lambda_1I)(\alpha_1)=\mathbf{0}$이 되도록 한다. 그 다음 $\lambda_2$와, $\alpha_1$과 선형 독립인 $\alpha_2$를 찾아서 $(T-\lambda_2I)(\alpha_2)$가 $\alpha_1$이 span한 공간 $W_1$에 들어가도록 한다. 이 과정을 반복하여 $n$번째 단계에서는 $\lambda_n$과, $\alpha_1,\cdots,\alpha_{n-1}$과 선형 독립인 $\alpha_n$을 찾아서 $(T-\lambda_nI)(\alpha_n)$이 $\alpha_1,\cdots,\alpha_{n-1}$이 span한 공간 $W_{n-1}$에 들어가도록 한다.

 

요약하면, 우리는 임의의 전체가 아닌 부분공간 $W$에 대해 $\lambda$와 $\alpha\notin W$를 찾아서 $(T-\lambda I)\alpha\in W$가 되기를 원한다.

Annihilating polynomial

첫 번째로 해야 할 일은, 일단 $q(T)=O$이 되는 아무 다항식 $q$를 찾는 것이다. 이런 다항식을 $T$의 annihilating polynomial이라고 한다. 이것을 찾는 것은 생각보다 어렵지 않은데, 우선 $T$를 나타내는 행렬 $A$는 $n^2$차 벡터로 볼 수 있다. 따라서 $n^2+1$개의 행렬

$$I,A,A^2,\cdots,A^{n^2}$$

은 $n\times n$ 행렬로 이루어진 $n^2$차원 벡터공간에서 선형 독립이 될 수 없고, 이 말은 즉 전부 0은 아닌 스칼라 $c_0,\cdots,c_{n^2}\in F$이 존재하여

$$c_0I+c_1A+c_2A^2+\cdots+c_{n^2}A^{n^2}=O$$

이 된다는 의미이다. 우리가 원하는 다항식 $q(x)=c_0+c_1x+\cdots+c_{n^2}x^{n^2}$ 하나를 찾았다.

 

여기서 다음 단계로 $q$를 일차식들로 분해해야 한다. 그러나 여기서 문제에 봉착한다. 그것은 $q$를 일차식들로 분해하는게 $F$에서는 불가능할 수 있다는 것이다. 간단한 예시로 $F=\mathbb{Q}$일 때 $x^2-2$나, $F=\mathbb{R}$일 때 $x^2+1$같은 다항식은 분해가 되지 않는다.

 

그렇지만 이 문제는 나중에 해결하고, 일단 분해가 되었다고 가정하자. 즉 우리는

$$(T-a_mI)(T-a_{m-1}I)\cdots(T-a_1I)=O$$

이 되는 $a_1,\cdots,a_m$을 찾았다. 이 말은 아무 벡터 $v\in V$나 가져와서 $(T-a_1I)$부터 $(T-a_mI)$까지 순서대로 적용하다 보면 언젠가는 영벡터가 된다는 뜻이다. 그러면 여기서 이전 절의 마지막 문단의 목표를 어떻게 달성해야할지 알 수 있다. 전체가 아닌 부분공간 $W$에 대해 아무 벡터 $v\notin W$를 잡는다. 여기에 $(T-a_1I)$부터 $(T-a_mI)$까지 하나씩 적용하다 보면 $(k-1)$번째까지는 $(T-a_{k-1}I)\cdots(T-a_1I)v\notin W$이었는데 $k$번째를 적용한 순간 $(T-a_kI)\cdots(T-a_1I)v\in W$이 되는 순간을 포착할 수 있다. 왜냐하면 시작할 때는 $v\notin W$이었는데 마지막 순간에는 $(T-a_mI)\cdots(T-a_1I)v=\mathbf{0}$이 되어야 하기 때문이다. 이후에는 $\lambda=a_k$, $\alpha=(T-a_{k-1}I)\cdots(T-a_1I)v$로 잡으면 목적 달성이다.

 

그렇다면 이제 남은 것은 $F$를 확장해서 $q$를 일차식들로 분해하는 것이다.

Splitting field

대수학 지식이 있는 독자라면 '아 이제 $F$의 algebraic closure나 $q$에 대한 splitting field를 잡으면 되겠군'이라고 생각하고 넘어갈 수도 있다. 이게 충분하다고 생각되면 이 절은 읽지 않아도 된다.

 

$F$를 포함하면서 체인 것을 확장체(extension field)라고 하고, 다항식 $q$에 대해 $q$가 일차식으로 분해되는 가장 작은 확장체를 $q$에 대한 $F$의 분해체(splitting field)라고 한다. 용어가 어려워 보이지만, 알고 보면 별 것 아니다.

 

앞서 언급한 $F=\mathbb{Q}$일 때 $q(x)=x^2-2$의 예시를 생각해 보자. 우리는 $\sqrt{2}$라는 수를 알고 있지만, 이는 유리수의 세계 $\mathbb{Q}$에서는 존재하지 않는 수이다. 따라서 우리는 '$q(x)=x^2-2$에 대입하면 0이 되는' $\sqrt{2}$라는 수를 새로 만들고, 연산을 위해 $a+b\sqrt{2}$꼴의 수를 모두 추가해 $\mathbb{Q}(\sqrt{2})=\{a+b\sqrt{2}:a,b\in\mathbb{Q}\}$라는 새로운 수 체계를 만든다. 그러면 (약간의 추가 확인이 필요하지만) $\mathbb{Q}(\sqrt{2})$는 $\mathbb{Q}$를 포함하는 체가 되고, $\mathbb{Q}(\sqrt{2})$는 $x^2-2$에 대한 splitting field가 된다.

 

비슷하게, $d$차 다항식 $q(x)$를 열심히 인수분해했으나 더이상 일차식으로 분해되지 않는 $d_1$차 인수 $q_1(x)$가 있다고 하자. 그러면 우리는 $q_1(\alpha)=0$이 되는 $\alpha$라는 수를 정의하고, $F(\alpha)=\{c_0+c_1\alpha+\cdots+c_{d_1-1}\alpha^{d_1-1}:c_i\in F\}$라는 새로운 수 체계를 만들면, $F(\alpha)$는 체가 되면서 (역시 확인이 필요하다) $q_1(x)$에서 일차식 인수 최소 하나를 분리해낼 수 있다. 이 과정을 최대 $d$번 반복하면, 결국 $q$를 일차식으로 완전히 분해하는 확장체를 만들 수 있게 된다.

 

증명은 확장체에서 했으나 특성다항식 $f_A$의 계수는 결국 $F$의 원소이기 때문에, $F$에서도 케일리 해밀턴 정리가 성립한다.

Comments