선형대수학 Linear Algebra |
|||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" |
<colbgcolor=#006ab8> 기본 대상 | 일차함수 · 벡터 · 행렬 · 선형 변환 | |
대수적 구조 | 가군(모듈) · 벡터 공간 · 내적 공간 · 노름 공간 | ||
선형 연산자 | <colbgcolor=#006ab8> 기본 개념 | 연립방정식( 1차 · 2차) · 행렬곱 · 단위행렬 · 역행렬과 크라메르 공식 · 가역행렬 · 전치행렬 · 행렬식( 라플라스 전개) · 주대각합 | |
선형 시스템 | 기본행연산과 기본행렬 · 가우스-조르당 소거법 · 행사다리꼴 · 행렬표현 · 라그랑주 보간법 | ||
주요 정리 | 선형대수학의 기본정리 · 차원 정리 · 가역행렬의 기본정리 · 스펙트럼 정리 | ||
기타 | 제곱근행렬 · 멱등행렬 · 멱영행렬 · 에르미트 행렬 · 야코비 행렬 · 방데르몽드 행렬 · 아다마르 행렬 변환 · 노름(수학) | ||
벡터공간의 분해 | 상사 · 고유치 문제 · 케일리-해밀턴 정리 · 대각화( 대각행렬) · 삼각화 · 조르당 분해 | ||
벡터의 연산 | 노름 · 거리함수 · 내적 · 외적( 신발끈 공식) · 다중선형형식 · ∇ · 크로네커 델타 | ||
내적공간 | 그람-슈미트 과정 · 수반 연산자( 에르미트 내적) | ||
다중선형대수 | 텐서 · 텐서곱 · 레비치비타 기호 | }}}}}}}}} |
1. 개요
Cayley-Hamilton theorem1을 갖는 가환환 위의 n차 정사각행렬은 차수가 n인 특수한 방정식의 해가 된다는 정리이다. 이름은 아서 케일리와 윌리엄 로원 해밀턴의 이름에서 따왔다.
이 방정식은 선형대수학을 대학 수준에서 조금이라도 배웠으면 친숙할, 행렬의 특성방정식이다. 행렬의 고윳값이 해가 되기에 고윳값 문제만 나오면 학생들이 닥치고 푸는 [math(\text{det}(\lambda I-A)=0)] (행렬 [math(A)]의 특성방정식) 말이다. 여기에 복소수 스칼라 [math(\lambda)] 대신 자기 자신의 행렬 [math(A)]를 넣어도 방정식이 성립한다는 정리다. 물론 변수를 스칼라 대신 행렬을 넣었으므로 숫자 0도 영행렬로 바꿔야 한다.
증명을 [math(\text{det}(\lambda I-A)=0)]에서 [math(\lambda)] 대신 [math(A)]를 넣고 [math(\text{det}(A-A)=0)]이니 성립한다고 하면 교수님한테 털릴 것이다. 원래 방정식의 [math(\lambda)]는 스칼라인데 행렬을 무턱대고 넣으면 탈이 나는 법.[1] 애초에 [math(\text{det}(\lambda I-A)=0)]의 [math(0)]은 스칼라 [math(0)]이고 특성방정식에 [math(A)]를 대입해서 나오는 [math(O)]은 영행렬이니 혼동하면 안된다. 이 증명이 틀린 이유에 대해서는 여기의 27페이지를, 엄밀한 증명은 이곳을 참조.
2. 고등학교에서의 케일리-해밀턴 정리
한국 | 일본 |
고급 수학Ⅰ[2] | 수학C[3] |
理数[4] |
행렬 문제를 좀 더 쉽게 풀 수 있는 꼼수의 일종.
2차 정사각행렬의 경우는 이렇다.
[math( A = \begin{bmatrix} a \quad b \\ c \quad d \end{bmatrix} )]로 두면,
[math( A^{2} - \left(a+d\right)A + \left(ad - bc\right) E = O )] 라고 학생들은 기억하고 있다. 고등학교 수학에서 행렬의 연산은 거의 2차 정사각행렬만 다루므로 이렇게만 기억하면 된다. 의외로 많은 학생들이 모르는 사실이지만 이 수식은 로피탈 정리와 마찬가지로 교육과정에서 다루지 않는 내용[5][6]이다. 대부분 교과서보다는 주로 참고서 위주로 공부하다보니, 이 식이 참고서에 있어서 교육과정 중 하나로 생각하는 학생들이 많은 편. 못 믿겠다면 지금 수학1(2007개정) 교과서를 펴서 확인해보자. 교과서 어디에도 이 수식은 나와있지 않을 뿐더러 나온다 하더라도 쉬어가는 페이지에서 헤밀턴이란 수학자를 소개함과 동시에 짤막하게 언급되는 정도로만 등장할 것이다.
애초에 이 식은 행렬 그 자체보단 대학교에서 더 포괄적인 수식들(특성방정식)을 풀 때 쓰기에, 특성방정식 자체를 다루지 않는 고등학교에서는 설명이 불가능하다. 쉽게 말해서 이제 막 방정식의 개념과 1차 방정식 풀이법을 배우는 중1 학생들에게 2차 방정식 근의 공식을 증명해줄 수 없는 것과 같다. 학생들에게 특정 개념이 정확히 어떤 것인지를 알 게 해주는 게 1번째 목적인 수학교육과정 특성상 증명이 불가능한 수식을 내놓을 수는 없다. 선형대수학의 '선'자도 모르는 학생들에게 케일리-해밀턴 정리를 주고 '이거 쓰면 문제 쉽게 풂 ㅇㅇ'하는 것은 수학이라는 과목에 대한 취지를 벗어나는 것이다.
실제로 교육과정에 없는 정리이다보니 삽자루 등 몇몇 인강강사들은 케일리-해밀턴 정리를 아예 가르치지 않는다. 특히 선행학습을 굉장히 극혐하는 삽자루는 케일리-해밀턴 얘기만 나오면 욕을 남발하는 것으로 유명하다. 다만 내신 시험에서는 학교 선생님의 취향에 따라 케일리-해밀턴 정리를 풀이 과정에 서술해도 눈감아 주거나 아예 케일리-해밀턴 정리만을 위한 문제가 종종 나오기도 한다.보통 [math(\left(a+d\right))]의 최솟값이나 [math(\left(ad-bc\right))]의 최댓값을 물어보는 문제가 출제되는데, [math(A=kE)] 와 [math(A\neq kE)] 두 경우로 나누어 해결하면 된다.
고등학교 과정에서는 배우지 않는 내용이지만, 대학교 과정에서 이 식을 다시 보면 1차항의 계수가 주대각합이고 상수항의 계수가 행렬식임을 알 수 있다. 이는 일반적인 특성방정식의 성질이기도 하다.
3. 진술
[math( n \times n )] 행렬 [math(A)]가 있을 때, [math(A)]의 특성다항식이
[math(p\left(\lambda \right) = \det \left(\lambda I_n -A \right) = \lambda^n + c_{n-1} \lambda^{n-1} + \cdots + c_1 \lambda + c_0 )]
라고 하자. 그러면 이 다항식의 [math(\lambda)] 자리에 [math(A)]를 넣어 계산하면 영행렬이 된다. 즉,
[math(p\left(A \right) = A^n + c_{n-1} A^{n-1} + \cdots + c_1 A + c_0 I_n = O)]
가 성립한다.4. 증명법
4.1. 삼각화를 이용한 증명
행렬을 삼각화하여 증명하는 방법이 있다.[7] 서로 상사인 행렬은 특성다항식이 같기 때문에, 행렬 [math(A)]에 대해 정리가 성립하면 [math(A)]와 상사인 행렬에도 정리가 성립하기 때문이다.[math( n \times n )] 행렬 [math(A)]를 삼각화한 것이 [math(T)]라고 하자. 이때 [math(T)]가 다음과 같은 꼴이라면
[math(T=\begin{pmatrix} \lambda_1 & \cdots & \cdots & * \\ & \lambda_2 & & \vdots \\ & & \ddots & \vdots \\ \mathbf{0}& & & \lambda_n \end{pmatrix})]
[math(T)]의 특성다항식은 [math(\phi_T (t) = \left(t- \lambda_1\right) \left(t- \lambda_2\right) \cdots \left(t- \lambda_n\right))]와 같이 되기 때문에 다음을 보이면 된다.
[math(\phi_T (T) = \left(T- \lambda_1 I_n\right) \left(T - \lambda_2 I_n\right) \cdots \left(T- \lambda_n I_n\right) = O)]
이를 다시 쓰면
[math(\begin{pmatrix} 0 & \cdots & \cdots & * \\ & * & & \vdots \\ & & \ddots & \vdots \\ \mathbf{0}& & & * \end{pmatrix} \begin{pmatrix} * & \cdots & \cdots & * \\ & 0 & & \vdots \\ & & \ddots & \vdots \\ \mathbf{0}& & & * \end{pmatrix} \cdots \begin{pmatrix} * & \cdots & \cdots & * \\ & * & & \vdots \\ & & \ddots & \vdots \\ \mathbf{0}& & & 0 \end{pmatrix} = O)]
이라는 것이다. 이것은 귀납법을 이용해 보일 수 있다.4.2. 대수적 증명
상당히 대수학적인 다음의 증명은 순수수학 교재에서 많이 다루는 편이다. 위에 '막가파식 증명'이라고 서술된 이인석의 "선형대수와 군" remarks 링크에서 29페이지에 아래와 같은 증명을 서술하고 있다.[math( n \times n )] 행렬 [math(A)]의 특성방정식을
[math(\displaystyle p_A(\lambda) = \det \left(\lambda I_n -A \right) = \lambda^n + c_{n-1} \lambda^{n-1} + \cdots + c_1 \lambda + c_0 )]
로 쓰자. 이때 [math(\lambda I_n - A)]에 대한
크라메르 공식 [math( (\lambda I_n - A) \ \mathrm{adj}(\lambda I_n - A) = \det \left(\lambda I_n -A \right) I_n = p_A(\lambda) I_n )] 을 생각한다. 한편 [math(\text{adj}(\lambda I_n -A))]의 각 성분들은 [math(\lambda)]에 대한 n-1차 이하의 다항식이기 때문에, [math(\lambda)]로 정리하여
[math(\displaystyle \text{adj}(\lambda I_n -A)=\sum_{i=0}^{n-1} \lambda^i B_i)]
로 쓸 수 있다.(여기서 [math(B_i)]들은 적당한 [math(n \times n )] 행렬이다.) 이제 [math( (\lambda I_n - A) \ \mathrm{adj}(\lambda I_n - A) = p_A(\lambda) I_n )]에 대입해 보면
[math(\displaystyle (\lambda I_n - A) \left( \sum_{i=0}^{n-1} \lambda^i B_i \right) = \lambda^n I_n + \lambda^{n-1} c_{n-1}I_n+ \cdots + \lambda c_1 I_n+ c_0 I_n)]
이다. 여기서 양변의 [math(\lambda^i)]의 계수를 비교하면
[math(B_{n-1} = I_n , \ \ \ B_{i-1} - A B_i = c_i I_n \ (1\leq i \leq n-1) , \ \ \ -AB_0 =c_0 I_n )]
이다. 따라서
[math(\begin{aligned} p_A\left(A \right) &= A^n + c_{n-1} A^{n-1} + \cdots + c_1 A + c_0 I_n \\ &= A^n B_{n-1} + A^{n-1} \left(B_{n-2} - A B_{n-1} \right) + \cdots + A \left(B_0 - A B_{1} \right) -AB_0 = O . \end{aligned})]
4.3. cyclic subspace를 이용한 증명
[math( n \times n )] 행렬 [math(A)]가 있을 때, [math(A)]의 특성다항식을 [math(\phi_A(x))]라고 하자. 이때, [math(\phi_A \left(A\right) = O )]라는 것은 임의의 벡터 [math(v\in \mathbb{R}^n)]에 대해 [math(\phi_A \left(A\right)v = \mathbf{0})]라는 것과 같다. 따라서 이를 증명하면 된다.[math(v = \mathbf{0})]이면 당연히 [math(\phi_A \left(A\right)v = \mathbf{0})]가 성립하므로, 벡터 [math(v \neq \mathbf{0})]라 하자. 이때 다음과 같은 다항식들의 집합을 정의한다.
[math(\mathcal{I}_v = \left\{p(x) \in \mathbb{R} \left[x\right] : p(A)v = \mathbf{0} \right\} )]
[math(\mathcal{I}_v )]에서 차수가 가장 낮은 것 중 최고차항 계수가 1인 것을 [math(m_v(x))]라고 하자. 그러면 [math(v \neq \mathbf{0})]이므로, [math(\deg m_v \geq 1)]이다. 이때
[math(m_v(x) = x^d + a_{d-1}x^{d-1} + \cdots + a_1 x + a_0)]
라고 쓰자([math(d\geq 1 )]).한편 선형사상 [math(L_A: \mathbb{R}^n \to \mathbb{R}^n, X \mapsto AX)]에 대하여 [math(v)]로 생성되는 cyclic space를 [math(W)]라 하자. 즉,
[math(W = \langle v, Av, A^2 v, \cdots \rangle)]
이다. 그러면 [math(\deg m_v = d)]이므로, [math(W)]의 기저는 [math(\mathcal{B} = \left\{v, Av, \cdots, A^{d-1}v \right\})]가 된다.[math(L_A)]를 [math(W)]로 제한한 선형사상 [math(L_A|_W:W \to W, X \mapsto AX)]를 기저 [math(\mathcal{B} )]를 이용해 행렬로 나타낸 것을 [math(C)]라고 하면
[math( C = \begin{pmatrix} 0 & 0 & \cdots & 0 & -a_0 \\ 1 & 0 & \cdots & 0 & -a_1 \\ 0 & 1 & \cdots & 0 & -a_2 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \cdots & 1 & -a_{d-1} \end{pmatrix} )]
이다. 그러면 이로부터 [math(L_A|_W)]의 특성다항식이 [math(m_v(x))]임을 알 수 있다.[math(L_A)]의 특성다항식은 [math(L_A|_W)]의 특성다항식의 배수이므로, [math(\phi_A \left(x\right) \in \mathcal{I}_v )]. 따라서 [math(\phi_A \left(A\right)v = \mathbf{0})]이다.
4.4. 기타
만약 조르당 분해나 rational canonical form을 먼저 배웠다면 이걸 활용해서 증명할 수도 있지만[8], 대부분의 교재에서는 케일리-해밀턴 정리를 먼저 배우기 때문에 잘 사용되는 방법은 아니다. 또 비슷하게 대각행렬에 대해 먼저 증명하는 방법이 있다. 다만 이 경우는 대각화가 안되는 행렬들이 있으므로, 모든 행렬이 대각행렬의 극한으로 나타낼 수 있다는 것을 보이는 과정이 필요하다.[9] 이 증명은 행렬계산이 대각행렬 곱셈 말고는 없다시피하므로 행렬을 공부하지 않는 과목에서 이 정리가 필요하면 종종 사용하는 방법이다. 이 두 증명에 대해서는 여기에서 자세히 볼 수 있다.
[1]
“저자의 경험에 의하면, 한 교실에 한 명쯤은 이 증명이 옳다고 끝까지 우긴다…” from 이인석, 《학부 대수학 강의 I: 선형대수와 군》, 서울대학교출판부, 2005.역시 서울대생도 사람이구나 참고로 저 책에서는 위와 같은 억지 증명을 “막가파式 증명”으로 소개하고 있다.증명 다음에 나오는
ㅋㅋ는 덤
[2]
2009 개정 교육과정
[3]
학습지도요령 2002 개정
[4]
학습지도요령 2020 개정
[5]
로피탈 정리는
코시 평균값 정리와
엡실론-델타 논법, 케일리-해밀턴 정리는 아래와 같이
고윳값과 특성다항식이 증명 과정에서 필수적으로 사용되지만 교육과정의 범위를 벗어났다. 2022 개정의 경우는 더 심해서, 역행렬과 수반행렬, 행렬식, 크라메르 공식 등 2007 개정에서 배웠던 개념들이 통으로 제외되어 훨씬 적은 내용을 배우게 된다.
[6]
일본에서는 없어진
수학C에서 케일리-해밀턴 정리를 배우고,
2차학력시험에서 평가했다. 2022년 부활 예정이지만 수학C의 기타 단원으로 분류되어 사실상 부활하지는 못했다.
[7]
다만 이 방법은 위에서처럼 임의의 1차 이상의 다항식이 항상 1차 다항식의 곱꼴로 인수분해가 가능한 경우에만, 즉 대수적으로 닫힌 체 위에서만 적용되는 증명 방법이다.
[8]
rational canonical form은 행렬을 동반행렬(companion matrix)의 블록으로 나타내는데, 동반행렬의 최소다항식은 특성다항식과 동일하기 때문에 바로 증명된다.
[9]
특성방정식의 판별식이 0이 아니면 고유값이 전부 다르므로 대각화 가능한데, 이 영역은 특정 다항식이 0이 아닌 영역이므로 조밀하다는 식으로 넘어갈 수 있다.