11장에서 고유벡터를 "행렬이 방향을 바꾸지 않는 축"으로, 고유값을 "그 축의 배율"으로 만났습니다. 이 장에서는 그 그림에 시간을 더합니다. 같은 행렬을 매 단계 다시 곱하는 시스템, 즉 uk+1=Auk에서는 고유벡터 방향의 성분이 매번 λ배씩 늘거나 줄어듭니다. 연속 시간의 du/dt=Au에서는 그 성분이 eλt로 자랍니다. 그래서 행렬을 수백 번 곱하거나 미분방정식을 풀지 않아도 고유값만 보면 미래를 압니다. 무엇이 살아남고, 무엇이 사라지고, 얼마나 빨리 평형에 닿는지. 장비의 가동 상태, 웹 페이지의 순위, 생물의 개체 수, 흔들리는 구조물이 모두 같은 질문입니다.
차분 방정식 uk+1=Auk의 해를 uk=c1λ1kx1+c2λ2kx2로 쓰고, 피보나치 수의 닫힌 식을 유도한다.
스펙트럼 반지름 ρ(A)로 이산 시스템의 수렴·발산·진동을 판정하고, 복소 고유값 re±iθ를 나선으로 읽는다.
열 확률 행렬이 고유값 1을 가지는 이유를 보이고, 마르코프 연쇄의 정상 상태와 ∣λ2∣k로 줄어드는 수렴 오차를 계산한다.
페이지랭크를 감쇠 계수가 있는 마르코프 연쇄로 세우고 거듭제곱 반복으로 계산한다. 레슬리 행렬로 연령 구조 인구의 성장률을 구한다.
대각합–행렬식 평면에서 마디·안장점·나선·중심을 구분하고, 감쇠 진동자와 결합 진동자의 정규 모드를 고유값 문제로 푼다.
이 수식이 없었다면웹 검색의 순위
1990년대 중반의 웹 검색은 검색어가 페이지에 몇 번 나오는지로 순위를 매겼고, 같은 단어를 수백 번 숨겨 넣은 페이지가 맨 위로 올라오곤 했습니다. 브린과 페이지는 1998년 논문에서 다른 접근을 제안했습니다. 중요한 페이지란 중요한 페이지가 많이 링크하는 페이지라는 것입니다. 정의가 자기 자신을 가리키는 순환이라 공식 하나로 계산할 수 없어 보입니다.
그런데 이 순환을 "링크를 따라 무작위로 돌아다니는 사람이 각 페이지에 머무는 비율"로 바꾸면 행렬 문제가 됩니다. 링크 행렬 G에 대해 순위 벡터는 Gr=r, 즉 고유값 1의 고유벡터입니다. 수십억 차원이라도 r←Gr를 수십 번 되풀이하면 답에 수렴하고, 그 수렴 속도를 정하는 것이 두 번째 고유값입니다.
"중요한 페이지가 링크한 페이지"→순환 정의→Gr = r (고유값 1)→거듭제곱 반복
같은 행렬을 거듭 곱하면: 차분 방정식
100단계 뒤의 상태를 행렬 곱 100번 없이 알 수 있을까
매년 같은 규칙으로 바뀌는 시스템이 있습니다. 두 도시 사이의 인구 이동, 할인율이 붙은 재고, 디지털 필터의 상태 변수, 수치 해법의 한 스텝. 상태를 벡터 uk로 쓰면 규칙은 uk+1=Auk이고, 100년 뒤는 u100=A100u0입니다. 행렬을 100번 곱하지 않고 이 값을 알 수 있을까요? 더 중요하게는, 계산하지 않고도 "결국 0으로 사라지는가, 폭발하는가"를 알 수 있을까요?
열쇠는 u0를 고유벡터로 분해하는 것입니다. Axi=λixi이면 A를 한 번 곱할 때 xi 성분은 방향은 그대로이고 크기만 λi배가 됩니다. k번 곱하면 λik배입니다. 다른 방향 성분과 섞이지 않으니 각 성분을 따로 계산하면 됩니다.
정리 12.1 (차분 방정식의 해)n×n 행렬 A가 독립인 고유벡터 x1,…,xn(고유값 λ1,…,λn)을 가지면, uk+1=Auk의 해는
uk=Aku0=c1λ1kx1+c2λ2kx2+⋯+cnλnkxn
이고, 계수 c는 u0=Xc를 풀어 얻는다(X의 열이 고유벡터). 행렬로 쓰면 Ak=XΛkX−1.
증명.u0=∑cixi에 A를 곱하면 선형성으로 Au0=∑ciAxi=∑ciλixi. 이를 k번 되풀이한다. 행렬식 꼴은 A=XΛX−1에서 Ak=XΛX−1XΛX−1⋯=XΛkX−1(가운데의 X−1X=I가 모두 지워진다). ∎
그림 12-1.u0를 두 고유벡터 방향으로 나누면(왼쪽), A를 한 번 곱할 때마다 각 성분이 자기 고유값만큼 늘거나 준다(가운데). 많이 곱하면 절댓값이 가장 큰 고유값의 성분이 다른 성분을 압도해, 상태는 그 고유벡터 방향으로 정렬된다(오른쪽).
예제 12.1 · 피보나치 수의 닫힌 식
Fk+2=Fk+1+Fk, F0=0, F1=1. 상태를 uk=(Fk+1,Fk)로 두면 uk+1=Auk, A=[1110].
특성 방정식 λ2−λ−1=0에서 λ1=φ=21+5≈1.618, λ2=ψ=21−5≈−0.618.
둘째 성분을 읽으면 Fk=5φk−ψk (비네 공식). ∣ψ∣<1이라 ψk는 금방 사라지고, Fk는 φk/5에 가장 가까운 정수다. 예를 들어 φ10/5≈55.004이고 F10=55.
정수 점화식의 답에 무리수 5가 나오는 이유는 고유벡터 좌표계가 무리수 방향이기 때문입니다. 연속한 두 항의 비 Fk+1/Fk가 황금비로 가는 것은 "지배 고유값이 남는다"(그림 12-1)의 한 예입니다.
아래 시뮬레이터에서 시작점 u0를 끌고 행렬을 바꿔 보세요. 점들이 고유벡터 선을 따라 정렬되는 모습, 음수 고유값이 만드는 지그재그, 복소 고유값이 만드는 나선을 볼 수 있습니다.
SIMULATOR
u₀, Au₀, A²u₀, …의 궤적
u₀ 점을 끌어 보세요
행렬 A
고유값—
스펙트럼 반지름 ρ(A)—
‖uₖ‖ (마지막 단계)—
판정—
해볼 것: ① '한 방향 성장'에서 u₀를 아무 데나 두어도 점들이 결국 λ₁ 고유벡터 선을 따라 달아납니다. u₀를 정확히 λ₂ 선 위에 놓으면(성분 c₁ = 0) 원점으로 들어옵니다. ② '음수 고유값'은 점이 원점의 양쪽을 오가는 지그재그를 만듭니다. ③ '감쇠 나선'은 매 단계 25°씩 돌며 7%씩 줄고, '순수 회전'은 같은 원 위를 영원히 돕니다. 모델: 2×2 실수 행렬, 점은 0.05 단위로 맞춰지고 화면 밖으로 나간 점은 그리지 않습니다.
안정성: 고유값이 단위원 안에 있는가
디지털 필터는 언제 스스로 울리기 시작할까
오디오 이퀄라이저나 센서 신호를 거르는 디지털 필터는 지난 출력 몇 개에 계수를 곱해 다음 출력을 만듭니다. 상태 벡터로 쓰면 바로 uk+1=Auk+(입력)입니다. 계수를 조금만 잘못 고르면 입력이 멈춰도 출력이 점점 커져 스피커가 찢어질 듯 울립니다. 계수표를 보고 미리 알 수 있을까요?
정리 12.1에서 답이 바로 나옵니다. uk의 각 성분은 λik에 비례하니, 모든 고유값의 절댓값이 1보다 작으면 모든 성분이 0으로 갑니다. 하나라도 1보다 크면 그 성분이 지수적으로 커집니다. 고유값 중 가장 큰 절댓값을 따로 이름 붙여 둡니다.
정의 12.1 (스펙트럼 반지름)ρ(A)=maxi∣λi∣. 복소 고유값 λ=a+bi이면 ∣λ∣=a2+b2이다.
정리 12.2 (이산 시스템의 안정성)uk+1=Auk에 대해
ρ(A)<1이면 모든 u0에서 uk→0 (점근 안정).
∣λi∣>1인 고유값이 하나라도 있으면 그 고유벡터 성분이 있는 u0에서 ∥uk∥→∞ (불안정).
ρ(A)=1이면 경계: ∣λ∣=1 성분은 크기를 유지한다(회전, 정상 상태). 단, 고유벡터가 모자란 행렬은 kλk 꼴 항이 생겨 천천히 커질 수 있다.
증명 아이디어. 대각화 가능하면 ∥uk∥≤∑∣ci∣∣λi∣k∥xi∥이고 ∣λi∣k→0. 대각화가 안 되는 경우에도 조르당 형태의 항 kmλk가 ∣λ∣<1이면 여전히 0으로 간다(지수 감소가 다항 증가를 이긴다). ∎
복소 고유값은 특히 중요합니다. 실수 행렬의 복소 고유값은 켤레쌍 re±iθ로 나오고, 그 두 방향을 묶은 평면 위에서 A는 θ만큼 돌리고 r배 하는 변환처럼 작동합니다. 예를 들어
r<1이면 안으로 감기는 나선, r=1이면 원, r>1이면 밖으로 풀리는 나선. 한 바퀴에 약 360°/θ 단계가 걸린다. 진동의 "주기"가 고유값의 각도에 들어 있다.
고유값
한 단계의 효과
궤적
예
0<λ<1
같은 방향으로 줄어듦
원점으로 곧게 들어감
감가상각, 할인
λ>1
같은 방향으로 늘어남
곧게 달아남
복리, 개체 수 증가
−1<λ<0
뒤집히며 줄어듦
원점 양쪽을 오가며 수렴
과보정하는 제어기
λ=1
그대로
정상 상태
마르코프 연쇄의 평형
re±iθ
θ 회전 후 r배
나선 또는 원
디지털 공진 필터
연속 시간과의 다리 미분방정식 du/dt=Au를 오일러 방법으로 시간 간격 h씩 풀면 uk+1=(I+hA)uk, 차분 방정식이 됩니다. 고유값은 1+hλ로 바뀌고, 수치 해가 안정하려면 ∣1+hλ∣<1이어야 합니다. 원래 시스템이 안정(λ<0)해도 h가 너무 크면 1+hλ<−1이 되어 수치 해가 폭발합니다. 이것이 수치 해석의 "안정성 조건"이며, 6절 이후의 연속 시간 이야기와 이 절을 잇는 다리입니다.
마르코프 연쇄: 고유값 1이 정하는 평형
장비 100대 중 장기적으로 몇 대가 멈춰 있을까
팹의 장비는 매 시간 "가동", "대기", "수리" 중 하나의 상태에 있습니다. 기록을 보니 가동 중인 장비가 한 시간 뒤에도 가동 중일 확률은 90%, 대기로 갈 확률 7%, 고장 나 수리로 갈 확률 3%입니다. 다른 상태에서도 이런 확률이 있습니다. 오늘 모든 장비가 가동 중이라면, 일주일 뒤 수리 중인 장비의 비율은 얼마일까요? 처음 상태에 따라 답이 달라질까요?
상태 j에서 상태 i로 갈 확률을 aij로 적은 행렬을 전이 행렬(transition matrix)이라 합니다. 각 상태에 있을 확률을 벡터 pk로 쓰면 pk+1=Apk입니다. j열은 "상태 j에서 출발한 확률이 어디로 나뉘는가"이므로 성분이 음이 아니고 합이 1입니다.
그림 12-2. 세 상태의 전이 그림과 열 확률 행렬. 화살표 j→i의 숫자가 aij이다. 한 상태에서 나가는 화살표(자기 자신으로 돌아오는 고리 포함)의 확률을 모두 더하면 1이므로 각 열의 합이 1이다.
정의 12.2 (열 확률 행렬) 모든 성분이 aij≥0이고 각 열의 합이 1인 정사각 행렬. 확률 벡터(성분이 음이 아니고 합이 1)를 확률 벡터로 보낸다.
정리 12.3 (마르코프 행렬의 고유값) 열 확률 행렬 A에 대해
λ=1은 언제나 고유값이다.
모든 고유값은 ∣λ∣≤1이다.
어떤 거듭제곱 Am의 성분이 모두 양수이면(정칙 연쇄), λ=1은 단순 고유값이고 나머지는 모두 ∣λ∣<1이며, 고유값 1의 고유벡터를 성분 합 1로 맞춘 π(정상 분포)는 성분이 모두 양수이고, 모든 출발 확률 벡터에서 pk→π이다.
증명. (1) 열의 합이 1이라는 것은 AT1=1, 즉 1이 AT의 고유값이라는 뜻이다. A와 AT는 특성 다항식이 같으므로(det(A−λI)=det(A−λI)T) 1은 A의 고유값이기도 하다. (2) ATy=λy에서 ∣yj∣가 가장 큰 성분 j를 보면 ∣λ∣∣yj∣=∣∑iaijyi∣≤∑iaij∣yj∣=∣yj∣. (3)은 페론–프로베니우스 정리의 결과이며 여기서는 증명하지 않는다. ∎
정리 12.1과 합치면 수렴 속도도 나옵니다. p0=π+c2x2+c3x3이면 pk=π+c2λ2kx2+c3λ3kx3이므로, 평형에서의 오차는 대략 ∣λ2∣k로 줄어듭니다(∣λ2∣는 두 번째로 큰 고유값의 크기). ∣λ2∣=0.5이면 10단계에 오차가 1/1000로, ∣λ2∣=0.99이면 같은 감소에 약 690단계가 걸립니다(0.99690≈10−3).
예제 12.2 · 두 상태 연쇄
A=[0.90.10.20.8] (맑음 → 맑음 0.9, 비 → 맑음 0.2).
고유값의 합은 대각합 1.7, 하나가 1이니 다른 하나는 λ2=0.7.
(A−I)π=0: −0.1π1+0.2π2=0에서 π1=2π2. 합 1로 맞추면 π=(2/3,1/3).
오늘 맑으면 내일 맑을 확률 2/3+0.7/3=0.9 (검산: A의 1열), 일주일 뒤 2/3+0.77/3≈0.694, 한 달 뒤에는 사실상 2/3.
SIMULATOR
장비 상태의 마르코프 연쇄: 정상 분포로 가는 길
전이 행렬 A (열 = 출발: 가동·대기·수리)
처음 분포 p₀
단계 k0
정상 분포 π (가동·대기·수리)—
|λ₂|—
오차 ‖pₖ − π‖₁—
해볼 것: ① '모두 가동'과 '모두 수리'로 각각 재생해 보세요. 출발점이 달라도 같은 막대(점선 = π)에 도착합니다. ② '잘 안 바뀌는 상태'는 |λ₂|가 1에 가까워 평형까지 수십 단계가 걸립니다. 오른쪽 그래프(로그 눈금)의 기울기가 log|λ₂|입니다. ③ '거의 순환'은 복소 λ₂ 때문에 확률이 출렁이며 수렴합니다. 모델: 열의 합이 1이 아니면 각 열을 합으로 나눠 맞춥니다. 음수는 0으로 바꿉니다.
페이지랭크: 무작위 서퍼의 정상 분포
링크 구조만으로 페이지의 중요도를 매길 수 있을까
페이지 다섯 개가 서로 링크합니다. 링크를 많이 받는 페이지가 중요하겠지만, 아무도 찾지 않는 페이지 열 곳에서 받은 링크와 모두가 찾는 페이지 한 곳에서 받은 링크는 무게가 달라야 합니다. "중요한 페이지가 링크한 페이지가 중요하다"를 숫자로 만들면 무엇이 될까요?
무작위 서퍼를 상상합니다. 현재 페이지의 링크 중 하나를 같은 확률로 골라 이동합니다. 페이지 j의 바깥 링크가 dj개면 j에서 링크된 각 페이지로 가는 확률은 1/dj입니다. 이것을 적은 링크 행렬M은 열 확률 행렬이고, 서퍼가 각 페이지에 머무는 장기 비율이 순위입니다. 그런데 두 가지가 문제입니다. 바깥 링크가 없는 페이지(막다른 페이지)에서는 서퍼가 갇히고, 서로만 링크하는 무리가 있으면 정상 분포가 하나로 정해지지 않을 수 있습니다.
해결책은 서퍼가 가끔 주소창에 아무 페이지나 쳐서 순간이동하게 하는 것입니다. 확률 α로 링크를 따라가고 1−α로 n개 페이지 중 하나로 이동합니다.
G=αM+n1−α11T,Gr=r,∑ri=1
막다른 페이지의 열은 모든 페이지로 1/n씩 가는 것으로 채운다. α는 감쇠 계수(damping factor)로, 브린과 페이지의 원 논문에서 0.85를 제안한 뒤 흔히 이 값을 예로 든다. G는 모든 성분이 양수인 열 확률 행렬이라 정리 12.3(3)이 적용된다: 정상 분포 r이 하나뿐이고 거듭제곱 반복이 수렴한다.
G는 성분이 모두 양수라 정리 12.3에 의해 고유값 1이 단순하고, 더 나아가 G의 두 번째 고유값의 크기가 α 이하라는 것이 알려져 있습니다. 그래서 r←Gr를 되풀이하는 거듭제곱 반복의 오차는 매 단계 적어도 α배로 줄어듭니다. α=0.85이면 오차를 10−6배로 줄이는 데 log10−6/log0.85≈85번이면 충분하고, 이 횟수는 페이지 수와 상관이 없습니다. 각 반복은 링크 수에 비례하는 일만 하면 되므로(11Tr은 합 하나로 계산), 거대한 웹 그래프에서도 계산할 수 있습니다.
SIMULATOR
다섯 페이지의 페이지랭크
원의 넓이 ∝ 순위
링크 (행 = 출발, 열 = 도착)
반복 횟수0
1위 페이지—
이번 변화량 ‖Δr‖₁—
10⁻⁶까지 필요한 반복—
해볼 것: ① C는 링크를 가장 많이 받지만 A가 C의 유일한 링크를 받아 함께 높아집니다. "중요한 페이지가 링크한 페이지"의 효과입니다. ② E의 바깥 링크를 모두 끄면 E는 막다른 페이지가 되어 모든 페이지로 1/5씩 보냅니다. ③ α를 0.99로 올리면 링크 구조가 순위를 더 강하게 좌우하지만, 필요한 반복 횟수도 크게 늘어납니다. 모델: 페이지 5개, 막다른 페이지는 균등 분배, 자기 자신으로의 링크는 없음.
레슬리 모형: 연령 구조와 성장률
새끼를 많이 낳는데 왜 개체 수가 줄어들까
어떤 물고기는 나이별로 생존율과 번식률이 다릅니다. 어린 개체는 대부분 살아남지 못하고, 성체만 알을 낳습니다. 한 세대 뒤의 개체 수는 나이별 인원에 따라 달라지니 "평균 번식률" 하나로는 장기 추세를 알 수 없습니다. 이 개체군은 결국 늘어날까요, 줄어들까요? 그리고 나이별 비율은 어떻게 될까요?
나이를 세 계급(0살, 1살, 2살)으로 나누고, 한 세대 동안 i살 개체가 낳는 새끼 수를 fi, i살이 i+1살까지 사는 비율을 si라 하면
첫 행은 번식(모든 나이의 새끼가 0살로 들어온다), 아래 대각은 생존(한 살씩 나이 든다). 이 꼴의 행렬을 레슬리 행렬이라 한다. 성분이 음이 아니므로 페론–프로베니우스 정리에 따라 (적절한 조건에서) 가장 큰 고유값이 양의 실수이고 고유벡터의 성분도 양수다.
정리 12.1에 따라 오랜 세대 뒤에는 지배 고유값 λ1의 성분만 남습니다. 그러니 λ1이 세대당 성장률이고(λ1>1이면 증가, λ1<1이면 감소), 그 고유벡터가 안정 연령 구조입니다. 특성 방정식은 λ3−f0λ2−f1s0λ−f2s0s1=0입니다.
예제 12.3f=(0,1.5,1), s0=0.6, s1=0.5.
특성 방정식 λ3−0.9λ−0.3=0. λ=1을 넣으면 −0.2<0, λ=1.1이면 0.041>0이므로 양의 근은 그 사이에 있다. 이분법으로 λ1≈1.085: 세대마다 약 8.5% 증가.
고유벡터: 둘째·셋째 행에서 n1=s0n0/λ, n2=s1n1/λ. n0=1로 두면 (1,0.553,0.255), 합 1로 맞추면 약 (55%,31%,14%).
만약 어린 개체의 생존율이 s0=0.4로 떨어지면 방정식은 λ3−0.6λ−0.2=0이 되고 λ=1에서 0.2>0이므로 λ1<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,T2는 dT1/dt=−3T1+T2, dT2/dt=T1−3T2처럼 서로 얽힌 미분방정식을 따릅니다. 한쪽만 뜨겁게 시작하면 온도가 어떻게 변할까요?
차분 방정식에서 고유벡터 방향의 성분이 λk배가 됐듯이, 미분방정식 du/dt=Au에서는 고유벡터 방향의 성분이 eλt배가 됩니다. u(t)=eλtx를 넣어 보면 왼쪽은 λeλtx, 오른쪽은 eλtAx이므로 Ax=λx이기만 하면 해입니다.
정리 12.4 (선형 미분방정식계의 해)A가 독립인 고유벡터 xi(고유값 λi)를 가지면 du/dt=Au, u(0)=u0의 해는
u(t)=c1eλ1tx1+⋯+cneλntxn,Xc=u0.
모든 고유값의 실수부가 음수(Reλi<0)이면 모든 해가 0으로 가고(점근 안정), 실수부가 양수인 고유값이 하나라도 있으면 불안정하다.
증명. 각 항이 해이고 방정식이 선형이라 합도 해다. t=0에서 ∑cixi=u0이 되도록 c를 고른다. 해의 유일성은 미분방정식의 일반 정리에서 온다. 안정성은 ∣eλt∣=e(Reλ)t에서 나온다. ∎
u(t)=5e−2t(1,1)+5e−4t(1,−1), 즉 T1=5e−2t+5e−4t, T2=5e−2t−5e−4t.
읽는 법: "두 다이의 평균 온도"(모드 (1,1))는 시정수 1/2로, "두 다이의 온도 차"(모드 (1,−1))는 시정수 1/4로 두 배 빨리 사라진다. 다이 2는 처음엔 데워졌다가(T2가 0에서 올라감) 함께 식는다. 두 고유값이 모두 음수이니 결국 둘 다 주변 온도에 닿는다.
이산과 연속의 안정 영역을 나란히 놓으면 대응이 분명합니다. 이산 시스템은 고유값이 단위원 안에, 연속 시스템은 왼쪽 반평면에 있어야 안정합니다. λ(연속)와 eλh(시간 h만큼 진행한 이산)의 관계가 왼쪽 반평면을 단위원 안으로 옮깁니다.
그림 12-3. 왼쪽 반평면(연속 시스템의 안정 영역)은 μ=eλh에 의해 단위원 내부(이산 시스템의 안정 영역)로 옮겨진다. 허수축(Reλ=0, 감쇠 없는 진동)은 단위원 둘레(∣μ∣=1)로 간다. 초록 점은 안정, 빨강 점은 불안정한 고유값의 예.
행렬 지수 eAt
스칼라 방정식 du/dt=au의 해는 u(t)=eatu(0)입니다. 행렬에서도 같은 모양의 답을 쓰고 싶습니다. ex=1+x+x2/2!+⋯의 x에 At를 넣어 정의합니다.
정의 12.3 (행렬 지수) 정사각 행렬 A에 대해
eAt=I+At+2!(At)2+3!(At)3+⋯
이 급수는 모든 A와 t에서 수렴한다.
정리 12.5 (행렬 지수의 성질)
dtdeAt=AeAt이므로 u(t)=eAtu0가 du/dt=Au의 해다.
A=XΛX−1이면 eAt=XeΛtX−1이고, eΛt는 대각 성분이 eλit인 대각 행렬이다.
eA(s+t)=eAseAt, (eAt)−1=e−At. 그러나 일반적으로 eA+B=eAeB이며, AB=BA일 때만 같다고 보장된다.
증명. (1) 급수를 항별로 미분하면 A+A2t+A3t2/2!+⋯=A(I+At+⋯). (2) (At)k=X(Λt)kX−1를 급수에 넣고 X, X−1을 밖으로 묶는다. (3) 스칼라 지수 법칙의 증명은 (A+B)k를 이항 전개하는데, 이때 AB=BA가 필요하다. ∎
고유값 ±i(허수)는 감쇠도 증폭도 없는 회전이다. 단진동 x′′=−x를 u=(x,x′)로 쓴 행렬이 바로 이런 꼴이다.
예제 12.6 · 고유벡터가 모자랄 때
A=[λ01λ]은 고유값 λ가 겹치고 고유벡터가 (1,0) 하나뿐이라 대각화할 수 없다. A=λI+N, N=[0010]으로 나누면 λI와 N이 교환되고 N2=0이므로
eAt=eλteNt=eλt(I+Nt)=eλt[10t1].
teλt 항이 나타난다. 임계 감쇠 진동자(9절)의 x(t)=(1+ωt)e−ωt가 이 경우다.
계산에서는 급수를 그대로 더하는 방법은 ∥At∥가 크면 큰 항들이 서로 상쇄되며 반올림 오차가 커지고, 고유벡터로 대각화하는 방법은 고유벡터가 거의 평행하면(X의 조건수가 크면) 부정확합니다. 실제 수치 라이브러리는 eAt=(eAt/2s)2s로 작게 나눈 뒤 근사하고 제곱을 되풀이하는 방법(스케일링과 제곱)을 흔히 씁니다. 고유값은 해석의 도구이고, 계산은 다른 문제입니다.
위상 초상: 대각합과 행렬식이면 충분하다
2×2 시스템의 거동은 몇 가지뿐일까
2차원 선형 시스템 du/dt=Au의 해 곡선을 평면에 그린 것을 위상 초상(phase portrait)이라 합니다. 숫자 네 개를 바꾸면 무한히 많은 그림이 나올 것 같지만, 질적으로 다른 그림은 손에 꼽을 만큼입니다. 무엇이 그림의 종류를 정할까요?
2×2 행렬의 고유값은 특성 방정식 λ2−Tλ+D=0의 근이고, T=trA=λ1+λ2, D=detA=λ1λ2입니다. 그러니
λ1,2=2T±T2−4D
고유값, 그래서 위상 초상의 종류는 숫자 두 개 (T,D)만으로 정해진다. 판별식 T2−4D의 부호가 실수냐 복소수냐를, D의 부호가 고유값의 부호가 같으냐 다르냐를, T의 부호가 안정이냐 불안정이냐를 정한다.
영역
고유값
이름
그림
D<0
실수, 부호 반대
안장점
한 방향으로 들어와 다른 방향으로 나감. 항상 불안정
D>0,T2>4D
실수, 부호 같음
마디(node)
T<0: 모든 해가 원점으로 곧게. T>0: 곧게 달아남
D>0,T2<4D
복소수 2T±iω
나선(spiral)
T<0: 감기며 들어옴. T>0: 풀리며 나감
D>0,T=0
순허수 ±iD
중심(center)
닫힌 타원 궤도, 영원히 진동
T2=4D
중근
퇴화 마디·별 마디
마디와 나선의 경계
결론적으로 연속 시스템은 T<0이고 D>0일 때, 즉 대각합–행렬식 평면의 제2사분면(위쪽 왼편)에 있을 때만 점근 안정합니다. 아래 시뮬레이터 왼쪽에서 점 (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)로 앞뒤로 적분합니다. 회색 화살표는 방향장입니다.
진동자와 정규 모드
자동차 서스펜션은 얼마나 빨리 잠잠해져야 할까
바퀴가 턱을 넘으면 차체가 스프링 위에서 출렁입니다. 감쇠기(댐퍼)가 약하면 여러 번 출렁이고, 너무 세면 천천히 기어 돌아옵니다. 이 차이를 질량·감쇠·강성 세 숫자에서 바로 읽을 수 있을까요?
고유값은 λ2+(c/m)λ+k/m=0의 근. 고유진동수 ωn=k/m와 감쇠비 ζ=c/(2mk)로 쓰면 λ=−ζωn±ωnζ2−1. ζ<1: 부족 감쇠(나선, 출렁임), ζ=1: 임계 감쇠(가장 빨리 출렁임 없이 복귀), ζ>1: 과감쇠(마디, 느린 복귀).
D=k/m>0이고 T=−c/m≤0이니 이 시스템은 언제나 대각합–행렬식 평면의 위쪽 왼편, 안정 영역에 있습니다. 감쇠 c를 키우는 것은 점을 왼쪽으로 옮기는 것이고, 포물선 T2=4D를 넘는 순간이 ζ=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, 정확한 해를 고유값으로 계산합니다.
자유도가 둘 이상이면 고유벡터가 모양의 의미를 갖습니다. 벽–질량–스프링–질량–벽 사이에 결합 스프링 κ가 있는 두 질량(각 m=1, 벽 쪽 스프링 k=1)을 생각합니다.
x¨=−Kx,K=[k+κ−κ−κk+κ]
x=vcosωt를 넣으면 Kv=ω2v: 고유값이 진동수의 제곱, 고유벡터가 정규 모드의 모양이다. v1=(1,1)(같이 움직임, 결합 스프링은 늘지 않음) ω12=k, v2=(1,−1)(반대로 움직임) ω22=k+2κ.
그림 12-4. 두 질량 결합 진동자의 정규 모드. 같이 움직이는 모드는 결합 스프링이 일을 하지 않아 진동수가 k 그대로이고, 반대로 움직이는 모드는 결합 스프링이 양쪽을 당겨 더 빠르다. 어떤 움직임이든 두 모드의 합이다.
한 질량만 당겼다 놓으면 (1,0)=21(1,1)+21(1,−1)이라 두 모드가 반씩 섞입니다. 진동수가 조금 다른 두 진동이 겹치면 맥놀이가 생겨, 에너지가 두 질량 사이를 주기 2π/(ω2−ω1)로 오갑니다. 결합이 약할수록(κ가 작을수록) 두 진동수가 가까워 에너지가 천천히, 그러나 완전히 넘어갑니다.
SIMULATOR
결합 진동자: 정규 모드와 맥놀이
처음 변위
ω₁ (같은 방향)—
ω₂ (반대 방향)—
맥놀이 주기 2π/(ω₂ − ω₁)—
t0
해볼 것: ① '한 질량만'을 재생하면 왼쪽 질량의 진동이 점점 줄며 오른쪽 질량으로 넘어갔다가 돌아옵니다. 아래 그래프의 x₁, x₂ 포락선이 엇갈립니다. ② '모드 1'이나 '모드 2'로 시작하면 모양이 그대로 유지되는 순수한 진동만 나옵니다. 고유벡터 방향은 섞이지 않습니다. ③ κ를 키우면 맥놀이 주기가 짧아지고 에너지 교환이 빨라집니다. 모델: m = k = 1, 감쇠 없음, 정확한 해 x = Σ (모드 성분)·cos(ωᵢt).
이 도구가 쓰이는 곳
"고유값을 보면 미래가 보인다"는 생각은 시간에 따라 변하는 거의 모든 선형 모형에 그대로 쓰입니다.