Lecture 21. 고윳값과 고유벡터 Eigenvalues and Eigenvectors — 서술
행렬 A A A 를 벡터에 곱하면 그 벡터는 방향이 바뀐다. 대부분은 그렇다. 그런데 어떤 특별한
방향들은 곱해도 방향이 그대로이고 길이만 변한다. 식으로 쓰면 이렇다.
A x = λ x A\vv{x} = \lambda\vv{x} A x = λ x 왼쪽은 행렬 곱셈이고 오른쪽은 그냥 수 곱셈이다. 이 등호가 성립하는 x \vv{x} x 를 찾을 수만
있다면 복잡한 행렬 연산을 단순한 수 연산으로 갈아치울 수 있다. 그 대가로 얻는 것이 크다.
A 100 A^{100} A 100 을 계산할 수 있게 되고, 미분방정식을 풀 수 있게 되고, 시스템이 안정한지 판정할 수
있게 된다.
여기서부터 이 교재의 주제가 바뀐다. L1부터 L17까지가 A x = b A\vv{x} = \vv{b} A x = b 를 푸는 이야기였다면,
이제부터는 A A A 자체를 이해하는 이야기 이다.
그리고 지난 세 강의에 대한 답도 여기서 나온다. 행렬식을 배우며 "이걸 왜 하지"라고 생각했다면,
2절의 한 줄이 답이다.
1. 방향이 바뀌지 않는 방향 ¶ A = [ 2 1 1 2 ] A = \begin{bmatrix} 2 & 1 \\ 1 & 2\end{bmatrix} A = [ 2 1 1 2 ] 를 여러 방향에 곱해 보자.
Figure 1: x \vv{x} x 를 돌려 가며 A x A\vv{x} A x 와 비교하면, 대부분은 방향이 어긋나는데 두 방향만 그대로이다.
반면 λ \lambda λ 는 0이어도 된다. λ = 0 \lambda = 0 λ = 0 이면 식이 A x = 0 A\vv{x} = \vv{0} A x = 0 이 되는데,
이것은 L6의 영공간이다.
λ = 0 인 고유벡터 ⟺ N ( A ) 의 0 아닌 원소 \lambda = 0 \text{ 인 고유벡터}
\quad\Longleftrightarrow\quad
\Nul(A) \text{ 의 } \vv{0} \text{ 아닌 원소} λ = 0 인 고유벡터 ⟺ N ( A ) 의 0 아닌 원소 영공간을 처음 배울 때는 "A A A 가 0으로 보내 버리는 방향"이었다. 이제 같은 것을
"배율이 0인 고유방향"으로도 읽을 수 있다.
2. 어떻게 찾는가 — 특성방정식 ¶ (1) 에는 미지수가 둘이다. x \vv{x} x 도 모르고 λ \lambda λ 도 모른다.
둘을 한꺼번에 풀 수는 없으니 하나를 먼저 몰아낸다. 오른쪽을 왼쪽으로 옮겨 보자.
A x = λ x ⟺ ( A − λ I ) x = 0 A\vv{x} = \lambda\vv{x}
\qquad\Longleftrightarrow\qquad
(A - \lambda I)\,\vv{x} = \vv{0} A x = λ x ⟺ ( A − λ I ) x = 0 λ x \lambda\vv{x} λ x 를 λ I x \lambda I\vv{x} λ I x 로 써야 크기가 맞는다는 점만 주의하면 된다.
이제 세 단계로 간다.
첫째, 우리가 원하는 것은 x ≠ 0 \vv{x} \neq \vv{0} x = 0 인 해이다. 정의가 그것을 요구한다.
둘째, 그런 해가 있다는 것은 ( A − λ I ) (A - \lambda I) ( A − λ I ) 의 영공간이 원점보다 크다 는 뜻이다.
L6에서 영공간을 정의한 그대로이다.
셋째, 영공간이 원점보다 크다는 것은 그 행렬이 특이하다 는 뜻이고, L18의 (23) 에 의해 그것은 행렬식이 0이라는 뜻이다.
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0 이것을 특성방정식 이라 한다. 미지수가 λ \lambda λ 하나뿐인 방정식이 되었다.
L20의 언어로 바꾸면 더 선명하다. 행렬식은 부피였다.
Figure 2: L20의 그림이다. det = 0 \det = 0 det = 0 은 도형이 납작하게 눌렸다는 뜻이었다.
λ \lambda λ 를 돌리면 A − λ I A - \lambda I A − λ I 의 열들이 만드는 도형이 커졌다 작아졌다 하는데,
그 부피가 정확히 0이 되는 순간의 λ \lambda λ 가 고윳값이다.
Figure 3: 왼쪽은 λ \lambda λ 에 따른 행렬식의 값이고, 오른쪽 셋은 그때 도형이 어떻게 되는지이다.
λ = 1 \lambda = 1 λ = 1 과 λ = 3 \lambda = 3 λ = 3 에서 납작해진다.
A = [ 2 1 1 2 ] A = \begin{bmatrix} 2 & 1 \\ 1 & 2\end{bmatrix} A = [ 2 1 1 2 ] 로 끝까지 해 보자.
det ( A − λ I ) = det [ 2 − λ 1 1 2 − λ ] = ( 2 − λ ) 2 − 1 = λ 2 − 4 λ + 3 \det(A - \lambda I)
= \det\begin{bmatrix} 2 - \lambda & 1 \\ 1 & 2 - \lambda \end{bmatrix}
= (2-\lambda)^2 - 1
= \lambda^2 - 4\lambda + 3 det ( A − λ I ) = det [ 2 − λ 1 1 2 − λ ] = ( 2 − λ ) 2 − 1 = λ 2 − 4 λ + 3 인수분해하면 ( λ − 1 ) ( λ − 3 ) = 0 (\lambda - 1)(\lambda - 3) = 0 ( λ − 1 ) ( λ − 3 ) = 0 이므로 고윳값이 1과 3이다.
고유벡터는 각 λ \lambda λ 마다 ( A − λ I ) x = 0 (A - \lambda I)\vv{x} = \vv{0} ( A − λ I ) x = 0 을 풀면 된다. 곧 영공간을
구하는 일 이고, L7에서 배운 그대로이다. 새로운 기법이 필요한 것이 아니다.
λ = 3 \lambda = 3 λ = 3 부터 보자. A A A 의 대각에서 3을 빼면 이렇게 된다.
A − 3 I = [ 2 − 3 1 1 2 − 3 ] = [ − 1 1 1 − 1 ] A - 3I = \begin{bmatrix} 2 - 3 & 1 \\ 1 & 2 - 3 \end{bmatrix}
= \begin{bmatrix} -1 & 1 \\ 1 & -1 \end{bmatrix} A − 3 I = [ 2 − 3 1 1 2 − 3 ] = [ − 1 1 1 − 1 ] 두 행이 서로의 -1 배라 소거하면 둘째 행이 통째로 사라진다. 랭크가 1이다.
남은 방정식은 하나뿐이다.
− x 1 + x 2 = 0 ⟹ x 2 = x 1 ⟹ x = t [ 1 1 ] -x_1 + x_2 = 0
\qquad\Longrightarrow\qquad
x_2 = x_1
\qquad\Longrightarrow\qquad
\vv{x} = t\begin{bmatrix} 1 \\ 1 \end{bmatrix} − x 1 + x 2 = 0 ⟹ x 2 = x 1 ⟹ x = t [ 1 1 ] λ = 1 \lambda = 1 λ = 1 도 같은 방식이다.
A − I = [ 1 1 1 1 ] ⟹ x 1 + x 2 = 0 ⟹ x = t [ 1 − 1 ] A - I = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix}
\qquad\Longrightarrow\qquad
x_1 + x_2 = 0
\qquad\Longrightarrow\qquad
\vv{x} = t\begin{bmatrix} 1 \\ -1 \end{bmatrix} A − I = [ 1 1 1 1 ] ⟹ x 1 + x 2 = 0 ⟹ x = t [ 1 − 1 ] 두 행렬 모두 랭크가 1이라 영공간이 1차원이다. 특이해졌다는 것이 눈에 보인다.
λ \lambda λ 를 다른 값으로 놓으면 이런 일이 벌어지지 않는다. 예를 들어 λ = 2 \lambda = 2 λ = 2 이면
A − 2 I = [ 0 1 1 0 ] A - 2I = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} A − 2 I = [ 0 1 1 0 ] 인데 이 행렬은 랭크가 2라 영공간이 원점뿐이다. x = 0 \vv{x} = \vv{0} x = 0 밖에 없으니 고유벡터가
아니다. 고윳값이 1과 3 뿐인 이유가 이것이다.
검산해 보자. 정의로 돌아가 곱해 보면 된다.
A [ 1 1 ] = [ 3 3 ] = 3 [ 1 1 ] , A [ 1 − 1 ] = [ 1 − 1 ] = 1 [ 1 − 1 ] A\begin{bmatrix} 1 \\ 1 \end{bmatrix}
= \begin{bmatrix} 3 \\ 3 \end{bmatrix}
= 3\begin{bmatrix} 1 \\ 1 \end{bmatrix},
\qquad
A\begin{bmatrix} 1 \\ -1 \end{bmatrix}
= \begin{bmatrix} 1 \\ -1 \end{bmatrix}
= 1\begin{bmatrix} 1 \\ -1 \end{bmatrix} A [ 1 1 ] = [ 3 3 ] = 3 [ 1 1 ] , A [ 1 − 1 ] = [ 1 − 1 ] = 1 [ 1 − 1 ] 3. 검산 도구 두 개 ¶ 고윳값을 구했으면 반드시 확인해야 할 것이 둘 있다.
λ 1 + λ 2 + ⋯ + λ n = tr ( A ) , λ 1 λ 2 ⋯ λ n = det A \lambda_1 + \lambda_2 + \cdots + \lambda_n = \operatorname{tr}(A),
\qquad
\lambda_1 \lambda_2 \cdots \lambda_n = \det A λ 1 + λ 2 + ⋯ + λ n = tr ( A ) , λ 1 λ 2 ⋯ λ n = det A 여기서 tr ( A ) \operatorname{tr}(A) tr ( A ) 는 대각 성분의 합이다.
2 × 2 2 \times 2 2 × 2 로 확인하자. 특성다항식을 전개하면
det [ a − λ b c d − λ ] = λ 2 − ( a + d ) λ + ( a d − b c ) \det\begin{bmatrix} a - \lambda & b \\ c & d - \lambda \end{bmatrix}
= \lambda^2 - (a + d)\lambda + (ad - bc) det [ a − λ c b d − λ ] = λ 2 − ( a + d ) λ + ( a d − b c ) 이다. 근과 계수의 관계로 두 근의 합이 a + d = tr ( A ) a + d = \operatorname{tr}(A) a + d = tr ( A ) 이고
곱이 a d − b c = det A ad - bc = \det A a d − b c = det A 이다.
일반적인 n n n 에서도 같은 결론이 나온다. 다만 세 걸음이 필요하다.
첫째, 특성다항식이 정말 n n n 차인가. L19의 빅 포뮬러로 보면 바로 보인다.
det ( A − λ I ) \det(A - \lambda I) det ( A − λ I ) 의 각 항은 A − λ I A - \lambda I A − λ I 의 성분 n n n 개를 곱한 것인데, 그 성분은
대각에서 온 a i i − λ a_{ii} - \lambda a ii − λ 이거나 대각 밖에서 온 상수 a i j a_{ij} a ij 이다. 곧 각 항이
λ \lambda λ 에 대해 많아야 n n n 차 이고, 합인 특성다항식도 그렇다.
둘째, λ n \lambda^n λ n 과 λ n − 1 \lambda^{n-1} λ n − 1 은 어디서 오는가. 항등순열이 만드는 대각의 곱만
λ \lambda λ 를 n n n 개 갖는다. 다른 순열은 대각을 적어도 둘 벗어나므로(σ ( i ) ≠ i \sigma(i) \neq i σ ( i ) = i 인
i i i 가 하나뿐일 수는 없다) λ \lambda λ 를 많아야 n − 2 n-2 n − 2 개 갖는다.
det ( A − λ I ) = ( a 11 − λ ) ( a 22 − λ ) ⋯ ( a n n − λ ) + ( λ n − 2 이하의 항 ) \det(A - \lambda I)
= (a_{11} - \lambda)(a_{22} - \lambda)\cdots(a_{nn} - \lambda)
+ (\lambda^{n-2} \text{ 이하의 항}) det ( A − λ I ) = ( a 11 − λ ) ( a 22 − λ ) ⋯ ( a nn − λ ) + ( λ n − 2 이하의 항 ) 앞의 곱을 전개할 때 λ n \lambda^n λ n 은 모든 괄호에서 − λ -\lambda − λ 를 고른 것이고,
λ n − 1 \lambda^{n-1} λ n − 1 은 딱 한 괄호에서 a i i a_{ii} a ii 를 고르고 나머지에서 − λ -\lambda − λ 를 고른 것이다.
고르는 방법이 n n n 가지이니 계수가 a i i a_{ii} a ii 들의 합, 곧 대각합이다.
det ( A − λ I ) = ( − 1 ) n λ n + ( − 1 ) n − 1 tr ( A ) λ n − 1 + ⋯ \det(A - \lambda I)
= (-1)^n \lambda^n + (-1)^{n-1}\operatorname{tr}(A)\,\lambda^{n-1} + \cdots det ( A − λ I ) = ( − 1 ) n λ n + ( − 1 ) n − 1 tr ( A ) λ n − 1 + ⋯ 셋째, 근으로 인수분해한다. n n n 차 다항식이고 근이
λ 1 , … , λ n \lambda_1, \dots, \lambda_n λ 1 , … , λ n 이며 최고차 계수가 ( − 1 ) n (-1)^n ( − 1 ) n 이므로
det ( A − λ I ) = ( λ 1 − λ ) ( λ 2 − λ ) ⋯ ( λ n − λ ) \det(A - \lambda I) = (\lambda_1 - \lambda)(\lambda_2 - \lambda)\cdots(\lambda_n - \lambda) det ( A − λ I ) = ( λ 1 − λ ) ( λ 2 − λ ) ⋯ ( λ n − λ ) 로 쓸 수 있다. 오른쪽을 전개해도 λ n \lambda^n λ n 의 계수가 ( − 1 ) n (-1)^n ( − 1 ) n 이라 앞뒤가 맞는다.
이제 두 결론을 뽑는다. 곱 은 양변에 λ = 0 \lambda = 0 λ = 0 을 넣으면 나온다. 왼쪽은
det ( A − 0 ⋅ I ) = det A \det(A - 0 \cdot I) = \det A det ( A − 0 ⋅ I ) = det A 이고 오른쪽은 근의 곱이다.
det A = λ 1 λ 2 ⋯ λ n \det A = \lambda_1 \lambda_2 \cdots \lambda_n det A = λ 1 λ 2 ⋯ λ n 합 은 (15) 의 오른쪽을 (14) 의 방식대로 전개해
λ n − 1 \lambda^{n-1} λ n − 1 의 계수를 비교하면 나온다. 오른쪽에서 그 계수는 한 괄호에서 λ i \lambda_i λ i 를
고르고 나머지에서 − λ -\lambda − λ 를 고른 것들의 합이다.
( − 1 ) n − 1 tr ( A ) = ( − 1 ) n − 1 ( λ 1 + ⋯ + λ n ) (-1)^{n-1}\operatorname{tr}(A) = (-1)^{n-1}\left(\lambda_1 + \cdots + \lambda_n\right) ( − 1 ) n − 1 tr ( A ) = ( − 1 ) n − 1 ( λ 1 + ⋯ + λ n ) 양변에서 ( − 1 ) n − 1 (-1)^{n-1} ( − 1 ) n − 1 을 지우면 대각합이 고윳값의 합이다.
앞의 예에서 tr ( A ) = 2 + 2 = 4 = 1 + 3 \operatorname{tr}(A) = 2 + 2 = 4 = 1 + 3 tr ( A ) = 2 + 2 = 4 = 1 + 3 이고 det A = 4 − 1 = 3 = 1 × 3 \det A = 4 - 1 = 3 = 1 \times 3 det A = 4 − 1 = 3 = 1 × 3
이다.
4. 네 가지 사례 ¶ 계산 절차보다 중요한 것이 사례이다. 네 개를 보면 감이 잡힌다.
Figure 4: 단위원이 어디로 가는지, 그리고 안 움직이는 방향이 어디인지가 네 경우 모두 다르다.
투영행렬 — L15의 약속을 갚는다 ¶ y = x y = x y = x 위로의 투영행렬은 P = 1 2 [ 1 1 1 1 ] P = \frac12\begin{bmatrix}1&1\\1&1\end{bmatrix} P = 2 1 [ 1 1 1 1 ] 이다.
직선 위의 벡터는 투영해도 그대로이니 λ = 1 \lambda = 1 λ = 1 이고, 직선에 수직인 벡터는 그림자가
지지 않으니 λ = 0 \lambda = 0 λ = 0 이다.
P [ 1 1 ] = 1 ⋅ [ 1 1 ] , P [ 1 − 1 ] = 0 ⋅ [ 1 − 1 ] P\begin{bmatrix}1\\1\end{bmatrix} = 1 \cdot \begin{bmatrix}1\\1\end{bmatrix},
\qquad
P\begin{bmatrix}1\\-1\end{bmatrix} = 0 \cdot \begin{bmatrix}1\\-1\end{bmatrix} P [ 1 1 ] = 1 ⋅ [ 1 1 ] , P [ 1 − 1 ] = 0 ⋅ [ 1 − 1 ] L15에서 그린 그림이 사실 고유벡터의 그림이었다. 그리고 그때 미뤄 둔 약속도 여기서
갚을 수 있다. P 2 = P P^2 = P P 2 = P 하나만으로 고윳값이 0과 1뿐임이 나온다(L15의 (22) ).
P x = λ x P\vv{x} = \lambda\vv{x} P x = λ x 의 양변에 P P P 를 한 번 더 곱하면
P 2 x = λ P x = λ 2 x P^2\vv{x} = \lambda P\vv{x} = \lambda^2 \vv{x} P 2 x = λ P x = λ 2 x 인데 P 2 = P P^2 = P P 2 = P 이므로 왼쪽이 P x = λ x P\vv{x} = \lambda\vv{x} P x = λ x 이다. 따라서
λ x = λ 2 x \lambda\vv{x} = \lambda^2\vv{x} λ x = λ 2 x 이고, x ≠ 0 \vv{x} \neq \vv{0} x = 0 이므로
λ 2 = λ ⟹ λ = 0 또는 1 \lambda^2 = \lambda
\qquad\Longrightarrow\qquad
\lambda = 0 \text{ 또는 } 1 λ 2 = λ ⟹ λ = 0 또는 1 이다. 계산을 한 줄도 하지 않고 고윳값을 알아냈다. 행렬이 만족하는 등식이 곧 고윳값이
만족하는 등식이 된다.
삼각행렬 — 대각을 읽으면 끝 ¶ A = [ 3 1 0 2 ] A = \begin{bmatrix} 3 & 1 \\ 0 & 2\end{bmatrix} A = [ 3 0 1 2 ] 에서 A − λ I A - \lambda I A − λ I 도 삼각행렬이다.
삼각행렬의 행렬식은 대각의 곱이었으므로(L18의 (8) )
det ( A − λ I ) = ( 3 − λ ) ( 2 − λ ) = 0 \det(A - \lambda I) = (3 - \lambda)(2 - \lambda) = 0 det ( A − λ I ) = ( 3 − λ ) ( 2 − λ ) = 0 이고 고윳값이 3과 2이다. 삼각행렬은 대각을 읽으면 그것이 고윳값이다.
그렇다면 아무 행렬이나 소거해서 삼각행렬 U U U 로 만든 다음 U U U 의 대각을 읽으면 고윳값을
공짜로 얻는 것이 아닌가. 그렇지 않다. 소거는 행렬식을 보존하지만 고윳값은 보존하지
않는다. 이 절에서 쓰던 행렬로 확인해 보자.
A = [ 2 1 1 2 ] → 2행 − 1 2 1행 U = [ 2 1 0 3 2 ] A = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}
\qquad\xrightarrow{\;\text{2행} - \tfrac12 \text{1행}\;}\qquad
U = \begin{bmatrix} 2 & 1 \\ 0 & \tfrac32 \end{bmatrix} A = [ 2 1 1 2 ] 2 행 − 2 1 1 행 U = [ 2 0 1 2 3 ] A A A 의 고윳값은 1과 3이었는데 U U U 의 대각은 2 와 3 2 \tfrac32 2 3 이다. 전혀 다르다.
고윳값 대각합 행렬식 A A A 1 , 3 1,\;3 1 , 3 4 3 U U U 2 , 3 2 2,\;\tfrac32 2 , 2 3 7 2 \tfrac72 2 7 3
행렬식만 3으로 살아남았다. 소거가 보존하는 것은 행렬식이지 고윳값이 아니다.
이유는 (4) 의 식을 보면 알 수 있다. 고윳값은 A A A 가 아니라
A − λ I A - \lambda I A − λ I 의 성질이다. A A A 에 소거를 하면 A − λ I A - \lambda I A − λ I 에는 같은 소거가
적용되지 않는다. 대각에서 λ \lambda λ 를 뺀 뒤에는 피벗의 자리와 크기가 달라져
소거의 배수 자체가 λ \lambda λ 에 따라 바뀌기 때문이다.
회전행렬 — 실수 고유벡터가 없다 ¶ 90도 회전행렬 Q = [ 0 − 1 1 0 ] Q = \begin{bmatrix} 0 & -1 \\ 1 & 0\end{bmatrix} Q = [ 0 1 − 1 0 ] 를 보자.
det ( Q − λ I ) = det [ − λ − 1 1 − λ ] = λ 2 + 1 = 0 \det(Q - \lambda I) = \det\begin{bmatrix} -\lambda & -1 \\ 1 & -\lambda \end{bmatrix}
= \lambda^2 + 1 = 0 det ( Q − λ I ) = det [ − λ 1 − 1 − λ ] = λ 2 + 1 = 0 실수 해가 없다. λ = ± i \lambda = \pm i λ = ± i 이다.
당연한 결과이다. 모든 것을 돌리는 변환에 안 돌아가는 방향이 있을 리 없다.
회전목마 위에 가만히 있는 자리는 없다.
검산 도구는 복소수에서도 통한다. tr ( Q ) = 0 = i + ( − i ) \operatorname{tr}(Q) = 0 = i + (-i) tr ( Q ) = 0 = i + ( − i ) 이고
det Q = 1 = i ⋅ ( − i ) \det Q = 1 = i \cdot (-i) det Q = 1 = i ⋅ ( − i ) 이다.
결함 행렬 — 고윳값은 둘인데 고유벡터는 하나 ¶ B = [ 3 1 0 3 ] B = \begin{bmatrix} 3 & 1 \\ 0 & 3\end{bmatrix} B = [ 3 0 1 3 ] 은 삼각행렬이므로 고윳값이 3, 3 이다.
같은 값이 두 번 나왔다. 고유벡터를 구해 보자.
B − 3 I = [ 0 1 0 0 ] B - 3I = \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix} B − 3 I = [ 0 0 1 0 ] 이 행렬의 랭크가 1이므로 영공간이 1차원뿐이다. 고윳값은 두 개인데 독립인 고유벡터는
( 1 , 0 ) (1, 0) ( 1 , 0 ) 하나밖에 없다.
지금은 이상해 보인다. 답은 미뤄 두자. 다음 강의에서 이것이 왜 문제가 되는지 보고,
L28에서 어떻게 다루는지 배운다.
5. 고유벡터에는 정해진 길이가 없다 ¶ A x = λ x A\vv{x} = \lambda\vv{x} A x = λ x 이면 아무 수 c ≠ 0 c \neq 0 c = 0 에 대해
A ( c x ) = c A x = c λ x = λ ( c x ) A(c\vv{x}) = c\,A\vv{x} = c\lambda\vv{x} = \lambda(c\vv{x}) A ( c x ) = c A x = c λ x = λ ( c x ) 이므로 c x c\vv{x} c x 도 같은 고윳값의 고유벡터이다. 고유벡터는 방향이지 특정한 벡터가 아니다.
한 걸음 더 가면, 같은 λ \lambda λ 에 딸린 고유벡터를 전부 모으고 영벡터를 더한 것이
N ( A − λ I ) \Nul(A - \lambda I) N ( A − λ I ) 이고 이것은 부분공간이다. 이를 고유공간 이라 한다.
6. 자주 하는 오해 ¶ 고윳값이 서로 달라야 대각화된다는 오해 ¶ 정확한 조건은 고윳값이 서로 다른 것이 아니라 독립인 고유벡터가 n n n 개 있는 것 이다.
고윳값이 서로 다르면 그것이 보장되지만, 같아도 괜찮은 경우가 있다. I I I 는 고윳값이
전부 1인데도 고유벡터가 n n n 개 있다. 다음 강의에서 정면으로 다룬다.
특성방정식으로 실제로 고윳값을 구한다는 오해 ¶ 2 × 2 2 \times 2 2 × 2 나 3 × 3 3 \times 3 3 × 3 에서는 그렇게 한다. 그러나 5차 이상의 다항식에는 근의 공식이
없고, 있다 해도 계수에서 근을 구하는 일은 수치적으로 매우 불안정하다.
실제 소프트웨어는 특성방정식을 세우지 않고 Q R QR QR 알고리즘 같은 반복법을 쓴다.
L19에서 만난 태도가 또 나온다. 옳은 공식과 쓰는 방법은 다르다.
복소 고윳값이 나오면 틀렸다는 오해 ¶ 회전행렬에서 본 대로 실수 행렬의 고윳값이 복소수인 것은 정상이다.
고유벡터가 유일하다는 오해 ¶ 5절에서 본 대로 스케일이 자유이다.
마치며... ¶ 이번 강의에서 다룬 것을 정리하면 다음과 같다.
대상 내용 정의 A x = λ x A\vv{x} = \lambda\vv{x} A x = λ x , x ≠ 0 \vv{x} \neq \vv{0} x = 0 λ = 0 \lambda = 0 λ = 0 그 고유벡터가 곧 영공간의 원소 특성방정식 det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0 — 행렬을 특이하게 만드는 λ \lambda λ 부피의 언어 λ \lambda λ 를 돌려 부피를 0으로 만드는 순간검산 합은 대각의 합, 곱은 행렬식 — λ n − 1 \lambda^{n-1} λ n − 1 과 λ 0 \lambda^0 λ 0 의 계수 비교 소거 행렬식은 보존하지만 고윳값은 보존하지 않는다 투영행렬 P 2 = P P^2 = P P 2 = P 하나로 λ ∈ { 0 , 1 } \lambda \in \{0, 1\} λ ∈ { 0 , 1 } 삼각행렬 대각이 곧 고윳값 회전행렬 실수 고유벡터가 없다 결함 행렬 고윳값은 둘인데 고유벡터는 하나 스케일 고유벡터는 방향이지 특정 벡터가 아니다
L18부터 L20까지 세 강의 동안 행렬식을 배웠고, 그때는 왜 배우는지 말하지 않았다.
이제 답이 나왔다. det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0 이 그 답이다. 행렬식이 없었다면 이 방정식은
외워야 할 공식이었을 것이고, 부피를 몰랐다면 "왜 행렬식이 0이어야 하는가"에 답할 수 없었을
것이다.
몇 가지 흥미로운 사례도 보았다. 투영행렬의 고윳값은 0과 1뿐이었고, 회전행렬에는 실수
고유벡터가 아예 없었으며, 어떤 행렬은 고윳값이 두 개인데 고유벡터는 하나뿐이었다.
마지막 것은 잠시 미뤄 두자.
다음 강의에서는 이 특별한 방향들을 아예 기저로 삼아 버리면 어떤 일이 벌어지는지 본다.
좌표계를 고유벡터에 맞춰 갈아끼우는 순간 행렬 곱셈이 수 곱셈으로 바뀌고,
그때 A 100 A^{100} A 100 같은 계산이 우스워진다.
이번 강의의 내용을 파이썬으로 확인해 보려면 L21 실습 노트북 으로 넘어가면 된다.
특성다항식을 직접 세워 근을 구하고, np.linalg.eig 와 대조하며, 네 가지 사례에서
단위원이 어떻게 옮겨 가는지 회전시켜 볼 수 있다.