Chapter 12

고유값으로 보는 동역학

11장에서 고유벡터를 "행렬이 방향을 바꾸지 않는 축"으로, 고유값을 "그 축의 배율"으로 만났습니다. 이 장에서는 그 그림에 시간을 더합니다. 같은 행렬을 매 단계 다시 곱하는 시스템, 즉 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k에서는 고유벡터 방향의 성분이 매번 λ\lambda배씩 늘거나 줄어듭니다. 연속 시간의 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}에서는 그 성분이 eλte^{\lambda t}로 자랍니다. 그래서 행렬을 수백 번 곱하거나 미분방정식을 풀지 않아도 고유값만 보면 미래를 압니다. 무엇이 살아남고, 무엇이 사라지고, 얼마나 빨리 평형에 닿는지. 장비의 가동 상태, 웹 페이지의 순위, 생물의 개체 수, 흔들리는 구조물이 모두 같은 질문입니다.

이 수식이 없었다면웹 검색의 순위

1990년대 중반의 웹 검색은 검색어가 페이지에 몇 번 나오는지로 순위를 매겼고, 같은 단어를 수백 번 숨겨 넣은 페이지가 맨 위로 올라오곤 했습니다. 브린과 페이지는 1998년 논문에서 다른 접근을 제안했습니다. 중요한 페이지란 중요한 페이지가 많이 링크하는 페이지라는 것입니다. 정의가 자기 자신을 가리키는 순환이라 공식 하나로 계산할 수 없어 보입니다.

그런데 이 순환을 "링크를 따라 무작위로 돌아다니는 사람이 각 페이지에 머무는 비율"로 바꾸면 행렬 문제가 됩니다. 링크 행렬 GG에 대해 순위 벡터는 Gr=rG\mathbf{r} = \mathbf{r}, 즉 고유값 1의 고유벡터입니다. 수십억 차원이라도 r←Gr\mathbf{r}\leftarrow G\mathbf{r}를 수십 번 되풀이하면 답에 수렴하고, 그 수렴 속도를 정하는 것이 두 번째 고유값입니다.

"중요한 페이지가 링크한 페이지"→순환 정의→Gr = r (고유값 1)→거듭제곱 반복

같은 행렬을 거듭 곱하면: 차분 방정식

100단계 뒤의 상태를 행렬 곱 100번 없이 알 수 있을까

매년 같은 규칙으로 바뀌는 시스템이 있습니다. 두 도시 사이의 인구 이동, 할인율이 붙은 재고, 디지털 필터의 상태 변수, 수치 해법의 한 스텝. 상태를 벡터 uk\mathbf{u}_k로 쓰면 규칙은 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k이고, 100년 뒤는 u100=A100u0\mathbf{u}_{100} = A^{100}\mathbf{u}_0입니다. 행렬을 100번 곱하지 않고 이 값을 알 수 있을까요? 더 중요하게는, 계산하지 않고도 "결국 0으로 사라지는가, 폭발하는가"를 알 수 있을까요?

열쇠는 u0\mathbf{u}_0를 고유벡터로 분해하는 것입니다. Axi=λixiA\mathbf{x}_i = \lambda_i\mathbf{x}_i이면 AA를 한 번 곱할 때 xi\mathbf{x}_i 성분은 방향은 그대로이고 크기만 λi\lambda_i배가 됩니다. kk번 곱하면 λik\lambda_i^k배입니다. 다른 방향 성분과 섞이지 않으니 각 성분을 따로 계산하면 됩니다.

정리 12.1 (차분 방정식의 해) n×nn\times n 행렬 AA가 독립인 고유벡터 x1,…,xn\mathbf{x}_1,\dots,\mathbf{x}_n(고유값 λ1,…,λn\lambda_1,\dots,\lambda_n)을 가지면, uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k의 해는 uk=Aku0=c1λ1kx1+c2λ2kx2+⋯+cnλnkxn\mathbf{u}_k = A^k\mathbf{u}_0 = c_1\lambda_1^k\mathbf{x}_1 + c_2\lambda_2^k\mathbf{x}_2 + \cdots + c_n\lambda_n^k\mathbf{x}_n 이고, 계수 c\mathbf{c}는 u0=Xc\mathbf{u}_0 = X\mathbf{c}를 풀어 얻는다(XX의 열이 고유벡터). 행렬로 쓰면 Ak=XΛkX−1A^k = X\Lambda^k X^{-1}.
증명. u0=∑cixi\mathbf{u}_0 = \sum c_i\mathbf{x}_i에 AA를 곱하면 선형성으로 Au0=∑ciAxi=∑ciλixiA\mathbf{u}_0 = \sum c_i A\mathbf{x}_i = \sum c_i\lambda_i\mathbf{x}_i. 이를 kk번 되풀이한다. 행렬식 꼴은 A=XΛX−1A = X\Lambda X^{-1}에서 Ak=XΛX−1XΛX−1⋯=XΛkX−1A^k = X\Lambda X^{-1}X\Lambda X^{-1}\cdots = X\Lambda^k X^{-1}(가운데의 X−1X=IX^{-1}X = I가 모두 지워진다). ∎
c₁x₁c₂x₂u₀ k = 0: 고유벡터로 분해 A λ₁c₁x₁ (λ₁ = 1.2)λ₂c₂x₂ (λ₂ = 0.5) k = 1: 성분마다 λ배 Aᵏ λ₁ᵏ → ∞λ₂ᵏ → 0 결국 uₖ는x₁ 방향만 남는다 큰 k: 지배 고유값
그림 12-1. u0\mathbf{u}_0를 두 고유벡터 방향으로 나누면(왼쪽), AA를 한 번 곱할 때마다 각 성분이 자기 고유값만큼 늘거나 준다(가운데). 많이 곱하면 절댓값이 가장 큰 고유값의 성분이 다른 성분을 압도해, 상태는 그 고유벡터 방향으로 정렬된다(오른쪽).
예제 12.1 · 피보나치 수의 닫힌 식

Fk+2=Fk+1+FkF_{k+2} = F_{k+1} + F_k, F0=0F_0 = 0, F1=1F_1 = 1. 상태를 uk=(Fk+1,Fk)\mathbf{u}_k = (F_{k+1}, F_k)로 두면 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k, A=[1110]A = \begin{bmatrix}1 & 1\\ 1 & 0\end{bmatrix}.

  1. 특성 방정식 λ2−λ−1=0\lambda^2 - \lambda - 1 = 0에서 λ1=φ=1+52≈1.618\lambda_1 = \varphi = \tfrac{1+\sqrt5}{2} \approx 1.618, λ2=ψ=1−52≈−0.618\lambda_2 = \psi = \tfrac{1-\sqrt5}{2} \approx -0.618.
  2. 고유벡터: (A−λI)x=0(A - \lambda I)\mathbf{x} = \mathbf{0}의 둘째 줄 x1−λx2=0x_1 - \lambda x_2 = 0에서 xi=(λi,1)\mathbf{x}_i = (\lambda_i, 1).
  3. u0=(1,0)=c1(φ,1)+c2(ψ,1)\mathbf{u}_0 = (1, 0) = c_1(\varphi, 1) + c_2(\psi, 1)에서 c1=−c2=1/(φ−ψ)=1/5c_1 = -c_2 = 1/(\varphi - \psi) = 1/\sqrt5.
  4. 둘째 성분을 읽으면 Fk=φk−ψk5F_k = \dfrac{\varphi^k - \psi^k}{\sqrt5} (비네 공식). ∣ψ∣<1|\psi| \lt 1이라 ψk\psi^k는 금방 사라지고, FkF_k는 φk/5\varphi^k/\sqrt5에 가장 가까운 정수다. 예를 들어 φ10/5≈55.004\varphi^{10}/\sqrt5 \approx 55.004이고 F10=55F_{10} = 55.

정수 점화식의 답에 무리수 5\sqrt5가 나오는 이유는 고유벡터 좌표계가 무리수 방향이기 때문입니다. 연속한 두 항의 비 Fk+1/FkF_{k+1}/F_k가 황금비로 가는 것은 "지배 고유값이 남는다"(그림 12-1)의 한 예입니다.

아래 시뮬레이터에서 시작점 u0\mathbf{u}_0를 끌고 행렬을 바꿔 보세요. 점들이 고유벡터 선을 따라 정렬되는 모습, 음수 고유값이 만드는 지그재그, 복소 고유값이 만드는 나선을 볼 수 있습니다.

SIMULATOR

u₀, Au₀, A²u₀, …의 궤적

u₀ 점을 끌어 보세요
행렬 A
고유값—
스펙트럼 반지름 ρ(A)—
‖uₖ‖ (마지막 단계)—
판정—
해볼 것: ① '한 방향 성장'에서 u₀를 아무 데나 두어도 점들이 결국 λ₁ 고유벡터 선을 따라 달아납니다. u₀를 정확히 λ₂ 선 위에 놓으면(성분 c₁ = 0) 원점으로 들어옵니다. ② '음수 고유값'은 점이 원점의 양쪽을 오가는 지그재그를 만듭니다. ③ '감쇠 나선'은 매 단계 25°씩 돌며 7%씩 줄고, '순수 회전'은 같은 원 위를 영원히 돕니다. 모델: 2×2 실수 행렬, 점은 0.05 단위로 맞춰지고 화면 밖으로 나간 점은 그리지 않습니다.

안정성: 고유값이 단위원 안에 있는가

디지털 필터는 언제 스스로 울리기 시작할까

오디오 이퀄라이저나 센서 신호를 거르는 디지털 필터는 지난 출력 몇 개에 계수를 곱해 다음 출력을 만듭니다. 상태 벡터로 쓰면 바로 uk+1=Auk+(입력)\mathbf{u}_{k+1} = A\mathbf{u}_k + (\text{입력})입니다. 계수를 조금만 잘못 고르면 입력이 멈춰도 출력이 점점 커져 스피커가 찢어질 듯 울립니다. 계수표를 보고 미리 알 수 있을까요?

정리 12.1에서 답이 바로 나옵니다. uk\mathbf{u}_k의 각 성분은 λik\lambda_i^k에 비례하니, 모든 고유값의 절댓값이 1보다 작으면 모든 성분이 0으로 갑니다. 하나라도 1보다 크면 그 성분이 지수적으로 커집니다. 고유값 중 가장 큰 절댓값을 따로 이름 붙여 둡니다.

정의 12.1 (스펙트럼 반지름) ρ(A)=max⁡i∣λi∣\rho(A) = \max_i |\lambda_i|. 복소 고유값 λ=a+bi\lambda = a + bi이면 ∣λ∣=a2+b2|\lambda| = \sqrt{a^2 + b^2}이다.
정리 12.2 (이산 시스템의 안정성) uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k에 대해
  • ρ(A)<1\rho(A) \lt 1이면 모든 u0\mathbf{u}_0에서 uk→0\mathbf{u}_k \to \mathbf{0} (점근 안정).
  • ∣λi∣>1|\lambda_i| \gt 1인 고유값이 하나라도 있으면 그 고유벡터 성분이 있는 u0\mathbf{u}_0에서 ∥uk∥→∞\|\mathbf{u}_k\| \to \infty (불안정).
  • ρ(A)=1\rho(A) = 1이면 경계: ∣λ∣=1|\lambda| = 1 성분은 크기를 유지한다(회전, 정상 상태). 단, 고유벡터가 모자란 행렬은 kλkk\lambda^k 꼴 항이 생겨 천천히 커질 수 있다.
증명 아이디어. 대각화 가능하면 ∥uk∥≤∑∣ci∣∣λi∣k∥xi∥\|\mathbf{u}_k\| \le \sum |c_i||\lambda_i|^k\|\mathbf{x}_i\|이고 ∣λi∣k→0|\lambda_i|^k \to 0. 대각화가 안 되는 경우에도 조르당 형태의 항 kmλkk^m\lambda^k가 ∣λ∣<1|\lambda| \lt 1이면 여전히 0으로 간다(지수 감소가 다항 증가를 이긴다). ∎

복소 고유값은 특히 중요합니다. 실수 행렬의 복소 고유값은 켤레쌍 re±iθre^{\pm i\theta}로 나오고, 그 두 방향을 묶은 평면 위에서 AA는 θ\theta만큼 돌리고 rr배 하는 변환처럼 작동합니다. 예를 들어

A=r[cos⁡θ−sin⁡θsin⁡θcos⁡θ]⟹λ=re±iθ,Ak=rk[cos⁡kθ−sin⁡kθsin⁡kθcos⁡kθ]A = r\begin{bmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{bmatrix} \quad\Longrightarrow\quad \lambda = re^{\pm i\theta},\qquad A^k = r^k\begin{bmatrix}\cos k\theta & -\sin k\theta\\ \sin k\theta & \cos k\theta\end{bmatrix}
r<1r \lt 1이면 안으로 감기는 나선, r=1r = 1이면 원, r>1r \gt 1이면 밖으로 풀리는 나선. 한 바퀴에 약 360°/θ360°/\theta 단계가 걸린다. 진동의 "주기"가 고유값의 각도에 들어 있다.
고유값한 단계의 효과궤적예
0<λ<10 \lt \lambda \lt 1같은 방향으로 줄어듦원점으로 곧게 들어감감가상각, 할인
λ>1\lambda \gt 1같은 방향으로 늘어남곧게 달아남복리, 개체 수 증가
−1<λ<0-1 \lt \lambda \lt 0뒤집히며 줄어듦원점 양쪽을 오가며 수렴과보정하는 제어기
λ=1\lambda = 1그대로정상 상태마르코프 연쇄의 평형
re±iθre^{\pm i\theta}θ\theta 회전 후 rr배나선 또는 원디지털 공진 필터
연속 시간과의 다리 미분방정식 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}를 오일러 방법으로 시간 간격 hh씩 풀면 uk+1=(I+hA)uk\mathbf{u}_{k+1} = (I + hA)\mathbf{u}_k, 차분 방정식이 됩니다. 고유값은 1+hλ1 + h\lambda로 바뀌고, 수치 해가 안정하려면 ∣1+hλ∣<1|1 + h\lambda| \lt 1이어야 합니다. 원래 시스템이 안정(λ<0\lambda \lt 0)해도 hh가 너무 크면 1+hλ<−11 + h\lambda \lt -1이 되어 수치 해가 폭발합니다. 이것이 수치 해석의 "안정성 조건"이며, 6절 이후의 연속 시간 이야기와 이 절을 잇는 다리입니다.

마르코프 연쇄: 고유값 1이 정하는 평형

장비 100대 중 장기적으로 몇 대가 멈춰 있을까

팹의 장비는 매 시간 "가동", "대기", "수리" 중 하나의 상태에 있습니다. 기록을 보니 가동 중인 장비가 한 시간 뒤에도 가동 중일 확률은 90%, 대기로 갈 확률 7%, 고장 나 수리로 갈 확률 3%입니다. 다른 상태에서도 이런 확률이 있습니다. 오늘 모든 장비가 가동 중이라면, 일주일 뒤 수리 중인 장비의 비율은 얼마일까요? 처음 상태에 따라 답이 달라질까요?

상태 jj에서 상태 ii로 갈 확률을 aija_{ij}로 적은 행렬을 전이 행렬(transition matrix)이라 합니다. 각 상태에 있을 확률을 벡터 pk\mathbf{p}_k로 쓰면 pk+1=Apk\mathbf{p}_{k+1} = A\mathbf{p}_k입니다. jj열은 "상태 jj에서 출발한 확률이 어디로 나뉘는가"이므로 성분이 음이 아니고 합이 1입니다.

가동 대기 수리 0.07 0.50 0.03 0.30 0.05 0.10 0.90 0.45 0.60 A (열 = 출발 상태, 행 = 도착 상태) 가동대기수리 가동대기수리 0.900.500.30 0.070.450.10 0.030.050.60 각 열의 합 = 1
그림 12-2. 세 상태의 전이 그림과 열 확률 행렬. 화살표 j→ij \to i의 숫자가 aija_{ij}이다. 한 상태에서 나가는 화살표(자기 자신으로 돌아오는 고리 포함)의 확률을 모두 더하면 1이므로 각 열의 합이 1이다.
정의 12.2 (열 확률 행렬) 모든 성분이 aij≥0a_{ij} \ge 0이고 각 열의 합이 1인 정사각 행렬. 확률 벡터(성분이 음이 아니고 합이 1)를 확률 벡터로 보낸다.
정리 12.3 (마르코프 행렬의 고유값) 열 확률 행렬 AA에 대해
  1. λ=1\lambda = 1은 언제나 고유값이다.
  2. 모든 고유값은 ∣λ∣≤1|\lambda| \le 1이다.
  3. 어떤 거듭제곱 AmA^m의 성분이 모두 양수이면(정칙 연쇄), λ=1\lambda = 1은 단순 고유값이고 나머지는 모두 ∣λ∣<1|\lambda| \lt 1이며, 고유값 1의 고유벡터를 성분 합 1로 맞춘 π\boldsymbol\pi(정상 분포)는 성분이 모두 양수이고, 모든 출발 확률 벡터에서 pk→π\mathbf{p}_k \to \boldsymbol\pi이다.
증명. (1) 열의 합이 1이라는 것은 AT1=1A^{\mathsf T}\mathbf{1} = \mathbf{1}, 즉 1이 ATA^{\mathsf T}의 고유값이라는 뜻이다. AA와 ATA^{\mathsf T}는 특성 다항식이 같으므로(det⁡(A−λI)=det⁡(A−λI)T\det(A - \lambda I) = \det(A - \lambda I)^{\mathsf T}) 1은 AA의 고유값이기도 하다. (2) ATy=λyA^{\mathsf T}\mathbf{y} = \lambda\mathbf{y}에서 ∣yj∣|y_j|가 가장 큰 성분 jj를 보면 ∣λ∣∣yj∣=∣∑iaijyi∣≤∑iaij∣yj∣=∣yj∣|\lambda||y_j| = |\sum_i a_{ij}y_i| \le \sum_i a_{ij}|y_j| = |y_j|. (3)은 페론–프로베니우스 정리의 결과이며 여기서는 증명하지 않는다. ∎

정리 12.1과 합치면 수렴 속도도 나옵니다. p0=π+c2x2+c3x3\mathbf{p}_0 = \boldsymbol\pi + c_2\mathbf{x}_2 + c_3\mathbf{x}_3이면 pk=π+c2λ2kx2+c3λ3kx3\mathbf{p}_k = \boldsymbol\pi + c_2\lambda_2^k\mathbf{x}_2 + c_3\lambda_3^k\mathbf{x}_3이므로, 평형에서의 오차는 대략 ∣λ2∣k|\lambda_2|^k로 줄어듭니다(∣λ2∣|\lambda_2|는 두 번째로 큰 고유값의 크기). ∣λ2∣=0.5|\lambda_2| = 0.5이면 10단계에 오차가 1/1000로, ∣λ2∣=0.99|\lambda_2| = 0.99이면 같은 감소에 약 690단계가 걸립니다(0.99690≈10−30.99^{690} \approx 10^{-3}).

예제 12.2 · 두 상태 연쇄

A=[0.90.20.10.8]A = \begin{bmatrix}0.9 & 0.2\\ 0.1 & 0.8\end{bmatrix} (맑음 → 맑음 0.9, 비 → 맑음 0.2).

  1. 고유값의 합은 대각합 1.7, 하나가 1이니 다른 하나는 λ2=0.7\lambda_2 = 0.7.
  2. (A−I)π=0(A - I)\boldsymbol\pi = \mathbf{0}: −0.1π1+0.2π2=0-0.1\pi_1 + 0.2\pi_2 = 0에서 π1=2π2\pi_1 = 2\pi_2. 합 1로 맞추면 π=(2/3, 1/3)\boldsymbol\pi = (2/3,\ 1/3).
  3. λ2=0.7\lambda_2 = 0.7의 고유벡터는 (1,−1)(1, -1) (성분 합 0: 확률의 총합을 바꾸지 않는 방향). p0=(1,0)\mathbf{p}_0 = (1, 0)이면 pk=(2/3,1/3)+13(0.7)k(1,−1)\mathbf{p}_k = (2/3, 1/3) + \tfrac13(0.7)^k(1, -1).
  4. 오늘 맑으면 내일 맑을 확률 2/3+0.7/3=0.92/3 + 0.7/3 = 0.9 (검산: AA의 1열), 일주일 뒤 2/3+0.77/3≈0.6942/3 + 0.7^7/3 \approx 0.694, 한 달 뒤에는 사실상 2/32/3.
SIMULATOR

장비 상태의 마르코프 연쇄: 정상 분포로 가는 길

전이 행렬 A (열 = 출발: 가동·대기·수리)
처음 분포 p₀
단계 k0
정상 분포 π (가동·대기·수리)—
|λ₂|—
오차 ‖pₖ − π‖₁—
해볼 것: ① '모두 가동'과 '모두 수리'로 각각 재생해 보세요. 출발점이 달라도 같은 막대(점선 = π)에 도착합니다. ② '잘 안 바뀌는 상태'는 |λ₂|가 1에 가까워 평형까지 수십 단계가 걸립니다. 오른쪽 그래프(로그 눈금)의 기울기가 log|λ₂|입니다. ③ '거의 순환'은 복소 λ₂ 때문에 확률이 출렁이며 수렴합니다. 모델: 열의 합이 1이 아니면 각 열을 합으로 나눠 맞춥니다. 음수는 0으로 바꿉니다.

페이지랭크: 무작위 서퍼의 정상 분포

링크 구조만으로 페이지의 중요도를 매길 수 있을까

페이지 다섯 개가 서로 링크합니다. 링크를 많이 받는 페이지가 중요하겠지만, 아무도 찾지 않는 페이지 열 곳에서 받은 링크와 모두가 찾는 페이지 한 곳에서 받은 링크는 무게가 달라야 합니다. "중요한 페이지가 링크한 페이지가 중요하다"를 숫자로 만들면 무엇이 될까요?

무작위 서퍼를 상상합니다. 현재 페이지의 링크 중 하나를 같은 확률로 골라 이동합니다. 페이지 jj의 바깥 링크가 djd_j개면 jj에서 링크된 각 페이지로 가는 확률은 1/dj1/d_j입니다. 이것을 적은 링크 행렬 MM은 열 확률 행렬이고, 서퍼가 각 페이지에 머무는 장기 비율이 순위입니다. 그런데 두 가지가 문제입니다. 바깥 링크가 없는 페이지(막다른 페이지)에서는 서퍼가 갇히고, 서로만 링크하는 무리가 있으면 정상 분포가 하나로 정해지지 않을 수 있습니다.

해결책은 서퍼가 가끔 주소창에 아무 페이지나 쳐서 순간이동하게 하는 것입니다. 확률 α\alpha로 링크를 따라가고 1−α1 - \alpha로 nn개 페이지 중 하나로 이동합니다.

G=αM+1−αn 11T,Gr=r,∑ri=1G = \alpha M + \frac{1-\alpha}{n}\,\mathbf{1}\mathbf{1}^{\mathsf T}, \qquad G\mathbf{r} = \mathbf{r},\quad \textstyle\sum r_i = 1
막다른 페이지의 열은 모든 페이지로 1/n1/n씩 가는 것으로 채운다. α\alpha는 감쇠 계수(damping factor)로, 브린과 페이지의 원 논문에서 0.85를 제안한 뒤 흔히 이 값을 예로 든다. GG는 모든 성분이 양수인 열 확률 행렬이라 정리 12.3(3)이 적용된다: 정상 분포 r\mathbf{r}이 하나뿐이고 거듭제곱 반복이 수렴한다.

GG는 성분이 모두 양수라 정리 12.3에 의해 고유값 1이 단순하고, 더 나아가 GG의 두 번째 고유값의 크기가 α\alpha 이하라는 것이 알려져 있습니다. 그래서 r←Gr\mathbf{r} \leftarrow G\mathbf{r}를 되풀이하는 거듭제곱 반복의 오차는 매 단계 적어도 α\alpha배로 줄어듭니다. α=0.85\alpha = 0.85이면 오차를 10−610^{-6}배로 줄이는 데 log⁡10−6/log⁡0.85≈85\log 10^{-6}/\log 0.85 \approx 85번이면 충분하고, 이 횟수는 페이지 수와 상관이 없습니다. 각 반복은 링크 수에 비례하는 일만 하면 되므로(11Tr\mathbf{1}\mathbf{1}^{\mathsf T}\mathbf{r}은 합 하나로 계산), 거대한 웹 그래프에서도 계산할 수 있습니다.

SIMULATOR

다섯 페이지의 페이지랭크

원의 넓이 ∝ 순위
링크 (행 = 출발, 열 = 도착)
반복 횟수0
1위 페이지—
이번 변화량 ‖Δr‖₁—
10⁻⁶까지 필요한 반복—
해볼 것: ① C는 링크를 가장 많이 받지만 A가 C의 유일한 링크를 받아 함께 높아집니다. "중요한 페이지가 링크한 페이지"의 효과입니다. ② E의 바깥 링크를 모두 끄면 E는 막다른 페이지가 되어 모든 페이지로 1/5씩 보냅니다. ③ α를 0.99로 올리면 링크 구조가 순위를 더 강하게 좌우하지만, 필요한 반복 횟수도 크게 늘어납니다. 모델: 페이지 5개, 막다른 페이지는 균등 분배, 자기 자신으로의 링크는 없음.

레슬리 모형: 연령 구조와 성장률

새끼를 많이 낳는데 왜 개체 수가 줄어들까

어떤 물고기는 나이별로 생존율과 번식률이 다릅니다. 어린 개체는 대부분 살아남지 못하고, 성체만 알을 낳습니다. 한 세대 뒤의 개체 수는 나이별 인원에 따라 달라지니 "평균 번식률" 하나로는 장기 추세를 알 수 없습니다. 이 개체군은 결국 늘어날까요, 줄어들까요? 그리고 나이별 비율은 어떻게 될까요?

나이를 세 계급(0살, 1살, 2살)으로 나누고, 한 세대 동안 ii살 개체가 낳는 새끼 수를 fif_i, ii살이 i+1i+1살까지 사는 비율을 sis_i라 하면

[n0n1n2]k+1=[f0f1f2s0000s10]⏟L[n0n1n2]k\begin{bmatrix}n_0\\ n_1\\ n_2\end{bmatrix}_{k+1} = \underbrace{\begin{bmatrix}f_0 & f_1 & f_2\\ s_0 & 0 & 0\\ 0 & s_1 & 0\end{bmatrix}}_{L}\begin{bmatrix}n_0\\ n_1\\ n_2\end{bmatrix}_{k}
첫 행은 번식(모든 나이의 새끼가 0살로 들어온다), 아래 대각은 생존(한 살씩 나이 든다). 이 꼴의 행렬을 레슬리 행렬이라 한다. 성분이 음이 아니므로 페론–프로베니우스 정리에 따라 (적절한 조건에서) 가장 큰 고유값이 양의 실수이고 고유벡터의 성분도 양수다.

정리 12.1에 따라 오랜 세대 뒤에는 지배 고유값 λ1\lambda_1의 성분만 남습니다. 그러니 λ1\lambda_1이 세대당 성장률이고(λ1>1\lambda_1 \gt 1이면 증가, λ1<1\lambda_1 \lt 1이면 감소), 그 고유벡터가 안정 연령 구조입니다. 특성 방정식은 λ3−f0λ2−f1s0λ−f2s0s1=0\lambda^3 - f_0\lambda^2 - f_1 s_0\lambda - f_2 s_0 s_1 = 0입니다.

예제 12.3 f=(0, 1.5, 1)f = (0,\ 1.5,\ 1), s0=0.6s_0 = 0.6, s1=0.5s_1 = 0.5.
  1. 특성 방정식 λ3−0.9λ−0.3=0\lambda^3 - 0.9\lambda - 0.3 = 0. λ=1\lambda = 1을 넣으면 −0.2<0-0.2 \lt 0, λ=1.1\lambda = 1.1이면 0.041>00.041 \gt 0이므로 양의 근은 그 사이에 있다. 이분법으로 λ1≈1.085\lambda_1 \approx 1.085: 세대마다 약 8.5% 증가.
  2. 고유벡터: 둘째·셋째 행에서 n1=s0n0/λn_1 = s_0 n_0/\lambda, n2=s1n1/λn_2 = s_1 n_1/\lambda. n0=1n_0 = 1로 두면 (1, 0.553, 0.255)(1,\ 0.553,\ 0.255), 합 1로 맞추면 약 (55%, 31%, 14%)(55\%,\ 31\%,\ 14\%).
  3. 만약 어린 개체의 생존율이 s0=0.4s_0 = 0.4로 떨어지면 방정식은 λ3−0.6λ−0.2=0\lambda^3 - 0.6\lambda - 0.2 = 0이 되고 λ=1\lambda = 1에서 0.2>00.2 \gt 0이므로 λ1<1\lambda_1 \lt 1: 번식률이 같아도 개체군은 줄어든다.
SIMULATOR

레슬리 행렬로 30세대 내다보기

나이별 비율 (세대마다)
전체 개체 수 (로그 눈금)
처음 개체군
지배 고유값 λ₁ (세대당 배율)—
안정 연령 구조 (0·1·2살)—
판정—
해볼 것: ① s₀를 0.6에서 0.4로 내려 보세요. 번식률은 그대로인데 λ₁이 1 아래로 떨어지고 로그 그래프가 내리막이 됩니다. ② 처음 개체군을 바꿔도 몇 세대 뒤의 나이별 비율은 같은 곳(안정 연령 구조)으로 모입니다. ③ f₁ = 0으로 두면 2살만 번식해 세대마다 출렁임이 커집니다(복소 고유값의 크기가 λ₁에 가까워짐). 모델: 0살 개체는 번식하지 않으며(f₀ = 0), 2살 이후에는 살아남지 않습니다.

연속 시간: du/dt = Au와 eλt

칩 두 개가 열을 주고받으며 식는다

패키지 안의 두 다이가 서로 열을 주고받으며 주변으로도 열을 내보냅니다. 두 온도(주변 온도와의 차) T1,T2T_1, T_2는 dT1/dt=−3T1+T2dT_1/dt = -3T_1 + T_2, dT2/dt=T1−3T2dT_2/dt = T_1 - 3T_2처럼 서로 얽힌 미분방정식을 따릅니다. 한쪽만 뜨겁게 시작하면 온도가 어떻게 변할까요?

차분 방정식에서 고유벡터 방향의 성분이 λk\lambda^k배가 됐듯이, 미분방정식 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}에서는 고유벡터 방향의 성분이 eλte^{\lambda t}배가 됩니다. u(t)=eλtx\mathbf{u}(t) = e^{\lambda t}\mathbf{x}를 넣어 보면 왼쪽은 λeλtx\lambda e^{\lambda t}\mathbf{x}, 오른쪽은 eλtAxe^{\lambda t}A\mathbf{x}이므로 Ax=λxA\mathbf{x} = \lambda\mathbf{x}이기만 하면 해입니다.

정리 12.4 (선형 미분방정식계의 해) AA가 독립인 고유벡터 xi\mathbf{x}_i(고유값 λi\lambda_i)를 가지면 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}, u(0)=u0\mathbf{u}(0) = \mathbf{u}_0의 해는 u(t)=c1eλ1tx1+⋯+cneλntxn,Xc=u0.\mathbf{u}(t) = c_1e^{\lambda_1 t}\mathbf{x}_1 + \cdots + c_ne^{\lambda_n t}\mathbf{x}_n, \qquad X\mathbf{c} = \mathbf{u}_0. 모든 고유값의 실수부가 음수(Re⁡λi<0\operatorname{Re}\lambda_i \lt 0)이면 모든 해가 0\mathbf{0}으로 가고(점근 안정), 실수부가 양수인 고유값이 하나라도 있으면 불안정하다.
증명. 각 항이 해이고 방정식이 선형이라 합도 해다. t=0t = 0에서 ∑cixi=u0\sum c_i\mathbf{x}_i = \mathbf{u}_0이 되도록 c\mathbf{c}를 고른다. 해의 유일성은 미분방정식의 일반 정리에서 온다. 안정성은 ∣eλt∣=e(Re⁡λ)t|e^{\lambda t}| = e^{(\operatorname{Re}\lambda)t}에서 나온다. ∎
예제 12.4 · 열을 주고받는 두 다이

A=[−311−3]A = \begin{bmatrix}-3 & 1\\ 1 & -3\end{bmatrix}, u0=(10, 0)\mathbf{u}_0 = (10,\ 0) (다이 1만 10 K 뜨겁다).

  1. 대칭 행렬이라 고유벡터가 직교한다. (1,1)(1, 1): A(1,1)=(−2,−2)A(1,1) = (-2,-2), λ1=−2\lambda_1 = -2. (1,−1)(1, -1): A(1,−1)=(−4,4)A(1,-1) = (-4, 4), λ2=−4\lambda_2 = -4.
  2. (10,0)=5(1,1)+5(1,−1)(10, 0) = 5(1, 1) + 5(1, -1).
  3. u(t)=5e−2t(1,1)+5e−4t(1,−1)\mathbf{u}(t) = 5e^{-2t}(1, 1) + 5e^{-4t}(1, -1), 즉 T1=5e−2t+5e−4tT_1 = 5e^{-2t} + 5e^{-4t}, T2=5e−2t−5e−4tT_2 = 5e^{-2t} - 5e^{-4t}.

읽는 법: "두 다이의 평균 온도"(모드 (1,1)(1,1))는 시정수 1/2로, "두 다이의 온도 차"(모드 (1,−1)(1,-1))는 시정수 1/4로 두 배 빨리 사라진다. 다이 2는 처음엔 데워졌다가(T2T_2가 0에서 올라감) 함께 식는다. 두 고유값이 모두 음수이니 결국 둘 다 주변 온도에 닿는다.

이산과 연속의 안정 영역을 나란히 놓으면 대응이 분명합니다. 이산 시스템은 고유값이 단위원 안에, 연속 시스템은 왼쪽 반평면에 있어야 안정합니다. λ\lambda(연속)와 eλhe^{\lambda h}(시간 hh만큼 진행한 이산)의 관계가 왼쪽 반평면을 단위원 안으로 옮깁니다.

안정: Re λ < 0불안정 ReIm 연속: du/dt = Au μ = e^(λh) 1|μ| = 1 이산: uₖ₊₁ = Auₖ
그림 12-3. 왼쪽 반평면(연속 시스템의 안정 영역)은 μ=eλh\mu = e^{\lambda h}에 의해 단위원 내부(이산 시스템의 안정 영역)로 옮겨진다. 허수축(Re⁡λ=0\operatorname{Re}\lambda = 0, 감쇠 없는 진동)은 단위원 둘레(∣μ∣=1|\mu| = 1)로 간다. 초록 점은 안정, 빨강 점은 불안정한 고유값의 예.

행렬 지수 eAt

스칼라 방정식 du/dt=audu/dt = au의 해는 u(t)=eatu(0)u(t) = e^{at}u(0)입니다. 행렬에서도 같은 모양의 답을 쓰고 싶습니다. ex=1+x+x2/2!+⋯e^x = 1 + x + x^2/2! + \cdots의 xx에 AtAt를 넣어 정의합니다.

정의 12.3 (행렬 지수) 정사각 행렬 AA에 대해 eAt=I+At+(At)22!+(At)33!+⋯e^{At} = I + At + \frac{(At)^2}{2!} + \frac{(At)^3}{3!} + \cdots 이 급수는 모든 AA와 tt에서 수렴한다.
정리 12.5 (행렬 지수의 성질)
  1. ddteAt=AeAt\dfrac{d}{dt}e^{At} = Ae^{At}이므로 u(t)=eAtu0\mathbf{u}(t) = e^{At}\mathbf{u}_0가 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}의 해다.
  2. A=XΛX−1A = X\Lambda X^{-1}이면 eAt=XeΛtX−1e^{At} = Xe^{\Lambda t}X^{-1}이고, eΛte^{\Lambda t}는 대각 성분이 eλite^{\lambda_i t}인 대각 행렬이다.
  3. eA(s+t)=eAseAte^{A(s+t)} = e^{As}e^{At}, (eAt)−1=e−At(e^{At})^{-1} = e^{-At}. 그러나 일반적으로 eA+B≠eAeBe^{A+B} \ne e^Ae^B이며, AB=BAAB = BA일 때만 같다고 보장된다.
증명. (1) 급수를 항별로 미분하면 A+A2t+A3t2/2!+⋯=A(I+At+⋯ )A + A^2t + A^3t^2/2! + \cdots = A(I + At + \cdots). (2) (At)k=X(Λt)kX−1(At)^k = X(\Lambda t)^kX^{-1}를 급수에 넣고 XX, X−1X^{-1}을 밖으로 묶는다. (3) 스칼라 지수 법칙의 증명은 (A+B)k(A+B)^k를 이항 전개하는데, 이때 AB=BAAB = BA가 필요하다. ∎

두 가지 예가 이 정의의 의미를 잘 보여 줍니다.

예제 12.5 · 회전을 낳는 행렬

A=[0−110]A = \begin{bmatrix}0 & -1\\ 1 & 0\end{bmatrix}이면 A2=−IA^2 = -I, A3=−AA^3 = -A, A4=IA^4 = I가 되풀이된다. 급수를 짝수항과 홀수항으로 모으면

eAt=(1−t22!+t44!−⋯)I+(t−t33!+⋯)A=[cos⁡t−sin⁡tsin⁡tcos⁡t].e^{At} = \Big(1 - \frac{t^2}{2!} + \frac{t^4}{4!} - \cdots\Big)I + \Big(t - \frac{t^3}{3!} + \cdots\Big)A = \begin{bmatrix}\cos t & -\sin t\\ \sin t & \cos t\end{bmatrix}.

고유값 ±i\pm i(허수)는 감쇠도 증폭도 없는 회전이다. 단진동 x′′=−xx'' = -x를 u=(x,x′)\mathbf{u} = (x, x')로 쓴 행렬이 바로 이런 꼴이다.

예제 12.6 · 고유벡터가 모자랄 때

A=[λ10λ]A = \begin{bmatrix}\lambda & 1\\ 0 & \lambda\end{bmatrix}은 고유값 λ\lambda가 겹치고 고유벡터가 (1,0)(1,0) 하나뿐이라 대각화할 수 없다. A=λI+NA = \lambda I + N, N=[0100]N = \begin{bmatrix}0 & 1\\ 0 & 0\end{bmatrix}으로 나누면 λI\lambda I와 NN이 교환되고 N2=0N^2 = 0이므로

eAt=eλteNt=eλt(I+Nt)=eλt[1t01].e^{At} = e^{\lambda t}e^{Nt} = e^{\lambda t}(I + Nt) = e^{\lambda t}\begin{bmatrix}1 & t\\ 0 & 1\end{bmatrix}.

teλtte^{\lambda t} 항이 나타난다. 임계 감쇠 진동자(9절)의 x(t)=(1+ωt)e−ωtx(t) = (1 + \omega t)e^{-\omega t}가 이 경우다.

계산에서는 급수를 그대로 더하는 방법은 ∥At∥\|At\|가 크면 큰 항들이 서로 상쇄되며 반올림 오차가 커지고, 고유벡터로 대각화하는 방법은 고유벡터가 거의 평행하면(XX의 조건수가 크면) 부정확합니다. 실제 수치 라이브러리는 eAt=(eAt/2s)2se^{At} = (e^{At/2^s})^{2^s}로 작게 나눈 뒤 근사하고 제곱을 되풀이하는 방법(스케일링과 제곱)을 흔히 씁니다. 고유값은 해석의 도구이고, 계산은 다른 문제입니다.

위상 초상: 대각합과 행렬식이면 충분하다

2×2 시스템의 거동은 몇 가지뿐일까

2차원 선형 시스템 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}의 해 곡선을 평면에 그린 것을 위상 초상(phase portrait)이라 합니다. 숫자 네 개를 바꾸면 무한히 많은 그림이 나올 것 같지만, 질적으로 다른 그림은 손에 꼽을 만큼입니다. 무엇이 그림의 종류를 정할까요?

2×2 행렬의 고유값은 특성 방정식 λ2−Tλ+D=0\lambda^2 - T\lambda + D = 0의 근이고, T=tr⁡A=λ1+λ2T = \operatorname{tr}A = \lambda_1 + \lambda_2, D=det⁡A=λ1λ2D = \det A = \lambda_1\lambda_2입니다. 그러니

λ1,2=T±T2−4D2\lambda_{1,2} = \frac{T \pm \sqrt{T^2 - 4D}}{2}
고유값, 그래서 위상 초상의 종류는 숫자 두 개 (T,D)(T, D)만으로 정해진다. 판별식 T2−4DT^2 - 4D의 부호가 실수냐 복소수냐를, DD의 부호가 고유값의 부호가 같으냐 다르냐를, TT의 부호가 안정이냐 불안정이냐를 정한다.
영역고유값이름그림
D<0D \lt 0실수, 부호 반대안장점한 방향으로 들어와 다른 방향으로 나감. 항상 불안정
D>0, T2>4DD \gt 0,\ T^2 \gt 4D실수, 부호 같음마디(node)T<0T \lt 0: 모든 해가 원점으로 곧게. T>0T \gt 0: 곧게 달아남
D>0, T2<4DD \gt 0,\ T^2 \lt 4D복소수 T2±iω\tfrac T2 \pm i\omega나선(spiral)T<0T \lt 0: 감기며 들어옴. T>0T \gt 0: 풀리며 나감
D>0, T=0D \gt 0,\ T = 0순허수 ±iD\pm i\sqrt D중심(center)닫힌 타원 궤도, 영원히 진동
T2=4DT^2 = 4D중근퇴화 마디·별 마디마디와 나선의 경계

결론적으로 연속 시스템은 T<0T \lt 0이고 D>0D \gt 0일 때, 즉 대각합–행렬식 평면의 제2사분면(위쪽 왼편)에 있을 때만 점근 안정합니다. 아래 시뮬레이터 왼쪽에서 점 (T,D)(T, D)를 끌면 오른쪽에 그 고유값을 가진 시스템의 위상 초상이 그려집니다.

SIMULATOR

대각합–행렬식 평면과 위상 초상

(T, D) 점을 끌어 보세요 · 포물선 D = T²/4
위상 초상
프리셋
T = tr A, D = det A—
고유값—
종류—
해볼 것: ① 점을 포물선 위아래로 넘겨 보세요. 아래(실수 고유값)는 곧은 궤적의 마디, 위(복소 고유값)는 나선입니다. ② T = 0 선 위에 놓으면 궤적이 닫힌 타원(중심)이 됩니다. 조금만 왼쪽으로 가면 안으로, 오른쪽으로 가면 밖으로 감깁니다. ③ D를 음수로 내리면 어느 T든 안장점입니다. 모델: 같은 (T, D)를 가진 동반 행렬 A = [0 1; −D T]를 쓰고, 궤적은 룽게–쿠타(RK4)로 앞뒤로 적분합니다. 회색 화살표는 방향장입니다.

진동자와 정규 모드

자동차 서스펜션은 얼마나 빨리 잠잠해져야 할까

바퀴가 턱을 넘으면 차체가 스프링 위에서 출렁입니다. 감쇠기(댐퍼)가 약하면 여러 번 출렁이고, 너무 세면 천천히 기어 돌아옵니다. 이 차이를 질량·감쇠·강성 세 숫자에서 바로 읽을 수 있을까요?

질량–감쇠기–스프링 mx¨+cx˙+kx=0m\ddot x + c\dot x + kx = 0은 2계 미분방정식이지만, 상태를 u=(x,v)\mathbf{u} = (x, v), v=x˙v = \dot x로 두면 1계 연립방정식이 됩니다.

ddt[xv]=[01−k/m−c/m][xv],T=−cm,D=km\frac{d}{dt}\begin{bmatrix}x\\ v\end{bmatrix} = \begin{bmatrix}0 & 1\\ -k/m & -c/m\end{bmatrix}\begin{bmatrix}x\\ v\end{bmatrix}, \qquad T = -\frac cm,\quad D = \frac km
고유값은 λ2+(c/m)λ+k/m=0\lambda^2 + (c/m)\lambda + k/m = 0의 근. 고유진동수 ωn=k/m\omega_n = \sqrt{k/m}와 감쇠비 ζ=c/(2mk)\zeta = c/(2\sqrt{mk})로 쓰면 λ=−ζωn±ωnζ2−1\lambda = -\zeta\omega_n \pm \omega_n\sqrt{\zeta^2 - 1}. ζ<1\zeta \lt 1: 부족 감쇠(나선, 출렁임), ζ=1\zeta = 1: 임계 감쇠(가장 빨리 출렁임 없이 복귀), ζ>1\zeta \gt 1: 과감쇠(마디, 느린 복귀).

D=k/m>0D = k/m \gt 0이고 T=−c/m≤0T = -c/m \le 0이니 이 시스템은 언제나 대각합–행렬식 평면의 위쪽 왼편, 안정 영역에 있습니다. 감쇠 cc를 키우는 것은 점을 왼쪽으로 옮기는 것이고, 포물선 T2=4DT^2 = 4D를 넘는 순간이 ζ=1\zeta = 1입니다.

SIMULATOR

질량–감쇠기–스프링: 감쇠비와 고유값

x(t), x(0) = 1
고유값 (복소평면)
고유값 λ₁, λ₂—
ωn = √(k/m)—
감쇠비 ζ—
종류—
해볼 것: ① c를 0으로 두면 고유값이 허수축 위에 놓이고 x(t)가 끝없이 진동합니다. ② '임계 감쇠로'를 누르면 두 고유값이 실수축 위 한 점에서 만나고, x(t)가 넘치지 않고 가장 빨리 0에 닿습니다. ③ c를 더 키우면 고유값 하나가 0 쪽으로 다가가 오히려 복귀가 느려집니다(과감쇠). 모델: 선형 스프링·점성 감쇠, x(0) = 1, v(0) = 0, 정확한 해를 고유값으로 계산합니다.

자유도가 둘 이상이면 고유벡터가 모양의 의미를 갖습니다. 벽–질량–스프링–질량–벽 사이에 결합 스프링 κ\kappa가 있는 두 질량(각 m=1m = 1, 벽 쪽 스프링 k=1k = 1)을 생각합니다.

x¨=−Kx,K=[k+κ−κ−κk+κ]\ddot{\mathbf{x}} = -K\mathbf{x},\qquad K = \begin{bmatrix}k+\kappa & -\kappa\\ -\kappa & k+\kappa\end{bmatrix}
x=vcos⁡ωt\mathbf{x} = \mathbf{v}\cos\omega t를 넣으면 Kv=ω2vK\mathbf{v} = \omega^2\mathbf{v}: 고유값이 진동수의 제곱, 고유벡터가 정규 모드의 모양이다. v1=(1,1)\mathbf{v}_1 = (1, 1)(같이 움직임, 결합 스프링은 늘지 않음) ω12=k\omega_1^2 = k, v2=(1,−1)\mathbf{v}_2 = (1, -1)(반대로 움직임) ω22=k+2κ\omega_2^2 = k + 2\kappa.
모드 1: v₁ = (1, 1), ω₁ = √k 결합 스프링(주황)은 늘지도 줄지도 않는다 모드 2: v₂ = (1, −1), ω₂ = √(k + 2κ) 결합 스프링이 두 배로 늘었다 줄었다 한다
그림 12-4. 두 질량 결합 진동자의 정규 모드. 같이 움직이는 모드는 결합 스프링이 일을 하지 않아 진동수가 k\sqrt k 그대로이고, 반대로 움직이는 모드는 결합 스프링이 양쪽을 당겨 더 빠르다. 어떤 움직임이든 두 모드의 합이다.

한 질량만 당겼다 놓으면 (1,0)=12(1,1)+12(1,−1)(1, 0) = \tfrac12(1,1) + \tfrac12(1,-1)이라 두 모드가 반씩 섞입니다. 진동수가 조금 다른 두 진동이 겹치면 맥놀이가 생겨, 에너지가 두 질량 사이를 주기 2π/(ω2−ω1)2\pi/(\omega_2 - \omega_1)로 오갑니다. 결합이 약할수록(κ\kappa가 작을수록) 두 진동수가 가까워 에너지가 천천히, 그러나 완전히 넘어갑니다.

SIMULATOR

결합 진동자: 정규 모드와 맥놀이

처음 변위
ω₁ (같은 방향)—
ω₂ (반대 방향)—
맥놀이 주기 2π/(ω₂ − ω₁)—
t0
해볼 것: ① '한 질량만'을 재생하면 왼쪽 질량의 진동이 점점 줄며 오른쪽 질량으로 넘어갔다가 돌아옵니다. 아래 그래프의 x₁, x₂ 포락선이 엇갈립니다. ② '모드 1'이나 '모드 2'로 시작하면 모양이 그대로 유지되는 순수한 진동만 나옵니다. 고유벡터 방향은 섞이지 않습니다. ③ κ를 키우면 맥놀이 주기가 짧아지고 에너지 교환이 빨라집니다. 모델: m = k = 1, 감쇠 없음, 정확한 해 x = Σ (모드 성분)·cos(ωᵢt).

이 도구가 쓰이는 곳

"고유값을 보면 미래가 보인다"는 생각은 시간에 따라 변하는 거의 모든 선형 모형에 그대로 쓰입니다.

핵심 정리

  1. 차분 방정식 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k의 해는 uk=∑ciλikxi\mathbf{u}_k = \sum c_i\lambda_i^k\mathbf{x}_i, 행렬로 Ak=XΛkX−1A^k = X\Lambda^kX^{-1}. 큰 kk에서는 ∣λ∣|\lambda|가 가장 큰 성분만 남는다(피보나치 → 황금비).
  2. 이산 안정성: 스펙트럼 반지름 ρ(A)<1\rho(A) \lt 1이면 0으로 수렴, ∣λ∣>1|\lambda| \gt 1이 하나라도 있으면 발산. 음수 고유값은 지그재그, 복소 고유값 re±iθre^{\pm i\theta}는 나선.
  3. 마르코프 연쇄: 열 확률 행렬은 언제나 λ=1\lambda = 1을 가지고 ∣λ∣≤1|\lambda| \le 1. 정칙이면 정상 분포 π\boldsymbol\pi가 하나이고 오차는 약 ∣λ2∣k|\lambda_2|^k로 준다.
  4. 페이지랭크: G=αM+1−αn11TG = \alpha M + \tfrac{1-\alpha}{n}\mathbf{1}\mathbf{1}^{\mathsf T}의 고유값 1 고유벡터. 거듭제곱 반복의 오차는 매 단계 α\alpha배 이하로 줄어 반복 횟수가 페이지 수와 무관하다.
  5. 레슬리 모형: 지배 고유값이 세대당 성장률, 그 고유벡터가 안정 연령 구조. 생존율 하나가 성장과 감소를 가른다.
  6. 미분방정식 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}의 해는 ∑cieλitxi=eAtu0\sum c_ie^{\lambda_i t}\mathbf{x}_i = e^{At}\mathbf{u}_0, eAt=XeΛtX−1e^{At} = Xe^{\Lambda t}X^{-1}. 안정 조건은 모든 Re⁡λ<0\operatorname{Re}\lambda \lt 0(이산의 단위원 ↔ 연속의 왼쪽 반평면). 허수 고유값은 회전, 겹친 고유값은 teλtte^{\lambda t}.
  7. 2×2 위상 초상은 (T,D)(T, D)로 정해진다: D<0D \lt 0 안장점, T2>4DT^2 \gt 4D 마디, T2<4DT^2 \lt 4D 나선, T=0T = 0 중심. 안정은 T<0, D>0T \lt 0,\ D \gt 0.
  8. 진동자: 2계 방정식은 (x,v)(x, v) 상태로 1계가 된다. 감쇠비 ζ\zeta가 1을 넘는 순간이 포물선 T2=4DT^2 = 4D. 다자유도에서는 Kv=ω2vK\mathbf{v} = \omega^2\mathbf{v}의 고유벡터가 정규 모드, 가까운 두 모드는 맥놀이를 만든다.

확인 퀴즈

Q1. AA의 고유값이 1.2와 0.5이다. uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k에서 일반적인 u0\mathbf{u}_0로 시작하면 큰 kk에서 무슨 일이 일어나나?

uk=c1(1.2)kx1+c2(0.5)kx2\mathbf{u}_k = c_1(1.2)^k\mathbf{x}_1 + c_2(0.5)^k\mathbf{x}_2. c1≠0c_1 \ne 0이면 첫 항이 지수적으로 커지고 둘째 항은 사라진다. 고유값 중 하나라도 ∣λ∣>1|\lambda| \gt 1이면 불안정이다. 예외는 u0\mathbf{u}_0가 정확히 x2\mathbf{x}_2 방향일 때뿐이다.

Q2. 실수 2×2 행렬의 고유값이 0.9e±iπ/60.9e^{\pm i\pi/6}이다. 반복 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k의 궤적은?

복소 고유값 re±iθre^{\pm i\theta}는 θ\theta 회전과 rr배를 뜻한다. r=0.9<1r = 0.9 \lt 1이라 감기며 수렴하고, θ=π/6=30°\theta = \pi/6 = 30°이라 약 12단계에 한 바퀴 돈다.

Q3. 열 확률 행렬(성분 ≥ 0, 각 열의 합 1)이 반드시 고유값 1을 갖는 이유는?

열의 합이 1이라는 조건은 모든 성분이 1인 벡터가 ATA^{\mathsf T}의 고유값 1 고유벡터라는 말이다. det⁡(A−λI)=det⁡(AT−λI)\det(A - \lambda I) = \det(A^{\mathsf T} - \lambda I)라 AA도 고유값 1을 갖는다. 대각합과 행렬식은 일반적으로 1이 아니다(예제 12.2의 대각합은 1.7).

Q4. 마르코프 연쇄 A는 ∣λ2∣=0.5|\lambda_2| = 0.5, 연쇄 B는 ∣λ2∣=0.9|\lambda_2| = 0.9이다. 정상 분포까지의 오차를 1/1000로 줄이는 데 필요한 단계 수는 대략?

오차는 ∣λ2∣k|\lambda_2|^k에 비례한다. 0.510≈0.0010.5^{10} \approx 0.001, 0.9k=0.0010.9^k = 0.001에서 k=ln⁡0.001/ln⁡0.9≈66k = \ln 0.001/\ln 0.9 \approx 66. ∣λ2∣|\lambda_2|가 1에 가까울수록 연쇄가 "기억"을 오래 간직한다.

Q5. 페이지랭크에서 감쇠 계수 α\alpha(순간이동 확률 1−α1-\alpha)를 두는 주된 이유로 옳지 않은 것은?

반대다. 오차는 매 단계 α\alpha배 이하로 줄어드므로 α\alpha가 1에 가까울수록(링크 구조를 더 충실히 반영할수록) 수렴이 느려진다. 시뮬레이터에서 α = 0.99로 올리면 필요한 반복이 크게 늘어난다.

Q6. 2×2 시스템 du/dt=Aud\mathbf{u}/dt = A\mathbf{u}에서 tr⁡A=−1\operatorname{tr}A = -1, det⁡A=2\det A = 2이다. 원점 근처의 거동은?

T2−4D=1−8<0T^2 - 4D = 1 - 8 \lt 0이라 복소 고유값 −12±i72-\tfrac12 \pm i\tfrac{\sqrt7}{2}. 실수부가 음수이니 감쇠하는 진동, 즉 안정 나선이다. D>0D \gt 0이라 안장점은 아니고, T≠0T \ne 0이라 중심도 아니다.

Q7. A=[0−110]A = \begin{bmatrix}0 & -1\\ 1 & 0\end{bmatrix}일 때 eAte^{At}는?

A2=−IA^2 = -I라 급수의 짝수항이 cos⁡t\cos t, 홀수항이 sin⁡t\sin t로 모인다(예제 12.5). 고유값 ±i\pm i는 회전이다. 둘째 보기는 급수의 처음 두 항 I+AtI + At뿐이고, 넷째처럼 성분마다 지수를 취하는 것은 행렬 지수가 아니다.

Q8. 결합 진동자의 정규 모드에 대한 설명으로 옳은 것은?

같은 방향 모드 (1,1)(1, 1)에서는 결합 스프링 길이가 변하지 않아 ω1=k\omega_1 = \sqrt k가 κ\kappa와 무관하다. 한 질량만 당기면 두 모드가 반씩 섞여 맥놀이로 에너지가 다른 질량에 넘어간다.