Processing math: 39%
본문 바로가기

선형대수

[개념] 고유치, 고윳값(eigenvalue), 고유벡터(eigenvector)

1. 고윳값과 고유벡터

1.1 고윳값과 고유벡터란?

 An×n행렬이고, vRn의 벡터일 때, vAv가 서로의 스칼라배로 관계되는 0이 아닌 어떤 벡터 v가 존재한다. 이와 같은 벡터 v는 선형변환의 해석에서 중요한 역할을 한다.

■ 예를 들어 T(x,y)=12(3x+y,x+3y)로 정의된 선형변환 T:R2R2가 있다고 하자. 그리고 정의역에 R2의 기저벡터 v1=(1,1),v2=(1,1)가 존재할 때,

■ 이때의 선형변환의 표준기저에 대한 행렬표현은 12(3113)이며, 와 기저 {v1,v2}에 대한 행렬표현은 (2001)가 된다.

- 선형변환 T에서 

- 정의역 Rn의 표준기저 e1,e2,,en을 이용하여 각 T(ej)T의 열벡터로 구성한 행렬 A=[T(e1)T(e2)cdotsT(en)]T의 표준행렬

참고) [개념] 선형 변환(사상)과 표준행렬

 

[개념] 선형 변환(사상)과 표준행렬

1. 선형 변환(선형 사상)■ 벡터공간 U,V가 있을 때, U로부터 V로의 변환 TT:UV로 나타낸다. ■ T:UV는 다음과 같이 벡터공간 U의 모든 벡터 \( \

hyeon-jae.tistory.com

- 표준기저가 아닌 임의의 기저를 이용해 행렬로 나타낸 것을 행렬표현.

- 표준행렬은 표준기럴 사용하기 때문에 유일하지만, 

- 행렬표현은 기저에 따라 달라지므로 동일한 선형변환이라도 행렬의 형태가 달라지게 된다.

- 이런 차이는 기저 선택의 차이에서 발생한 것이다. 

- 그러므로 표준행렬은 행렬표현의 한 예라고 할 수 있지만, 행렬표현이 표준행렬은 아니다. 

 T(x,y)=12(3x+y,x+3y)로 정의된 선형변환 T:R2R2에 정의역의 원소인 v1v2를 넣으면 다음과 같다.

- T(v1)=T(1,1)=12(3+1,1+3)=(2,2),T(v2)=T(1,1)=12(2,2)=(1,1)

- 위의 결과를 정의역과 치역의 대응 관계로 다시 나타내면, T(v1)=(2,2)=2v1,T(v2)=(1,1)=1v2

- v1,v2는 정의역에, T(v1),T(v2)는 치역에 존재하는 벡터이다.

 T(v1)=(2,2)=2v1,T(v2)=(1,1)=1v2이므로 주어진 선형변환은 v1 방향의 벡터는 2배로 늘리고, v2 방향의 벡터는 그대로 유지하는 선형변환임을 알 수 있다. 

■ 이를 2차원 평면에 나타내면 다음과 같이 T는 끝점이 단위원(반지름의 길이가 1인원) 위에 놓인 벡터 v1을 직선 y=x를 따라 2배로 늘린 타원 위에 위치하도록 보내는 선형변환임을 알 수 있다. 

- T(v2)=1v2이므로 v2는 그대로 유지

■ 이렇게 T(v1)=2v1,T(v2)=1v2로 표현된 것을 다음과 같이 행렬표현으로 나타낼 수 있다.

■ 이 과정을 보면, T의 행렬표현인 행렬 A는 벡터 v1v2에 선형변환이라는 함수로 작용한다. 즉, 행렬 A는 함수로서 Av라는 결과값을 반환한다.

 이때, Av는 선형변환이라는 함수의 결과값인 치역 T(v)에 해당한다.

- v={v1,v2}

■ 행렬 A에 의해 변환된 결과인 Av의 열벡터를 보면, 변환되기 전인 v의 열벡터와 평행 관계임을 알 수 있다.

v를 행렬 A로 변환한 결과, v Av의 열벡터들이 평행 관계라는 것은 행렬 Av의 열벡터들을 늘렸다는 것이며, 늘린 결과가 Av의 열벡터임을 의미한다.

 이렇게 행렬 A와 곱해져도 평행한 방향(원래 자기 자신과 동일하거나 스칼라배로 표현되는 것 포함)을 갖는 벡터들을 고유벡터라고 한다. 그리고 T(v1)=2v1,T(v2)=1v2처럼 늘어나는 양이 고윳값이다.

■ 즉, 고윳값은 변환 전인 v와 변환 후인 Av가 특정 상수를 곱한 만큼의 차이가 존재함을 나타낸다. 이때, 이 특정 상수를 람다(λ)로 표현한다.

■ 이렇게 T(v1)=2v1,T(v2)=1v2로 표현된 것을 T(vi)=λivi로 표현할 수 있다.

 이때 λi가 의미하는 것은 선형변환 T가 어떤 방향으로 얼마만큼 늘어나는지를 의미하기 때문에

- T(v1)=2v1은 이 예시의 선형변환 Tv1 방향의 벡터는 회전시키지 않고(= 방향을 보존시키고), 크기를 2배로 늘리는 특성을 가지고 있다는 의미이며, λ1=2라고 할 수 있다.

- T(v2)=1v2 이 예시의 선형변환 Tv2 방향의 벡터는 회전시키지 않고(=방향을 보존시키고), 크기를 1배로 늘리는(그대로 크기를 유지하는) 특성을 가지고 있다는 의미이며, λ2=1이라고 할 수 있다.

 정리하면, 선형변환에서 고유벡터는 선형변환이 일어난 후에도 방향이 변하지 않는 0이 아닌 벡터이며, 고유벡터의 길이(크기)를 변하게 하는 상수를 고유벡터에 대응하는 고윳값이라고 한다.

cf) 참고로, 이렇게 Rn 사이에 정의된 선형변환에서, T(vi)=λivi가 되는 기저 {v1,v2}가 존재하면, 이 기저에 대한 행렬표현은 다음과 같이 주대각원소가 λi인 대각행렬이 된다.

 T(vi)=λivi의 관계를 T의 행렬표현 A를 이용하여 일반화하면 Av=λv가 된다.

- 이때의 An×n이다. 즉 선형변환 T:RnRn인 경우의 행렬표현이다.

v는 0이 아닌, λ에 대응하는 고유벡터이며

- λ는 고윳값이다.

 Av=λv 식이 의미하는 것은 행렬 A가 스칼라 λ와 같다는 것이 아니라 동일한 벡터 v에  행렬 A가 미치는 효과가 스칼라 λ가 미치는 효과와 동일하다는 것이다.

그리고 Av=λv라는 식을 고유방정식(eigenvalue equation) 혹은 특성방정식(characteristic equation)이라고 한다.

1.2 고윳값, 고유벡터 찾는 법

1.2.1 고윳값 찾기

■ 고윳값, 고유벡터를 찾는 방법은 먼저, 다음과 같이 고유방정식 Av=λv을 변환해야 한다. 

Av=λv 

Avλv=0

(AλI)v=0

■ 두 번째 식은 단순히 기존 우변을 좌변에 넘겨 우변을 영벡터로 만든 것이다.

 세 번째 식 (AλI)v=0은 선형방정식 Ax=0 형태이다. 그리고 (AλI)를 고윳값 λ에 의해 이동된 행렬이라고 생각하면,

 즉, (AλI)v=0 식은 고유벡터 v가 고윳값에 의해 이동된 행렬 (AλI)의 영공간에 존재한다는 것을 의미한다.

 (AλI)v=0이 성립하기 위해서는

- (1) (AλI)이 0이 되는 경우와 (2) v가 0. 즉, v={0}인 경우가 있다.

 v={0}인 경우는 자명해인 경우이다. 자명해를 갖는 경우 λ값은 어떠한 값도 가능하다.(아무런 값을 갖아도 성립된다.)

 λ값이 아무런 값을 갖는 상황을 피해야, 정확한 λ값을 찾을 수 있으므로 비자명한 영공간을 갖는 경우를 생각해야 한다. 이때, 비자명한 영공간을 갖기 위해서는 (AλI)는 특이행렬(비가역행렬)이 되야 한다.

 특이행렬이라는 것은 그 행렬의 행렬식값이 0임을 의미하므로 det을 계산하면 고윳값을 얻을 수 있다는 것을 알 수 있다.

■ 다른 관점에서 생각하면,  \left( A - \lambda I \right) \mathbf{v} = 0 에서  \left(A - \lambda I \right) 가 가역행렬. 즉, 역행렬이 존재한다고 가정하자.

  \left(A - \lambda I \right) 가 가역행렬인 경우,  \left( A - \lambda I \right) \mathbf{v} = 0 의 양변에  \left(A - \lambda I \right)^{-1} 을 곱하면, 고유벡터 \mathbf{v} = \left( A - \lambda I \right) \times 0 = 0 이 된다.

■ 하지만, 앞서 언급한 것처럼 고유벡터 \mathbf{v} 는 0이 아닌 벡터이다. 그러므로  \left(A - \lambda I \right) 는 비가역행렬이어야 한다. 

■ 다시 돌아와서,  \det{(A - \lambda I)} = 0 n \times n 정방행렬 A 의 대각원소에 \lambda 값을 뺀 행렬의 행렬식 값이 0이라는 것을 의미한다.

■ 예를 들어 A 2 \times 2 라면, 고유방정식의 행렬식 계산인  \det{(A - \lambda I)} = 0 은 다음과 같다.

|A - \lambda I| = 0

\begin{vmatrix} a - \lambda & b \\ c & d - \lambda \end{vmatrix} = 0

(a - \lambda)(d - \lambda) - bc = 0

\lambda^2 - (a + d) \lambda + (ad - bc) = 0

 위와 같이 행렬식  |A - \lambda I| = 0   \lambda^2 - (a + d) \lambda + (ad - bc) = 0 같이  \lambda 에 관한 다항식이 된다. 이것을 A 의 고유방정식 또는 특성방정식 또는 특성다항식(characteristic polynomial)이라고 한다. A 의 특성다항식(특성방정식)은 n 차가 된다. 그러므로 n \times n 행렬은 n 개의 고윳값 \lambda 를 가진다는 것을 알 수 있다. 그리고 \lambda^n 의 계수는 1이다.

■ 예를 들어, A = \begin{pmatrix} 3 & 2 \\ -1 & 0 \end{pmatrix} 의 고윳값은

- |A - \lambda I| = \begin{vmatrix} 3 - \lambda & 2 \\ -1 & 0 - \lambda \end{vmatrix} = 0 \Rightarrow \lambda^2 - 3 \lambda + 2 = 0 \Rightarrow \lambda = 1 \text{ or } 2

■ 참고로 A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} 와 같이 2 \times 2 이면, A 의 특성다항식  \lambda^2 - (a + d) \lambda + (ad - bc) = 0 \lambda^2 - \text{trace}(A) \lambda + \det{(A)} = 0 임을 알 수 있다.

■ 만약, A  A = \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} 와 같이  3 \times 3 이면,  A 의 특성다항식은 A 의 대각선 원소의 여인수를 이용하면,  \lambda^3 - \text{trace} (A) \lambda^2 + [(ae + ai + ei) - (bd + cg + fh)] \lambda - \det{(A)} = 0 

■ 그리고 3 \times 3 에서 얻은 특성다항식에서 고윳값 \lambda 는 다음과 같이 조립제법을 이용하여 찾을 수 있다.

- 예를 들어 \lambda^3 - 3 \lambda^2 + 4 = 0 이면 \lambda = -1, 2 를 넣었을 때 등식이 성립하는 것을 알 수 있지만, 다음과 같이 조립제법을 이용하여 \lambda 를 찾을 수도 있다.

1.2.2 고유벡터 찾기

 고윳값을 찾았으면, 그 고윳값에 대응되는 고유벡터를 찾을 수 있다. 

  \left( A - \lambda I \right) \mathbf{v} = 0 에서 고유벡터는 \mathbf{v} \lambda 만큼 이동한 행렬  \left(A - \lambda I \right) 의 영공간에 있다.

■ 즉, 고유벡터   \mathbf{v}   A \lambda 만큼 이동한 행렬과 고유벡터 \mathbf{v} 의 곱이 0이 되게 만드는 벡터이다.

■ 예를 들어, 위의  A = \begin{pmatrix} 3 & 2 \\ -1 & 0 \end{pmatrix}  예에서 고윳값 \lambda = 1 \text{ or } 2 였다. 이 예에서 고윳값 \lambda = 1 \text{ or } 2 에 대응되는 고유벡터는 다음과 같이 찾을 수 있다.

- (1) \lambda = 1 에 대응하는 고유벡터

- \begin{pmatrix} 3 - \lambda & 2 \\ -1 & 0 - \lambda \end{pmatrix} \mathbf{v} = 0 에서 \lambda = 1 이므로 A \lambda = 1 만큼 이동시킨 행렬 A - \lambda I

- 고유벡터 \mathbf{v} \begin{pmatrix} x \\ y \end{pmatrix} 라고 했을 때

- \begin{pmatrix} 3 - 1 & 2 \\ -1 & 0 - 1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 2 & 2 \\ -1 & -1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix} \Rightarrow \begin{align} 2x + 2y &= 0 \\ -x - y &= 0 \end{align} \Rightarrow y = -x

- 즉 y = -x 를 만족하는 \mathbf{v} = \begin{pmatrix} x \\ y \end{pmatrix} 를 찾으면 된다. 

- 그러면 \lambda = 1 에 대응하는 고유벡터 \mathbf{v} \mathbf{v} = \begin{pmatrix} 1 \\ -1 \end{pmatrix} \ \begin{pmatrix} 2 \\ -2 \end{pmatrix} \ \begin{pmatrix} 3 \\ -3 \end{pmatrix} \ \cdots 가 된다.

- 이때, 고유벡터  \mathbf{v} = \begin{pmatrix} 1 \\ -1 \end{pmatrix} \ \begin{pmatrix} 2 \\ -2 \end{pmatrix} \ \begin{pmatrix} 3 \\ -3 \end{pmatrix} \ \cdots 로 이루어진 것들을 모아놓은 공간을 \lambda = 1 에 대응하는 '고유공간'이라고 한다.

- 참고로 고유벡터는 일반적으로 가장 단순한 형태의 벡터를 사용한다. 왜냐하면 가장 단순한 형태의 벡터만 있으면 동일한 고유공간에 있는 고유벡터들은 실수배하여 만들 수 있기 때문이다. 

- 그러므로 \lambda = 1 에 대응하는 고유벡터  \mathbf{v} = \begin{pmatrix} 1 \\ -1 \end{pmatrix} 라고 할 수 있다. 또는 고유벡터 \mathbf{v} \mathbf{v} = \begin{pmatrix} -t \\ t \end{pmatrix}, \; \left( t \in \mathbb{R} \right) 같이 일반화된 표현으로 나타내도 된다.

- 위와 같은 동일한 방법으로 \lambda = 2 에 대응하는 고유벡터를 찾을 수 있다.

 정리하면, \lambda = \alpha 에 대응하는 고유벡터들이 모여있는 공간을 '고유공간'이라고 한다. 그러므로 고유벡터를 구한다는 것은 ' \lambda = \alpha 에 대응하는 고유공간의 기저(벡터)를 찾는 것'이라고 할 수 있다.

- 기저(벡터)는 0(영벡터, zero vector)가 될 수 없다.

 그리고  \left( A - \lambda I \right) \mathbf{v} = 0 식은 고유벡터 \mathbf{v} 가 고윳값에 의해 이동된 행렬  \left(A - \lambda I \right) 의 영공간에 존재한다는 것을 의미하며, 이는 A \lambda 에 대응하는 고유벡터이다. 

  A \lambda 에 대응하는 고유벡터의  \left(A - \lambda I \right) 의 영공간의 기저 개수 = A 의 고윳값 \lambda 에 대응하는 고유공간의 기저 개수라고 할 수 있으며, 이는  \left(A - \lambda I \right) 의 영공간의 차원을 의미한다.

퇴화차수 정리를 이용하면, '  \left(A - \lambda I \right) 의 영공간의 차원 = \text{nullity} (A - \lambda I) = n - \text{rank} (A - \lambda I) '이다. 

그러므로  \left(A - \lambda I \right) 의 영공간의 기저 개수 = A 의 고윳값 \lambda 에 대응하는 고유공간의 기저 개수 =  \text{nullity} (A - \lambda I) = n - \text{rank} (A - \lambda I) 가 되며, 이 값은 거슬러 올라가면 A \lambda 에 대응하는 (선형 독립인) 고유벡터의 개수라는 것을 알 수 있다.

1.3 고윳값 및 고유벡터의 성질

■ 고윳값 및 고유벡터의 성질은 다음과 같다.

- ① n \times n 행렬 A 의 고윳값 \lambda 의 합은 A 의 대각원소들의 합 \text{trace} (A) 와 같다.

- ②  n \times n 행렬 A 의 고윳값의 곱은 행렬식의 값과 같다.

- 이때, 위의 조립제법 예시와 같이 고윳값 \lambda 가 중근이 나오는 경우가 있다. ex) \lambda = -1, 2, 2

- 이렇게 고윳값이 중근이 나오는 경우, 고윳값의 합과 고윳값의 곱은 중근까지 모두 포함해서 더하거나 곱해야 한다.

- ①과 ②는 2 \times 2 행렬 A 의 특성다항식에서 성립하는 것을 '근과 계수의 관계'를 이용하여 보일 수 있다.

- \lambda^2 - \text{tr} (A)\lambda + | A | = 0 일 때, \lambda^2 의 계수는 1이고 \lambda 의 계수는 - \text{tr} (A) 이다. 그리고 특성다항식이 2차이므로 2개의 고윳값 \lambda_1, \; \lambda_2 가 존재한다.

- 근과 계수의 관계에 의하여 두 근의 합인 \lambda_1 + \lambda_2 \lambda_1 + \lambda_2 = -\dfrac{ - \text{tr} (A) }{1} = \text{tr} (A) 가 된다. 그리고 두 근의 곱은 \lambda_1 \cdot \lambda_2 = \dfrac{ |A| }{1} = |A| 가 된다.

cf) 근과 계수의 관계 - ax^2 + bx + c = 0 일 때, 두 근 \alpha, \beta

- 두 근의 합 \alpha + \beta = - \dfrac{b}{a} , 두 근의 곱 \alpha \cdot \beta = \dfrac{c}{a}

- ③ A A^T 의 고윳값은 항상 같다. 하지만 고윳값에 대응되는 고유벡터는 항상 같다고 보장할 수 없다.

- ④  n \times n 행렬 A 가 가역행렬이다 \Leftrightarrow   n \times n 행렬 A 의 고윳값 중 0이 존재하지 않는다. \Leftrightarrow \det{(A)} \neq 0 \Leftrightarrow \lambda_1 \cdot \lambda_2 \cdot \lambda_3 \cdots \lambda_n \neq 0  

- ⑤  n \times n 행렬 A 가 비가역행렬이다 \Leftrightarrow   n \times n 행렬 A 의 고윳값 중 0이 존재한다. \Leftrightarrow \det{(A)} = 0 \Leftrightarrow \lambda_1 \cdot \lambda_2 \cdot \lambda_3 \cdots \lambda_n = 0  

- ⑥  n \times n 행렬 A 의 고윳값이 \lambda_1, \; \lambda_2, \cdots \lambda_n 이라 할 때

- (1) A^k 의 고윳값은   \lambda^k_1, \; \lambda^k_2, \cdots \lambda^k_n

- (2) a \in \mathbb{R} 일 때, aA 의 고윳값은   a \lambda_1, \; a \lambda_2, \cdots a \lambda_n

- (3) A^{-1} 의 고윳값은   \lambda^{-1}_1, \; \lambda^{-1}_2, \cdots \lambda^{-1}_n

- (4) A + a I 의 고윳값은   \lambda_1 + a, \; \lambda_2 + a, \cdots \lambda_n + a

- (5) A^n + A^m 의 고윳값은 \lambda^n_1 + \lambda^m_1 , \; \lambda^n_2 + \lambda^m_2 , \cdots \lambda^n_n + \lambda^m_n  

- 그리고  A^k ,  aA ,  A^{-1} ,  A + a I ,  A^n + A^m 의 고유벡터는 A 의 고유벡터와 같다. 그 이유는 고유벡터가 행렬 변환에 의해 방향이 변하지 않는 벡터이기 때문이다. 원래 행렬 A 의 고유벡터는 특정 연산을 수행해도 여전히 동일한 방향성을 유지한다.

- ⑦ 대칭행렬의 고윳값은 항상 '실수'이며, 대칭행렬의 서로 다른 고윳값에 대한 고유벡터들은 항상 수직 관계를 갖는다.

- 대칭행렬의 서로 다른 고윳값을 \lambda_1, \; \lambda_2 라고 했을 때, 각 고윳값에 대응되는 고유벡터를 v, \; w 라고 하자. 그러면 v \perp w \Leftrightarrow v \cdot w = v^T w = 0 (고유벡터 v w 의 내적 값은 0)

- ⑨ 교대행렬의 고유값은 순허수 또는 0이다.

- ⑩ 직교행렬의 고윳값은 1또는 -1이거나 켤레 복소수( a \pm bi )이며, 직교행렬의 고윳값의 절댓값은 항상 1이다. 

- 직교행렬의 고윳값의 절댓값은 항상 1이다.는 켤레 복소수( a \pm bi )의 경우, 복소수의 크기 = 1이다.라는 것을 의미한다. \sqrt{a^2 + b^2} = 1

 

2. 케일리-해밀턴(Cayley-Hamilton) 정리

n \times n 행렬 A 의 고유방정식 |A - \lambda I | = 0 p(\lambda) = \lambda^n + c_{n-1} \lambda^{n-1} + \cdots + c_2 \lambda^2 + c_1 \lambda + c_0 = 0 라고 하자. 

■ 이 고유방정식(특성방정식) p(\lambda) n \times n 인 정방행렬 A 를 대입해도 식이 다음과 같이 성립한다는 것이 케일리-해밀턴 정리이다. p(A) = A^n + c_{n-1} A^{n-1} + \cdots + c_2 A^2 + c_1 A + c_0 I = 0

■ 즉, 케일리-해밀턴 정리는 n \times n 정방행렬이 자기 자신의 고유방정식(특성방정식)을 만족시킨다는 정리이다.

■ 이러한 케일리-헤밀턴 정리는 다음과 같이 행렬의 차수가 높은 문제에서 유용하게 사용할 수 있다.

- 예를 들어 4 \times 4 행렬 A 의 고유방정식이 \lambda^4 - 2 \lambda^2 + 1 = 0 이라고 하면, 케일리-헤밀턴 정리에 의해 A^4 - 2A^2 + 1 \cdot I = 0 이 성립한다.

- 만약, A^5 - 2 A^3 + 2A - I 라는 식이 있으면, 이 식은 A \left( A^4 - 2A^2 + I \right) + A - I 라는 식으로 나타낼 수 있고, 케일리-헤밀턴 정리에 의해  A^4 - 2A^2 + 1 \cdot I = 0 이므로

-  A^5 - 2 A^3 + 2A - I 라는 다소 복잡한 식은, A - I 라는 간단한 식이 된다.