선형대수학 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. 개요
고유치(eigenvalue[1], characteristic value) 문제란 정사각 행렬 혹은 선형 변환의 고유치와 고유다항식, 고유벡터에 대한 문제이다. [2] 많은 경우, 행렬의 대각화를 다루며 이 문제를 풀기 시작할 것이다. 고유치 문제는 행렬의 대각화에 대한 쓸모와는 별개로, 행렬에 대한 다양한 정보들을 준다. 행렬과 선형 변환 사이에는 1-1 대응이 있기에 선형 변환에 대해서도 마찬가지이다.여기서는 고정된 체 [math(F)] 위의 [math(n)]차원 벡터 공간 [math(V)]와 그 위의 선형사상 [math(A)] (혹은 n차 정사각행렬 [math(A)])에 대해 다룬다. 체에 익숙하지 않은 선형대수학 입문자라면 [math(F)]는 편의에 따라 실수 혹은 복소수의 집합으로 간주하자.
2. 정의 및 성질
0이 아닌 벡터 [math(v \in V)]가 어떤 스칼라 [math(\lambda \in F)]에 대해 [math(Av = \lambda v)]를 만족할 때, [math(v)]를 [math(A)]의 고유벡터(eigenvector), [math(\lambda)]를 [math(A)]의 고윳값 혹은 고유치(eigenvalue)라 부른다.[3] |
행렬 혹은 선형사상 [math(A)]의 특성 다항식(characteristic polynomial)은 다항식 [math(\chi_A(x) = \det(xI - A) )]을 의미한다. [4] |
고윳값 [math(\lambda)]에 대한 고유공간(eigenspace) [math(V_{\lambda})]는 [math(\lambda)]에 대한 고유벡터의 집합이다. |
다음 기본적인 성질들을 증명할 수 있다.
- 고윳값의 집합은 특성 다항식의 근의 집합과 동일하다. [5]
- 선형사상 [math(A)]를 기저 [math(\mathscr{B})]로 표현했을 때 대각행렬이 되려면, [math(\mathscr{B})]의 원소들이 모두 0이 아닌 고유벡터여야 한다. 즉 대각화가 가능할 필요충분조건은 고유벡터로만 이루어진 기저가 존재한다는 것이다.
유한차원에 한해, 특성방정식의 근은 다음과 같은 성질이 있다.
2.1. 2차 행렬에서
[math( A = \begin{bmatrix} a \quad b \\ c \quad d \end{bmatrix} )]로 두면, 특성방정식은 다음과 같이 된다.[math( \lambda^{2} - \left(a+d\right)\lambda + \left(ad - bc\right) = 0 )]
보면 1차식의 계수는 행렬의 주대각합, 상수항은 행렬의 행렬식이다. 이는 일반적인 유한 차원 행렬의 특성방정식의 근의 성질에서 바로 유도된다. (차원-1)차식의 계수는 방정식의 근의 합, 상수항의 계수는 근의 곱이므로.
다만 3차 행렬 이상이 되면 식 자체가 꽤나 복잡해지기 때문에 공식을 외우기보다는 계산만이 답이다.
3. 고유공간 분해
고유공간들은 서로 독립되어 있다는 다음의 중요한 성질이 있다.
고유공간의 일차독립 0이 아닌 고유벡터 [math(v_1, v_2, \cdots, v_k)]들이 각각 서로 다른 고윳값 [math(\lambda_1, \cdots, \lambda_k)]에 대응된다고 하자. 그러면 리스트 [math((v_1, v_2, \cdots, v_k))]는 일차독립이다. |
- 대각화가 가능할 필요충분조건은 모든 고유공간들의 직합이 전체 공간이 되는 것이다.
3.1. 최소 다항식
다항식에 행렬을 대입하는 연산인 0이 아닌 다항식 중 차수가 최소인 것을 최소다항식(minimal polynomial) [math(m_A(x))]이라 한다. 최소다항식은 [math(q(A)=0)]인 모든 다항식들의 최대공약수가 된다.[6] |
- 케일리-해밀턴 정리: [math(\chi_A(A)=0)]. 따라서 [math(m_A \vert \chi_A)]이다.
- [math(\chi_A)]의 기약인수(irreducible factor)들은 [math(m_A)]의 인수여야 한다.
- 대각화가 가능할 필요충분조건은 최소다항식이 서로 다른 일차식들로 인수분해되는 것이다.
3.2. 일반화된 고유벡터와 조르당 분해
\chi_A(x)</math>을 ([math(F)] 위에서) 인수분해했을 때 인수 [math((x-\lambda))]가 몇 번 곱해졌는지를 대수적 중복도(algebraic multiplicity)라 부르고, 고유공간 [math(V_{\lambda})]의 차원을 기하학적 중복도(geometric multiplicity)라 부른다. |
- (같은 고윳값에 대한) 기하학적 중복도는 항상 대수적 중복도 이하이다.
- 대각화가 가능할 필요충분조건은 (모든 고윳값에 대해) 기하학적 중복도가 대수적 중복도와 동일하며, 이 중복도의 총합이 전체 차원이 돼야 한다는 것이다.
고윳값 [math(\lambda)]에 대해 벡터 [math(v)]와 정수 [math(k \ge 1)]이 [math((A-\lambda)^k v = 0)]을 만족할 때, [math(v)]를 [math(\lambda)]에 대한 일반화된 고유벡터(generalized eigenvector)라 부른다. 일반화된 고유벡터들로 이루어진 부분공간을 일반화된 고유공간(generalized eigenspace)이라 부른다. |
- 일반화된 고유공간들은 서로 일차독립이고, 각각의 차원은 대수적 중복도와 동일하다.
- 특성방정식이 일차식으로 인수분해 된다면 일반화된 고유공간들의 직합이 전체 공간이 된다.
4. 복소수 고유치
실수행렬의 경우에 특성방정식이 실근이 하나도 없으면 고유치가 하나도 없을 수 있다. 다만 이런 경우에도 복소수 범위에서 특성방정식을 푼다면, 대수학의 기본정리에 의해 항상 [math(n)]개의 해를 가질 수 있다. 이러한 해도 실수 행렬의 복소 고유치(complex eigenvalue)로 인정을 받을 수 있고, 이는 실수 행렬을 단순히 복소수 행렬로 보았을 때의 고유치로 생각할 수 있다.행렬을 주로 다루는 응용수학 계열 선형대수 교재에선 이정도로 충분하지만, 이 개념을 선형사상 관점에서 엄밀히 이야기한다면 생각보다 복잡하다. 일단 복소수와 실수의 관계는 체 확장(field extension)으로 간주돼야 한다. 그 다음엔 텐서곱을 이용한 스칼라 확장(extension of scalar)을 이용해 벡터공간과 그 위의 선형사상을 확장해야 하는데, 이러려면 스칼라 확장을 함자(functor)로 해석해야 한다. 이런 식으로 추상대수학 배경이 깊게 요구되므로, 대수학 지향성을 가진 선형대수 교재들에서도 이 문제는 깊게 다루지 않고 체가 복소수일 때만 생각한다는 식으로 넘어간다.
5. 정규 연산자에 대한 고유치 문제
행렬의 경우가 특수할 경우(대칭행렬이나 직교행렬 등등) 그 고유치를 결정할 수 있는 다양한 상황이 있다. 내적공간 혹은 에르미트 공간 위의 정규 연산자(normal operator)에 대한 고유치 문제의 여러 결과물들을 보통 ' 스펙트럼 정리'라 부른다. 자세한 항목은 수반 연산자 및 스펙트럼 정리 항목을 참고하자.6. 기하학적 이해
2차원 또는 3차원 실공간의 벡터 [math(v )] 와 [math( \lambda v)]의 관계는 서로 평행하다는 것이다. 즉, 어떤 변환이 주어졌을때, (0벡터를 제외한다면) 변환전의 벡터와 변환후의 벡터가 평행한 것이, 변환전의 벡터가 고유벡터일 필요충분조건이다. 이 관점에서 여러가지 변환의 고유값과 고유벡터를 직관적으로 쉽게 알수있다. 밑의 새끼 단락에서 평면과 직선은 모두 원점을 지나는 것을 의미한다.6.1. 확대 또는 축소 시키는 변환
임의의 벡터 [math(v\in V)]를 [math(k)]배하는 변환의 경우, 임의의 [math(v)]에 대해 확대후의 벡터 [math(T(v))]가 평행하므로 [math(V)]의 모든 non-zero 벡터가 고유벡터이고, 고유치는 [math(k)]이다.6.2. 직선 또는 평면에 대칭시키는 변환
좌표평면 [math(\mathbb{R}^{2})]와 좌표공간 [math(\mathbb{R}^{3})]의 한 직선에 벡터를 대칭시키는 변환을 생각해보자. 이 직선의 방향벡터를 대칭시킨다면 그대로일 것이다. 즉, [math(T(v)=v)]가 성립하여 방향벡터는 고유값 1에 대응하는 고유벡터이다. 직선에 수직인 벡터를 대칭시킨다면 방향이 반대이고, 크기는 그대로 일것이다. 즉, [math(T(v)=-v)]가 성립하여, 고유값 -1에 대응하는 고유벡터라 할 수있다.6.3. 직선 또는 평면에 정사영시키는 변환
어떤 벡터가 직선 또는 평면에 평행할 경우 정사영해도 그대로이므로 1에 대응하는 고유벡터가 된다. 한편, 직선 또는 평면에 수직인 벡터를 정사영하면 0벡터가 되므로 0에 대응하는 고유벡터이다. 실공간에서 정사영의 행렬표현(matrix representation)은 대칭행렬인 동시에 멱등행렬이며, 항상 대각화 가능하다. 실제로 직선은 1차원이고, 직선에 수직인 벡터의 집합인 직선[math(\subset \mathbb{R}^{2})] 또는 평면 [math(\subset \mathbb{R}^{3})] 은 각각 1차원과 2차원이여서 1에 대응하는 부분공간과 0에 대응하는 부분공간의 차원의 합이 전체 벡터공간의 차원과 같다. 마찬가지로 평면은 2차원이고, 평면에 수직인 벡터의 집합인 직선은 1차원이므로, 이 역시 대각화 가능하다.위 그림을 통해 이해해보면, [math(\mathbb{R}^{3} )]의 임의의 벡터를 회색 평면에 정사영시키는 변환에 대해, 법선벡터에 평행한 단위벡터인 파랑색 벡터는 0에 대응하는 고유공간의 직교기저이며, 평면과 평행하며 서로 직교하는 단위벡터인 두 빨강색 벡터는 1에 대응하는 고유공간의 직교기저이므로, 이 변환은 대각화 가능한 변환임을 알 수 있다.
6.4. 회전 변환
2차원에서의 회전 변환은 어떤 벡터의 방향도 고정시키지 않는다. 즉 실수 고유치가 없다. 하지만 특성방정식을 다음처럼 복소수 위에서 풀면 오일러 공식에 나올법한 형태의 복소 고유치를 얻어낼 수 있다.
[math( T_{\theta} = \begin{pmatrix} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end{pmatrix}, ~ \chi_{T_{\theta}}(x) = \left| \begin{matrix} x - \cos \theta & \sin \theta \\ - \sin \theta & x- \cos \theta \end{matrix} \right| = (x-\cos \theta)^2 + \sin^2 \theta = (x - \cos \theta + i \sin \theta) (x - \cos \theta - i \sin \theta) )]
역으로 이는 복소고유치 [math(e^{i \theta}, e^{-i \theta})]를 나름 회전과 관련시켜 해석할 수 있다는 것을 이야기해 준다.한편 3차원에서의 행렬식이 1인 직교 행렬 [math(A \in \mathrm{SO}_3)]을 생각해 보면, [math(\det(A-I)=\det(A-I)\det(A^t) = \det(I-A)^t = -\det(A-I))]에서 [math(\det(A-I)=0)]을 얻는다. 즉 [math(A)]는 고유값이 1인 고유벡터 [math(v)]를 가지며, 이는 3차원의 회전이 항상 단일 회전축 [math(v)]를 가진다는 사실을 말해 준다.
7. 실전(응용수학)에서의 고유치 문제
많은 양의 데이터를 다루는 통계학이나 수치해석 등등 거대한 행렬의 고유치를 찾는 것은 종종 중요한 문제가 된다. 하지만 그 의미는 여기에 서술된 예시와는 상당히 다른 양상을 보인다. 행렬의 크기가 몇백, 몇천을 오가면 모든 고윳값을 구하거나 전체공간을 분해하는 것은 전혀 의미가 없고, 애초에 특성다항식부터 생각하기 힘들다. 비교적 작은 행렬에서도 크기가 10정도만 넘어가면 특수한 경우를 제외하면 특성다항식을 풀어 고유값을 구하는 것은 거의 불가능하다. [7]대신에 특별한 고유값과 그에 대응하는 고유치 몇 개를 찾아 이를 통해 전체 데이터의 양상을 설명하는 경우가 많다. 통계학 및 기계학습에서의 주성분 분석(PCA)이 대표적인 예이고, 보다 쉬운 예로는 마르코프 연쇄(Markov chain)에서의 최대고유값 1에 대응하는 고유치가 최종상태에 대응되는 것도 생각할 수 있다. 데이터과학 계열에서는 정사각행렬(혹은 작용소) 자체가 나온다기보다는 특이값 분해(singular value decomposition)에 고유치 문제가 필요한 경우가 많다. 고유치를 계산하는 방법도 자료의 특성 및 목적에 따라 천차만별이 되고, 활용 분야에 따라 서로 다른 수많은 수치해석 알고리즘들이 있다. 일반적인 행렬에서는 고유치를 계산하는 것 자체가 사실상 불가능하고 행렬에 특정 제약조건이 주어져야 이들 알고리즘을 적용할 수 있는 식이다.
한편 해석학에서의 고유치 문제란 보통 선형 미분방정식의 고유치 문제, 즉 선형미분작용소 [math(T)]에 대한 미분방정식 [math(Tu = f)]를 풀기 위해 고유치 문제 [math(Tu = \lambda u)]를 생각하는 것이다. 어찌 보면 본 항목의 고유치 문제의 무한차원 버전이라고 할 수도 있다. 특수한 내적공간(힐베르트 공간)을 생각해 무한차원 버전의 스펙트럼 정리를 적용할 수 있으면 마치 푸리에 해석에서 하는 것처럼 직교기저를 생각해 변수분리법 스타일의 풀이를 낼 수도 있고, 그게 아니더라도 위의 통계학 경우처럼 해의 행동양상을 정성적으로 설명할 수 있는 경우도 있다. 수치해석에서 미분방정식을 풀 때 사용하는 다양한 근사해법들도 어떻게 보면 무한차원 선형작용소를 유한차원 행렬로 근사한 뒤에 이들의 고유치를 구한다고 생각해볼 수도 있다.
[1]
붙여쓰며 대개 아이겐밸류라 읽힌다.
[2]
"고유"라는 단어는 영어 "characteristic", 독일어 "eigen"의 번역으로, "고유"에 대한 외국어 표기를 쓸 때에는
공간 상의 이유로, 영문 표기만 따로 적겠다.
[3]
이 정의는 무한차원 벡터공간의 경우에도 통용된다. 유사한 정의로 [math(A - \lambda )]가 비가역(singular)인 [math(\lambda)]의 집합을 생각할 수 있는데, 이 개념은
스펙트럼(spectrum)이라 부르며 고유값과는 구분된다. 유한차원일 땐 스펙트럼과 고윳값의 집합이 같지만 무한차원일 땐 보통 달라지기 때문이다.
[4]
[math(\det(A - x I))]을 특성다항식으로 쓰는 관습도 있다. 또한 이 다항식은 characteristic equation이라고도 불린다.
[5]
유한 차원의 경우 특성 다항식의 근을 고윳값의 정의로 채택하는 관습도 많다.
[6]
증명: 모든 가능한 행렬(혹은 선형사상)의 차원은 [math(n^2)]로 유한하므로 [math(I, A, A^2, \cdots, )]들은 일차종속이다. 따라서 그러한 다항식이 존재하는 것은 분명하다. [math(p)]가 그 중 차수가 최소인 것이라고 하자. 만약 [math(q(A)=0)]이라면, [math(q)]를 [math(p)]로 나눈 나머지 [math(r)]에 대해서도 [math(r(A)=0)]인데, [math(r)]의 차수가 더 작으므로 [math(r=0)]이어야 하고 즉 [math(q)]는 [math(p)]로 나누어떨어진다.
케일리-해밀턴 정리를 통해서도 존재성을 보장할 수 있지만 앞서 설명한 간단한 벡터공간의 차원과 일차 종속성만을 통해서 간단하게 보일수 있다. 오히려 케일리 해밀턴 정리를 동원하는것은 쓸데없이 수고로운 작업을 더 해야 하는셈, 말마따나 파리 잡는데 탱크를 동원하는 격이다.
[7]
단순히 고차방정식을 수치적으로 풀기 힘들어서가 아니라, 특성다항식 자체가 오차에 매우 민감하게 반응하기 때문에 수치적으로 안정한(numerically stable) 알고리즘을 제공하지 못하기 때문.