Chapter 11

연립 선형 방정식

탱크 두 개가 관으로 이어져 있으면 한쪽의 소금 농도가 다른 쪽의 변화율을 바꿉니다. 용수철로 묶인 두 진자는 서로를 흔듭니다. 변수가 여럿이고 그 변화율이 서로 얽혀 있으면 방정식도 여러 개가 한 묶음이 됩니다. 이 장에서는 이런 묶음을 하나의 벡터 방정식 x′=Ax\mathbf x' = A\mathbf x로 쓰고, 1차원의 x′=ax⇒x=eatx0x' = ax \Rightarrow x = e^{at}x_0를 그대로 키워서 풉니다. 열쇠는 고유벡터입니다. 고유벡터 방향으로는 얽힘이 풀려서 각 방향이 제 고유값의 속도로 따로 자라거나 줄어듭니다. 그 결과를 평면에 그리면 해의 모양이 마디·안장·나선·중심 몇 가지로 정리되고, 그 지도는 행렬의 대각합과 행렬식 두 숫자로 그려집니다.

이 수식이 없었다면지진과 바람에 버티는 고층 건물

층이 수십 개인 건물에서 각 층의 흔들림은 위아래 층과 기둥으로 묶여 있습니다. 층마다 뉴턴 법칙을 쓰면 서로 얽힌 2계 방정식이 층 수만큼 나오고, 한 층만 떼어 풀 수가 없습니다. 그런데 좌표를 고유벡터로 바꾸면 이 묶음이 서로 독립인 단진동 여러 개, 즉 정규 모드로 풀립니다. 모드마다 고유 진동수가 하나씩 있어서, 구조 기술자는 주요 모드의 진동수가 지진과 바람이 주로 흔드는 진동수에서 벗어나도록 설계하고 모드별 감쇠를 계산합니다.

타이베이 101 꼭대기 근처에 매달린 거대한 강철 진자(동조 질량 감쇠기)는 건물의 첫 번째 모드와 진동수를 맞춰 두어 그 모드의 에너지를 빨아들이도록 만든 장치입니다. 이 장의 마지막 절에서 진자 두 개로 같은 원리를 직접 봅니다.

층마다 F = ma→얽힌 연립 방정식 x″ = −Kx→고유값·고유벡터→독립된 진동 모드

고계 방정식을 1계 연립으로

RK4 프로그램은 1계 방정식만 받는다

5장의 룽게–쿠타 코드는 y′=f(t,y)\mathbf y' = \mathbf f(t, \mathbf y) 꼴만 다룹니다. 그런데 용수철–질량계는 x′′+cx′+kx=0x'' + cx' + kx = 0처럼 2계이고, 탱크 두 개는 미지수가 두 개입니다. 둘 다 같은 틀에 넣으려면 어떻게 해야 할까요?

요령은 "지금 상태를 정하는 데 필요한 숫자를 모두 모아 벡터 하나로 만든다"는 것입니다. 용수철은 위치만 알아서는 다음 순간을 모릅니다. 위치와 속도를 함께 알아야 하죠. 그래서 x1=xx_1 = x, x2=x′x_2 = x'로 두면

x1′=x2,x2′=−kx1−cx2⟺[x1x2]′=[01−k−c][x1x2].x_1' = x_2,\qquad x_2' = -k x_1 - c x_2 \qquad\Longleftrightarrow\qquad \begin{bmatrix} x_1\\ x_2\end{bmatrix}' = \begin{bmatrix} 0 & 1\\ -k & -c\end{bmatrix}\begin{bmatrix} x_1\\ x_2\end{bmatrix}.
이 벡터 x=(x,x′)\mathbf x = (x, x')를 상태 벡터(state vector)라 한다. 2계 방정식 하나가 1계 방정식 두 개의 묶음이 되었다.
정의 11.1 (1계 선형 연립 방정식) nn개의 미지 함수를 모은 x(t)=(x1,…,xn)\mathbf x(t) = (x_1, \dots, x_n)에 대해
x′=A(t) x+g(t)\mathbf x' = A(t)\,\mathbf x + \mathbf g(t)
를 1계 선형 연립 방정식(first-order linear system)이라 한다. g≡0\mathbf g \equiv \mathbf 0이면 동차, 아니면 비동차이고, AA가 상수 행렬이면 상수계수 연립이다. 이 장의 대부분은 상수계수 동차 연립 x′=Ax\mathbf x' = A\mathbf x를 다룬다.
정리 11.1 (고계 방정식의 동반 행렬) nn계 선형 방정식 y(n)+an−1y(n−1)+⋯+a1y′+a0y=g(t)y^{(n)} + a_{n-1}y^{(n-1)} + \cdots + a_1 y' + a_0 y = g(t)는 x1=y, x2=y′, …, xn=y(n−1)x_1 = y,\ x_2 = y',\ \dots,\ x_n = y^{(n-1)}로 두면
x′=[01⋱⋱01−a0−a1⋯−an−1]x+[0⋮0g(t)]\mathbf x' = \begin{bmatrix} 0 & 1 & & \\ & \ddots & \ddots & \\ & & 0 & 1\\ -a_0 & -a_1 & \cdots & -a_{n-1}\end{bmatrix}\mathbf x + \begin{bmatrix}0\\ \vdots\\ 0\\ g(t)\end{bmatrix}
가 된다. 이 행렬을 동반 행렬(companion matrix)이라 하며, 그 특성다항식 det⁡(λI−A)\det(\lambda I - A)는 6장의 특성 방정식 λn+an−1λn−1+⋯+a0\lambda^n + a_{n-1}\lambda^{n-1} + \cdots + a_0과 같다. 그래서 동반 행렬의 고유값이 곧 특성근이다.

2×2에서 직접 확인해 봅시다. det⁡[λ−1kλ+c]=λ2+cλ+k\det\begin{bmatrix}\lambda & -1\\ k & \lambda + c\end{bmatrix} = \lambda^2 + c\lambda + k. 6장에서 erte^{rt}를 대입해 얻은 r2+cr+k=0r^2 + cr + k = 0 그대로입니다. 2계 방정식의 특성근과 연립의 고유값은 같은 것의 두 이름입니다.

예제 11.1 (3계 방정식을 연립으로) y′′′−2y′′−y′+2y=0y''' - 2y'' - y' + 2y = 0을 1계 연립으로 쓰고 고유값을 구하라.
  1. x1=y, x2=y′, x3=y′′x_1 = y,\ x_2 = y',\ x_3 = y''. 그러면 x1′=x2x_1' = x_2, x2′=x3x_2' = x_3, x3′=y′′′=−2x1+x2+2x3x_3' = y''' = -2x_1 + x_2 + 2x_3.
  2. A=[010001−212]A = \begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ -2 & 1 & 2\end{bmatrix}, det⁡(λI−A)=λ3−2λ2−λ+2=(λ−1)(λ+1)(λ−2)\det(\lambda I - A) = \lambda^3 - 2\lambda^2 - \lambda + 2 = (\lambda - 1)(\lambda + 1)(\lambda - 2).
  3. 고유값 1,−1,21, -1, 2. 원래 방정식의 일반해 y=c1et+c2e−t+c3e2ty = c_1 e^{t} + c_2 e^{-t} + c_3 e^{2t}의 지수들과 같습니다.

해 x(t)\mathbf x(t)를 시간축 없이 (x1,x2)(x_1, x_2) 평면 위의 곡선으로 그리면 그것이 궤적(trajectory)이고, 이 평면을 위상 평면(phase plane), 대표적인 궤적들을 모아 그린 그림을 위상 초상(phase portrait)이라 합니다. 각 점 x\mathbf x에 화살표 AxA\mathbf x를 붙이면 1장의 방향장이 평면으로 올라온 것이 되고, 궤적은 이 화살표를 따라 흐르는 곡선입니다.

m 속도 v = x′ 위치 x → x₁ = x x₂ = x′ 상태 (x, x′) Ax 상태가 정하는 다음 순간 x₁′ = x₂ x₂′ = −kx₁ − cx₂ 점 하나 = 상태 하나 곡선 하나 = 해 하나
그림 11-1. 용수철–질량계의 위치와 속도를 묶은 상태 (x,x′)(x, x')는 위상 평면의 한 점이다. 그 점에서의 속도 벡터 AxA\mathbf x가 다음 순간의 상태를 정하고, 시간이 흐르면 점은 감쇠 진동이면 원점으로 감아 드는 나선을 그린다.
정리 11.2 (선형 연립의 존재·유일성) A(t)A(t)와 g(t)\mathbf g(t)가 구간 II에서 연속이면, t0∈It_0 \in I와 임의의 x0\mathbf x_0에 대해 x′=A(t)x+g(t)\mathbf x' = A(t)\mathbf x + \mathbf g(t), x(t0)=x0\mathbf x(t_0) = \mathbf x_0의 해가 II 전체에서 존재하고 유일하다. 그래서 상수계수 자율 연립의 서로 다른 궤적은 위상 평면에서 만나거나 교차하지 않는다. 교차점에서 출발하는 해가 둘이 되기 때문이다.

x′ = Ax와 고유값 방법

얽힌 두 방정식을 어떻게 풀까

x′=x+yx' = x + y, y′=4x+yy' = 4x + y. xx를 알려면 yy가 필요하고 yy를 알려면 xx가 필요합니다. 하나씩 떼어 풀 수 없죠. 그런데 1차원 x′=axx' = ax의 해는 eate^{at}였습니다. 연립에서도 지수 함수가 통하지 않을까요?

x(t)=eλtv\mathbf x(t) = e^{\lambda t}\mathbf v(v\mathbf v는 상수 벡터)를 시도해 봅시다. 좌변은 λeλtv\lambda e^{\lambda t}\mathbf v, 우변은 eλtAve^{\lambda t}A\mathbf v이므로, eλt≠0e^{\lambda t} \ne 0으로 나누면

Av=λv,det⁡(A−λI)=0.A\mathbf v = \lambda\mathbf v,\qquad \det(A - \lambda I) = 0.
미분방정식이 고유값 문제가 되었다. 고유벡터 v\mathbf v 방향으로 출발한 해는 그 직선을 벗어나지 않고 eλte^{\lambda t}배로 늘거나 줄어든다. 고유값과 고유벡터의 계산은 LinearBook 고유값 장을 보라.
정리 11.3 (중첩과 일반해) x1,…,xn\mathbf x_1, \dots, \mathbf x_n이 x′=Ax\mathbf x' = A\mathbf x의 해이면 그 일차결합도 해다. 이 해들을 열로 모은 행렬 Φ(t)=[x1 ⋯ xn]\Phi(t) = [\mathbf x_1\ \cdots\ \mathbf x_n]의 행렬식 W(t)=det⁡Φ(t)W(t) = \det\Phi(t)(론스키안)가 한 점에서 0이 아니면 모든 tt에서 0이 아니고, 이때 Φ\Phi를 기본 행렬(fundamental matrix)이라 하며 모든 해는 x=Φ(t)c\mathbf x = \Phi(t)\mathbf c로 쓰인다. 특히 AA가 일차독립인 고유벡터 v1,…,vn\mathbf v_1, \dots, \mathbf v_n(고유값 λ1,…,λn\lambda_1, \dots, \lambda_n)을 가지면
x(t)=c1eλ1tv1+c2eλ2tv2+⋯+cneλntvn.\mathbf x(t) = c_1 e^{\lambda_1 t}\mathbf v_1 + c_2 e^{\lambda_2 t}\mathbf v_2 + \cdots + c_n e^{\lambda_n t}\mathbf v_n.

왜 W는 한 번 0이 아니면 계속 0이 아닌가. Φ′=AΦ\Phi' = A\Phi에서 W′=(tr⁡A) WW' = (\operatorname{tr}A)\,W가 나온다(아벨–리우빌 공식). 그래서 W(t)=W(0)e(tr⁡A)tW(t) = W(0)e^{(\operatorname{tr}A)t}이고, 지수 함수는 0이 되지 않는다. 6장 아벨 정리의 연립판이다.

예제 11.2 (안장) x′=[1141]x\mathbf x' = \begin{bmatrix}1 & 1\\ 4 & 1\end{bmatrix}\mathbf x, x(0)=(2,0)\mathbf x(0) = (2, 0)을 풀어라.
  1. 특성 방정식 (1−λ)2−4=0(1 - \lambda)^2 - 4 = 0, 즉 λ2−2λ−3=0\lambda^2 - 2\lambda - 3 = 0. λ1=3\lambda_1 = 3, λ2=−1\lambda_2 = -1.
  2. λ=3\lambda = 3: [−214−2]v=0\begin{bmatrix}-2 & 1\\ 4 & -2\end{bmatrix}\mathbf v = \mathbf 0에서 v1=(1,2)\mathbf v_1 = (1, 2). λ=−1\lambda = -1: [2142]v=0\begin{bmatrix}2 & 1\\ 4 & 2\end{bmatrix}\mathbf v = \mathbf 0에서 v2=(1,−2)\mathbf v_2 = (1, -2).
  3. 일반해 x=c1e3t(1,2)+c2e−t(1,−2)\mathbf x = c_1 e^{3t}(1, 2) + c_2 e^{-t}(1, -2). 초기 조건: c1+c2=2c_1 + c_2 = 2, 2c1−2c2=02c_1 - 2c_2 = 0에서 c1=c2=1c_1 = c_2 = 1.
  4. x(t)=e3t+e−tx(t) = e^{3t} + e^{-t}, y(t)=2e3t−2e−ty(t) = 2e^{3t} - 2e^{-t}. t=1t = 1에서 (20.453, 39.435)(20.453,\ 39.435)이고, RK4로 적분한 값과 소수 셋째 자리까지 같습니다.

아래 시뮬레이터에서 화면을 눌러 출발점을 놓아 보세요. 고유벡터 직선 위에서 출발한 해는 직선을 따라 곧게 움직이고, 나머지 해는 두 직선 방향의 움직임이 섞인 곡선을 그립니다.

SIMULATOR

위상 평면과 고유벡터 직선

눌러서 출발점 놓기
행렬 A (직접 입력)
고유값 λ—
고유벡터 v—
평형점의 종류—
해볼 것: ① 안장에서 고유벡터 직선 (1, −2) 위를 정확히 누르면 해가 원점으로 들어가지만, 조금만 벗어나도 결국 (1, 2) 방향으로 튕겨 나갑니다. ② 안정 마디에서 대부분의 궤적은 원점에 들어갈 때 느린 고유벡터(λ = −1, 방향 (1, 1))에 접합니다. ③ 행렬 칸에 직접 숫자를 넣어 보세요. 고유값이 복소수가 되는 순간 직선이 사라지고 궤적이 돌기 시작합니다. 모델: 궤적은 RK4로 앞뒤 시간 방향 모두 적분하며, 옅은 부분이 과거, 진한 부분이 미래입니다.

서로 다른 실 고유값: 마디와 안장

문이 열린 두 방의 온도

벽을 사이에 둔 두 방이 각자 바깥으로 열을 잃고, 서로도 열을 주고받습니다. 바깥 온도를 0으로 잡고 두 방의 온도를 T1,T2T_1, T_2라 하면 뉴턴 냉각 법칙(2장)으로 T1′=−T1−(T1−T2)T_1' = -T_1 - (T_1 - T_2), T2′=−T2−(T2−T1)T_2' = -T_2 - (T_2 - T_1)입니다. 처음에 방 1만 10도 데워 두면 두 온도는 어떻게 식을까요?

행렬은 A=[−211−2]A = \begin{bmatrix}-2 & 1\\ 1 & -2\end{bmatrix}이고 고유값은 −1,−3-1, -3, 고유벡터는 (1,1)(1, 1), (1,−1)(1, -1)입니다. 두 고유벡터에는 물리적 뜻이 있습니다. (1,1)(1, 1)은 "두 방이 같은 온도로 함께 식는" 모드, (1,−1)(1, -1)은 "두 방의 온도 차이"가 줄어드는 모드입니다.

예제 11.3 (두 방의 냉각) T(0)=(10,0)\mathbf T(0) = (10, 0).
  1. T=c1e−t(1,1)+c2e−3t(1,−1)\mathbf T = c_1 e^{-t}(1, 1) + c_2 e^{-3t}(1, -1). c1+c2=10c_1 + c_2 = 10, c1−c2=0c_1 - c_2 = 0에서 c1=c2=5c_1 = c_2 = 5.
  2. T1=5e−t+5e−3tT_1 = 5e^{-t} + 5e^{-3t}, T2=5e−t−5e−3tT_2 = 5e^{-t} - 5e^{-3t}.
  3. 해석: 온도 차이 T1−T2=10e−3tT_1 - T_2 = 10e^{-3t}는 빠르게(속도 3) 사라지고, 평균 12(T1+T2)=5e−t\tfrac12(T_1 + T_2) = 5e^{-t}는 느리게(속도 1) 식습니다. 조금 지나면 두 방은 거의 같은 온도로 함께 식습니다. 위상 평면에서는 궤적이 먼저 대각선 T1=T2T_1 = T_2로 빠르게 다가간 뒤 그 직선을 따라 원점으로 들어갑니다.

이 관찰을 일반화하면 다음과 같습니다. 고유값이 둘 다 음수이면 모든 해가 원점으로 가는데, 빠른 성분 eλ빠름te^{\lambda_{\text{빠름}} t}이 먼저 사라지므로 마지막에는 느린 고유벡터 방향만 남습니다.

정리 11.4 (서로 다른 실 고유값의 위상 초상) AA가 2×2이고 실 고유값 λ1≠λ2\lambda_1 \ne \lambda_2와 고유벡터 v1,v2\mathbf v_1, \mathbf v_2를 가진다고 하자.
  1. λ1<λ2<0\lambda_1 \lt \lambda_2 \lt 0: 안정 마디(stable node). 모든 해가 t→∞t \to \infty에서 원점으로 가고, c2≠0c_2 \ne 0인 해는 원점에서 느린 방향 v2\mathbf v_2에 접한다.
  2. 0<λ2<λ10 \lt \lambda_2 \lt \lambda_1: 불안정 마디(unstable node). 시간을 거꾸로 돌린 안정 마디. 해는 원점에서 v2\mathbf v_2에 접하며 떠나 멀리서는 v1\mathbf v_1 방향과 나란해진다.
  3. λ1<0<λ2\lambda_1 \lt 0 \lt \lambda_2: 안장점(saddle point). v1\mathbf v_1 직선 위의 해만 원점으로 들어가고(안정 방향), 나머지는 모두 v2\mathbf v_2 방향으로 멀어진다.

증명(1). x=eλ2t(c1e(λ1−λ2)tv1+c2v2)\mathbf x = e^{\lambda_2 t}\bigl(c_1 e^{(\lambda_1 - \lambda_2)t}\mathbf v_1 + c_2\mathbf v_2\bigr)이고 λ1−λ2<0\lambda_1 - \lambda_2 \lt 0이므로 괄호 안은 c2v2c_2\mathbf v_2로 간다. 따라서 x/∣x∣→±v2/∣v2∣\mathbf x/|\mathbf x| \to \pm\mathbf v_2/|\mathbf v_2|. ∎

안장의 안정 방향은 칼날 위의 균형과 같습니다. 예제 11.2에서 x(0)\mathbf x(0)이 정확히 직선 y=−2xy = -2x 위에 있으면 해는 e−te^{-t}로 줄지만, 측정 오차든 반올림 오차든 c1c_1이 조금이라도 생기면 e3te^{3t}가 결국 이깁니다. 물리적으로 안장 평형은 관찰되지 않는 평형입니다. 다음 장에서 이 직선은 비선형 시스템의 분리선으로 다시 등장해 서로 다른 운명을 가르는 경계가 됩니다.

SIMULATOR

해를 고유 성분으로 쪼개 보기

점 x(0)을 끌어 보세요
행렬
c₁, c₂—
c₁eλ₁t v₁—
c₂eλ₂t v₂—
x(t)—
해볼 것: ① '두 방'에서 시간을 흘리면 청록 화살표(빠른 성분, λ = −3)가 먼저 줄어들고 주황 화살표(느린 성분, λ = −1)가 오래 남습니다. 해가 대각선 쪽으로 휘는 이유입니다. ② '안장'에서 x(0)을 안정 직선 가까이 끌면 c₁이 거의 0이 됩니다. 그래도 t가 커지면 주황 성분이 폭발합니다. ③ t를 음수로 보내면 과거로 갑니다. 불안정 마디의 과거는 안정 마디의 미래와 같습니다. 모델: x(t) = c₁eλ₁tv₁ + c₂eλ₂tv₂, 평행사변형 꼭짓점이 해입니다.

복소 고유값: 나선과 중심

고유벡터 직선이 없는 행렬

x′=−x−2yx' = -x - 2y, y′=2x−yy' = 2x - y. 특성 방정식 (λ+1)2+4=0(\lambda + 1)^2 + 4 = 0의 근은 λ=−1±2i\lambda = -1 \pm 2i입니다. 실수 고유벡터가 없으니 위상 평면에 곧은 궤적도 없습니다. 그러면 해는 어떻게 생겼을까요?

복소수 고유값 λ=α+iβ\lambda = \alpha + i\beta와 복소 고유벡터 v=a+ib\mathbf v = \mathbf a + i\mathbf b로 만든 eλtve^{\lambda t}\mathbf v도 (복소수) 해입니다. AA가 실수 행렬이므로 그 실수부와 허수부가 각각 실수 해가 됩니다. 오일러 공식 eiβt=cos⁡βt+isin⁡βte^{i\beta t} = \cos\beta t + i\sin\beta t로 전개하면

정리 11.5 (복소 고유값의 실수 해) 실수 행렬 AA가 고유값 α±iβ\alpha \pm i\beta(β>0\beta \gt 0)와 고유벡터 a±ib\mathbf a \pm i\mathbf b를 가지면
x1=eαt(acos⁡βt−bsin⁡βt),x2=eαt(asin⁡βt+bcos⁡βt)\mathbf x_1 = e^{\alpha t}\bigl(\mathbf a\cos\beta t - \mathbf b\sin\beta t\bigr),\qquad \mathbf x_2 = e^{\alpha t}\bigl(\mathbf a\sin\beta t + \mathbf b\cos\beta t\bigr)
는 일차독립인 실수 해이고, 일반해는 c1x1+c2x2c_1\mathbf x_1 + c_2\mathbf x_2다. 궤적은 α<0\alpha \lt 0이면 원점으로 감겨 드는 나선점(spiral point, focus)(안정), α>0\alpha \gt 0이면 풀려 나가는 나선(불안정), α=0\alpha = 0이면 원점 둘레의 닫힌 타원인 중심(center)이 된다. 한 바퀴 도는 시간은 2π/β2\pi/\beta이고, 한 바퀴마다 크기가 e2πα/βe^{2\pi\alpha/\beta}배가 된다.
예제 11.4 (안정 나선) x′=[−1−22−1]x\mathbf x' = \begin{bmatrix}-1 & -2\\ 2 & -1\end{bmatrix}\mathbf x, x(0)=(1,0)\mathbf x(0) = (1, 0).
  1. λ=−1+2i\lambda = -1 + 2i: (A−λI)v=[−2i−22−2i]v=0(A - \lambda I)\mathbf v = \begin{bmatrix}-2i & -2\\ 2 & -2i\end{bmatrix}\mathbf v = \mathbf 0에서 v=(1,−i)=(1,0)+i(0,−1)\mathbf v = (1, -i) = (1, 0) + i(0, -1). 즉 a=(1,0)\mathbf a = (1, 0), b=(0,−1)\mathbf b = (0, -1).
  2. x1=e−t((1,0)cos⁡2t−(0,−1)sin⁡2t)=e−t(cos⁡2t, sin⁡2t)\mathbf x_1 = e^{-t}\bigl((1, 0)\cos 2t - (0, -1)\sin 2t\bigr) = e^{-t}(\cos 2t,\ \sin 2t). 이것이 이미 x(0)=(1,0)\mathbf x(0) = (1, 0)을 만족합니다.
  3. 해 x=e−t(cos⁡2t,sin⁡2t)\mathbf x = e^{-t}(\cos 2t, \sin 2t): 반지름 e−te^{-t}인 원 위를 각속도 2로 반시계로 도는 점. t=1t = 1에서 (−0.1531, 0.3345)(-0.1531,\ 0.3345)(RK4와 일치). 한 바퀴(π\pi초)마다 크기가 e−π≈0.043e^{-\pi} \approx 0.043배가 됩니다.
예제 11.5 (중심: 감쇠 없는 용수철) x′′+4x=0x'' + 4x = 0은 A=[01−40]A = \begin{bmatrix}0 & 1\\ -4 & 0\end{bmatrix}, λ=±2i\lambda = \pm 2i입니다. α=0\alpha = 0이라 궤적은 닫힌 곡선이고, 실제로 ddt(4x2+y2)=8xy+2y(−4x)=0\frac{d}{dt}(4x^2 + y^2) = 8xy + 2y(-4x) = 0이므로 타원 4x2+y2=4x^2 + y^2 = 상수 위를 돕니다. 이 양은 7장의 역학적 에너지(의 두 배)입니다.
도는 방향을 1초 만에 읽기 고유값이 복소수이면 점 (1,0)(1, 0)에서의 속도 A(1,0)=(a11,a21)A(1, 0) = (a_{11}, a_{21})를 봅니다. a21>0a_{21} \gt 0이면 위로 움직이므로 반시계, a21<0a_{21} \lt 0이면 시계 방향입니다. 예제 11.4는 a21=2>0a_{21} = 2 \gt 0이라 반시계, 예제 11.5는 −4-4라 시계 방향입니다(위치가 양수이면 속도가 줄어드는 용수철).

중복 고유값: 퇴화 마디와 일반화 고유벡터

임계 감쇠에는 고유벡터가 하나뿐

7장의 임계 감쇠 x′′+2x′+x=0x'' + 2x' + x = 0을 연립으로 쓰면 A=[01−1−2]A = \begin{bmatrix}0 & 1\\ -1 & -2\end{bmatrix}, 고유값은 −1-1 하나(중근)이고 고유벡터는 (1,−1)(1, -1)의 배수뿐입니다. 해 e−t(1,−1)e^{-t}(1, -1) 하나로는 초기 조건 두 개를 맞출 수 없습니다. 2계 방정식에서는 te−tte^{-t}가 구원투수였죠. 연립에서는?

중복 고유값 λ\lambda에는 두 경우가 있습니다. A=λIA = \lambda I이면 모든 벡터가 고유벡터라서 해는 eλtx0e^{\lambda t}\mathbf x_0, 궤적은 원점을 지나는 직선이 사방으로 뻗은 별 마디(star node, proper node)입니다. 그 밖의 경우는 고유벡터 방향이 하나뿐이고, 두 번째 해를 x=eλt(tv+w)\mathbf x = e^{\lambda t}(t\mathbf v + \mathbf w) 꼴로 찾습니다. 대입하면 eλt(v+λtv+λw)=eλt(tAv+Aw)e^{\lambda t}\bigl(\mathbf v + \lambda t\mathbf v + \lambda\mathbf w\bigr) = e^{\lambda t}\bigl(tA\mathbf v + A\mathbf w\bigr)이고, Av=λvA\mathbf v = \lambda\mathbf v이므로 남는 조건은

(A−λI) w=v.(A - \lambda I)\,\mathbf w = \mathbf v.
정의 11.2·정리 11.6 (일반화 고유벡터와 퇴화 마디) (A−λI)w=v(A - \lambda I)\mathbf w = \mathbf v를 만족하는 w\mathbf w를 v\mathbf v에 딸린 일반화 고유벡터(generalized eigenvector)라 한다. 2×2 행렬 A≠λIA \ne \lambda I가 중복 고유값 λ\lambda를 가지면 일반해는
x(t)=c1eλtv+c2eλt(t v+w)\mathbf x(t) = c_1 e^{\lambda t}\mathbf v + c_2 e^{\lambda t}\bigl(t\,\mathbf v + \mathbf w\bigr)
이다. 이때 원점은 퇴화 마디(degenerate node, improper node)다. t→±∞t \to \pm\infty에서 tvt\mathbf v 항이 지배하므로 모든 궤적이 끝에서 v\mathbf v 방향에 접하고, 그 사이에서 반 바퀴 휘어 돈다. w\mathbf w는 v\mathbf v의 배수를 더해도 되므로 하나로 정해지지 않는다.
예제 11.6 (퇴화 마디) x′=[3−111]x\mathbf x' = \begin{bmatrix}3 & -1\\ 1 & 1\end{bmatrix}\mathbf x의 일반해를 구하라.
  1. 대각합 4, 행렬식 3+1=43 + 1 = 4. λ2−4λ+4=(λ−2)2\lambda^2 - 4\lambda + 4 = (\lambda - 2)^2, 중복 고유값 λ=2\lambda = 2.
  2. A−2I=[1−11−1]A - 2I = \begin{bmatrix}1 & -1\\ 1 & -1\end{bmatrix}. 고유벡터 v=(1,1)\mathbf v = (1, 1) 하나뿐입니다.
  3. (A−2I)w=(1,1)(A - 2I)\mathbf w = (1, 1): w1−w2=1w_1 - w_2 = 1이므로 w=(1,0)\mathbf w = (1, 0).
  4. x=c1e2t(1,1)+c2e2t(t+1, t)\mathbf x = c_1 e^{2t}(1, 1) + c_2 e^{2t}(t + 1,\ t). 검산: c1=1c_1 = 1, c2=2c_2 = 2이면 x(0)=(3,1)\mathbf x(0) = (3, 1), x(1)=(5e2,3e2)≈(36.945,22.167)\mathbf x(1) = (5e^2, 3e^2) \approx (36.945, 22.167)이고 RK4 값과 같습니다.

처음 문제로 돌아가면 λ=−1\lambda = -1, v=(1,−1)\mathbf v = (1, -1), (A+I)w=v(A + I)\mathbf w = \mathbf v에서 w=(1,0)\mathbf w = (1, 0)이고, 두 번째 해의 첫 성분이 x=(t+1)e−tx = (t + 1)e^{-t}입니다. 2계 방정식의 te−tte^{-t}가 일반화 고유벡터에서 나온 것입니다. 퇴화 마디는 두 고유벡터가 하나로 합쳐지는 순간, 즉 마디가 나선으로 넘어가는 경계에 있습니다. 아래에서 ε\varepsilon을 움직여 그 순간을 보세요.

SIMULATOR

두 고유벡터가 하나로 합쳐질 때

A = [[−0.5, 1], [ε, −0.5]]의 위상 초상
x(0) = (0, 1)에서: x₁(t) 주황, x₂(t) 청록
고유값 −0.5 ± √ε—
두 고유벡터 사이 각—
종류—
해볼 것: ① ε를 0.2에서 0으로 줄이면 두 고유벡터 직선 (1, ±√ε)가 좁혀지다가 ε = 0에서 하나로 겹칩니다. ② ε = 0에서 아래 그래프의 x₁(t)는 정확히 te−t/2(점선)입니다. t = 2에서 최댓값 2/e ≈ 0.736. ③ ε를 음수로 넘기면 고유값이 −0.5 ± i√|ε|가 되어 궤적이 원점 둘레를 돌기 시작하고, x₁(t)가 0 아래로 내려갔다 돌아오는 진동이 생깁니다. ε = 0.16이면 λ = −0.1, −0.9인 마디입니다. 모델: 해는 RK4로 적분합니다.

대각합–행렬식 평면: 평형점 지도

행렬만 보고 그림을 맞힐 수 있을까

지금까지 고유값을 구하고 경우를 나눠 그림을 그렸습니다. 그런데 2×2 행렬의 특성 방정식은 λ2−τλ+Δ=0\lambda^2 - \tau\lambda + \Delta = 0(τ=tr⁡A\tau = \operatorname{tr}A, Δ=det⁡A\Delta = \det A)이라서 고유값은 두 숫자 τ,Δ\tau, \Delta만으로 정해집니다. 그렇다면 위상 초상의 종류도 이 두 숫자로 지도를 그릴 수 있을 것입니다.

λ1,2=τ2±τ24−Δ,λ1+λ2=τ,λ1λ2=Δ.\lambda_{1,2} = \frac{\tau}{2} \pm \sqrt{\frac{\tau^2}{4} - \Delta},\qquad \lambda_1 + \lambda_2 = \tau,\qquad \lambda_1\lambda_2 = \Delta.
정리 11.7 (2×2 선형 연립의 분류) Δ≠0\Delta \ne 0이면 원점은 유일한 평형점이고
  • Δ<0\Delta \lt 0: 고유값이 부호가 다른 실수 → 안장.
  • Δ>0\Delta \gt 0, τ2>4Δ\tau^2 \gt 4\Delta: 같은 부호의 실수 → 마디(τ<0\tau \lt 0 안정, τ>0\tau \gt 0 불안정).
  • Δ>0\Delta \gt 0, τ2<4Δ\tau^2 \lt 4\Delta: 복소수 → 나선(τ<0\tau \lt 0 안정, τ>0\tau \gt 0 불안정), τ=0\tau = 0이면 중심.
  • τ2=4Δ\tau^2 = 4\Delta: 중복 고유값 → 퇴화 마디 또는 별 마디.
특히 원점이 점근 안정(모든 해가 0으로)일 필요충분조건은 τ<0\tau \lt 0이고 Δ>0\Delta \gt 0이다. Δ=0\Delta = 0이면 고유값 0이 있어 평형점이 직선 하나를 이룬다.
τ Δ Δ = τ²/4 퇴화·별 마디 안정 나선 불안정 나선 안정 마디 불안정 마디 안장 (Δ < 0) 중심 (τ = 0) ← 안정 (τ < 0) 불안정 (τ > 0) →
그림 11-2. 대각합–행렬식 평면. 가로축 아래(Δ<0\Delta \lt 0)는 안장, 위쪽은 포물선 Δ=τ2/4\Delta = \tau^2/4를 경계로 안쪽이 나선, 바깥쪽이 마디다. 왼쪽 절반(τ<0\tau \lt 0)이 안정이고, 세로축의 양수 부분이 중심이다. 넓은 영역(안장·마디·나선)에 있는 행렬은 조금 흔들어도 종류가 그대로지만, 경계(포물선·세로축)에 있는 퇴화 마디와 중심은 아주 작은 변화로도 종류가 바뀐다.
고유값(τ, Δ) 위치평형점궤적 모양
실수, λ1<0<λ2\lambda_1 \lt 0 \lt \lambda_2Δ<0\Delta \lt 0안장(불안정)쌍곡선 모양, 안정 직선 하나만 들어감
실수, 둘 다 음Δ>0, τ<0, τ2>4Δ\Delta \gt 0,\ \tau \lt 0,\ \tau^2 \gt 4\Delta안정 마디느린 고유벡터에 접하며 들어감
실수, 둘 다 양Δ>0, τ>0, τ2>4Δ\Delta \gt 0,\ \tau \gt 0,\ \tau^2 \gt 4\Delta불안정 마디느린 고유벡터에 접하며 떠남
α±iβ, α<0\alpha \pm i\beta,\ \alpha \lt 0τ<0, τ2<4Δ\tau \lt 0,\ \tau^2 \lt 4\Delta안정 나선감겨 듦, 주기 2π/β2\pi/\beta
α±iβ, α>0\alpha \pm i\beta,\ \alpha \gt 0τ>0, τ2<4Δ\tau \gt 0,\ \tau^2 \lt 4\Delta불안정 나선풀려 나감
±iβ\pm i\betaτ=0, Δ>0\tau = 0,\ \Delta \gt 0중심(안정, 점근 안정 아님)닫힌 타원
중근 λ\lambdaτ2=4Δ\tau^2 = 4\Delta퇴화 마디 / 별 마디한 방향에 접함 / 직선 다발
예제 11.7 (지도로 바로 판정) 세 행렬의 원점을 분류하라.
  1. [1−32−2]\begin{bmatrix}1 & -3\\ 2 & -2\end{bmatrix}: τ=−1\tau = -1, Δ=−2+6=4\Delta = -2 + 6 = 4, τ2−4Δ=−15<0\tau^2 - 4\Delta = -15 \lt 0 → 안정 나선(λ=−12±152i\lambda = -\tfrac12 \pm \tfrac{\sqrt{15}}{2}i). a21=2>0a_{21} = 2 \gt 0이라 반시계.
  2. [2112]\begin{bmatrix}2 & 1\\ 1 & 2\end{bmatrix}: τ=4\tau = 4, Δ=3\Delta = 3, τ2−4Δ=4>0\tau^2 - 4\Delta = 4 \gt 0 → 불안정 마디(λ=3,1\lambda = 3, 1).
  3. [123−1]\begin{bmatrix}1 & 2\\ 3 & -1\end{bmatrix}: Δ=−1−6=−7<0\Delta = -1 - 6 = -7 \lt 0 → 안장. 고유값을 구할 필요도 없습니다.

용수철 x′′+cx′+kx=0x'' + cx' + kx = 0의 동반 행렬은 τ=−c\tau = -c, Δ=k\Delta = k입니다. 그러니 7장의 감쇠 세 영역(과감쇠·임계·부족 감쇠)은 이 지도의 왼쪽 절반에서 포물선 아래·위·포물선 위에 정확히 대응합니다. 아래 시뮬레이터 오른쪽 지도에서 점을 끌면 행렬이 바로 그 동반 행렬 [01−Δτ]\begin{bmatrix}0 & 1\\ -\Delta & \tau\end{bmatrix}로 바뀝니다.

SIMULATOR

행렬 성분 ↔ 대각합–행렬식 평면

위상 초상
(τ, Δ) 점을 끌어 보세요
τ = tr A—
Δ = det A—
τ² − 4Δ—
λ—
종류—
해볼 것: ① a₁₁과 a₂₂를 함께 올리면 τ만 커집니다. 점이 오른쪽으로 가며 안정 나선이 중심을 지나 불안정 나선이 됩니다. ② a₁₂·a₂₁의 부호를 같게 만들면 Δ가 줄어 점이 아래로 내려가고 결국 안장이 됩니다. ③ 지도에서 점을 포물선 바로 위에 올려 보세요. 나선과 마디의 경계에서 퇴화 마디가 됩니다. 모델: 지도를 끌면 행렬은 동반 행렬 [[0, 1], [−Δ, τ]]로 바뀝니다. 궤적은 원 위 16개 점에서 앞뒤로 RK4.

행렬 지수 eAt

고유벡터를 찾지 않고 한 번에

1차원에서는 x′=axx' = ax의 해가 x=eatx0x = e^{at}x_0 한 줄이었습니다. 경우를 나누지 않고 x=eAtx0\mathbf x = e^{At}\mathbf x_0이라고 쓸 수 있다면 편하겠지요. 그런데 "ee의 행렬 제곱"이란 무엇일까요?

CalculusBook 테일러 장의 ex=∑xk/k!e^{x} = \sum x^k/k!에 xx 대신 행렬 AtAt를 넣습니다. 행렬의 거듭제곱과 덧셈은 정의되어 있으니 이 급수는 뜻이 있습니다.

정의 11.3 (행렬 지수(matrix exponential)) 정사각 행렬 AA에 대해
eAt=I+At+(At)22!+(At)33!+⋯=∑k=0∞Aktkk!.e^{At} = I + At + \frac{(At)^2}{2!} + \frac{(At)^3}{3!} + \cdots = \sum_{k=0}^{\infty}\frac{A^k t^k}{k!}.
각 항의 크기가 ∥A∥k∣t∣k/k!\|A\|^k|t|^k/k! 이하이므로 이 급수는 모든 AA와 tt에서 수렴한다(비교 판정, ∑∥A∥k∣t∣k/k!=e∥A∥∣t∣\sum \|A\|^k |t|^k / k! = e^{\|A\||t|}).
정리 11.8 (행렬 지수의 성질)
  1. ddteAt=AeAt\dfrac{d}{dt}e^{At} = Ae^{At}, eA⋅0=Ie^{A\cdot 0} = I. 그래서 x(t)=eAtx0\mathbf x(t) = e^{At}\mathbf x_0이 x′=Ax\mathbf x' = A\mathbf x, x(0)=x0\mathbf x(0) = \mathbf x_0의 유일한 해이고, eAte^{At}는 Φ(0)=I\Phi(0) = I인 기본 행렬이다.
  2. eA(t+s)=eAteAse^{A(t+s)} = e^{At}e^{As}, (eAt)−1=e−At(e^{At})^{-1} = e^{-At}, det⁡eAt=e(tr⁡A)t\det e^{At} = e^{(\operatorname{tr}A)t}.
  3. AB=BAAB = BA이면 e(A+B)t=eAteBte^{(A+B)t} = e^{At}e^{Bt}. 교환하지 않으면 일반적으로 성립하지 않는다.

(1)의 증명. 급수를 항별로 미분하면(멱급수는 수렴 범위 안에서 항별 미분 가능) ∑k≥1Aktk−1/(k−1)!=A∑j≥0Ajtj/j!\sum_{k\ge1} A^k t^{k-1}/(k-1)! = A\sum_{j\ge0}A^j t^j/j!. ∎

계산은 AA의 모양에 따라 세 가지 길이 있습니다.

정리 11.9 (2×2 행렬 지수 공식) τ=tr⁡A\tau = \operatorname{tr}A, Δ=det⁡A\Delta = \det A, q=τ2/4−Δq = \tau^2/4 - \Delta, B=A−τ2IB = A - \tfrac{\tau}{2}I라 하면
eAt=eτt/2[C(t) I+S(t) B],(C,S)={(cosh⁡q t, sinh⁡q tq)q>0(1, t)q=0(cos⁡−q t, sin⁡−q t−q)q<0.e^{At} = e^{\tau t/2}\Bigl[C(t)\,I + S(t)\,B\Bigr],\qquad (C, S) = \begin{cases}\bigl(\cosh\sqrt q\,t,\ \tfrac{\sinh\sqrt q\,t}{\sqrt q}\bigr) & q \gt 0\\ (1,\ t) & q = 0\\ \bigl(\cos\sqrt{-q}\,t,\ \tfrac{\sin\sqrt{-q}\,t}{\sqrt{-q}}\bigr) & q \lt 0.\end{cases}

증명. BB는 대각합이 0이고 행렬식이 Δ−τ2/4=−q\Delta - \tau^2/4 = -q이므로, 케일리–해밀턴 정리 B2−(tr⁡B)B+(det⁡B)I=0B^2 - (\operatorname{tr}B)B + (\det B)I = 0에서 B2=qIB^2 = qI. 그러면 B2m=qmIB^{2m} = q^m I, B2m+1=qmBB^{2m+1} = q^m B이고 eBte^{Bt}의 급수가 CI+SBC I + S B로 정리된다. τ2I\tfrac{\tau}{2}I는 BB와 교환하므로 eAt=eτt/2eBte^{At} = e^{\tau t/2}e^{Bt}. ∎

예제 11.8 (세 가지 길로)
  1. A=[2102]=2I+NA = \begin{bmatrix}2 & 1\\ 0 & 2\end{bmatrix} = 2I + N, N=[0100]N = \begin{bmatrix}0 & 1\\ 0 & 0\end{bmatrix}, N2=0N^2 = 0. eAt=e2t[1t01]e^{At} = e^{2t}\begin{bmatrix}1 & t\\ 0 & 1\end{bmatrix}.
  2. 같은 행렬에 정리 11.9: τ=4\tau = 4, Δ=4\Delta = 4, q=0q = 0, B=NB = N. eAt=e2t(I+tN)e^{At} = e^{2t}(I + tN). 같습니다.
  3. A=[1141]A = \begin{bmatrix}1 & 1\\ 4 & 1\end{bmatrix}(예제 11.2): τ=2\tau = 2, Δ=−3\Delta = -3, q=4q = 4, q=2\sqrt q = 2. eAt=et[cosh⁡2t I+12sinh⁡2t[0140]]e^{At} = e^{t}\bigl[\cosh 2t\, I + \tfrac12\sinh 2t\begin{bmatrix}0 & 1\\ 4 & 0\end{bmatrix}\bigr]. x0=(2,0)\mathbf x_0 = (2, 0)에 곱하면(첫 열의 두 배) x=et(2cosh⁡2t, 4sinh⁡2t)=(e3t+e−t, 2e3t−2e−t)\mathbf x = e^{t}(2\cosh 2t,\ 4\sinh 2t) = (e^{3t} + e^{-t},\ 2e^{3t} - 2e^{-t}). 예제 11.2와 같습니다.

급수 정의는 개념적으로는 깔끔하지만 계산에는 함정이 있습니다. ∥A∥t\|A\|t가 크면 k≈∥A∥tk \approx \|A\|t 근처의 항들이 엄청나게 커졌다가 서로 상쇄되어야 하므로, 몇 항에서 자르면 엉뚱한 답이 나옵니다. 실제 소프트웨어는 eAt=(eAt/2m)2me^{At} = (e^{At/2^m})^{2^m}처럼 시간을 잘게 나눈 뒤 제곱을 반복하는 방법을 씁니다. 더 깊은 이야기는 LinearBook 동역학 장의 행렬 지수 절에 있습니다.

SIMULATOR

eAt 급수: 몇 항이면 충분할까

주황 = eAsx₀ (정확), 청록 = 급수 N항까지
항의 크기 ‖Aktk/k!‖ (로그 눈금)
eAt—
SN(t)—
오차 ‖SN − eAt‖—
해볼 것: ① 회전 행렬에서 t = 3, N = 4이면 청록 곡선이 원을 벗어나 엉뚱한 데로 갑니다. N을 늘리면 곡선이 원에 점점 길게 붙습니다. ② t를 키우면 막대그래프의 봉우리(가장 큰 항)가 k ≈ t 근처로 옮겨 가고, 그 너머까지 더해야 정확해집니다. ③ '멱영'에서는 k ≥ 2 항이 모두 0이라 N = 1부터 정확합니다. 퇴화 행렬도 eλt(I + tN)이라 꼴은 단순하지만 급수로는 많은 항이 필요합니다. 모델: x₀ = (1.5, 0)을 끌 수 있고, 정확한 값은 정리 11.9의 공식입니다.

비동차 연립: 상수 변화 공식

한 방에 난로를 켜면

예제 11.3의 두 방 가운데 방 1에 일정한 출력의 난로를 켜서 T1′=−2T1+T2+3T_1' = -2T_1 + T_2 + 3이 되었습니다. 두 방은 결국 몇 도에서 멈출까요? 그리고 그 사이의 과정은?

3장에서 y′=ay+gy' = ay + g를 적분 인자 e−ate^{-at}로 풀었습니다. 행렬에서도 똑같이 e−Ate^{-At}를 곱합니다. x′−Ax=g\mathbf x' - A\mathbf x = \mathbf g에 e−Ate^{-At}를 곱하면 좌변이 (e−Atx)′\bigl(e^{-At}\mathbf x\bigr)'이 되고(정리 11.8과 곱의 미분), 양변을 00부터 tt까지 적분하면 다음을 얻습니다.

정리 11.10 (상수 변화 공식, 듀아멜 원리) x′=Ax+g(t)\mathbf x' = A\mathbf x + \mathbf g(t), x(0)=x0\mathbf x(0) = \mathbf x_0의 해는
x(t)=eAtx0+∫0teA(t−s) g(s) ds.\mathbf x(t) = e^{At}\mathbf x_0 + \int_0^t e^{A(t-s)}\,\mathbf g(s)\,ds.
첫 항은 초기 상태가 자유롭게 진화한 것(자유 응답), 둘째 항은 각 시각 ss에 들어온 입력 g(s) ds\mathbf g(s)\,ds가 남은 시간 t−st - s 동안 진화한 것을 모두 더한 것(강제 응답)이다. 10장의 합성곱과 같은 구조다. AA가 시간에 따라 변하면 eAte^{At} 대신 기본 행렬 Φ\Phi를 써서 xp=Φ(t)∫Φ(s)−1g(s) ds\mathbf x_p = \Phi(t)\int\Phi(s)^{-1}\mathbf g(s)\,ds이고, 8장 매개변수 변환법의 연립판이다.

입력이 상수 g\mathbf g이고 AA가 가역이면 계산이 더 쉽습니다. 상수 특수해 xp\mathbf x_p를 찾으면 0=Axp+g\mathbf 0 = A\mathbf x_p + \mathbf g, 즉 xp=−A−1g\mathbf x_p = -A^{-1}\mathbf g이고, AA가 안정(τ<0, Δ>0\tau \lt 0,\ \Delta \gt 0)이면 모든 해가 이 정상 상태로 갑니다.

예제 11.9 (난로 켠 두 방) x′=[−211−2]x+[30]\mathbf x' = \begin{bmatrix}-2 & 1\\ 1 & -2\end{bmatrix}\mathbf x + \begin{bmatrix}3\\ 0\end{bmatrix}, x(0)=0\mathbf x(0) = \mathbf 0.
  1. A−1=13[−2−1−1−2]A^{-1} = \tfrac13\begin{bmatrix}-2 & -1\\ -1 & -2\end{bmatrix}, xp=−A−1(3,0)=(2,1)\mathbf x_p = -A^{-1}(3, 0) = (2, 1). 정상 상태에서 방 1은 2도, 방 2는 1도 따뜻합니다.
  2. x=(2,1)+c1e−t(1,1)+c2e−3t(1,−1)\mathbf x = (2, 1) + c_1 e^{-t}(1, 1) + c_2 e^{-3t}(1, -1). x(0)=0\mathbf x(0) = \mathbf 0에서 c1+c2=−2c_1 + c_2 = -2, c1−c2=−1c_1 - c_2 = -1, 즉 c1=−32c_1 = -\tfrac32, c2=−12c_2 = -\tfrac12.
  3. x1=2−32e−t−12e−3tx_1 = 2 - \tfrac32 e^{-t} - \tfrac12 e^{-3t}, x2=1−32e−t+12e−3tx_2 = 1 - \tfrac32 e^{-t} + \tfrac12 e^{-3t}. t=1t = 1에서 (1.4233, 0.4731)(1.4233,\ 0.4731)(RK4 일치).
예제 11.10 (공진을 상수 변화 공식으로) x′′+x=cos⁡tx'' + x = \cos t, x(0)=x′(0)=0x(0) = x'(0) = 0.
  1. 연립으로 A=[01−10]A = \begin{bmatrix}0 & 1\\ -1 & 0\end{bmatrix}, g=(0,cos⁡t)\mathbf g = (0, \cos t). 위에서 본 대로 eA(t−s)=[cos⁡(t−s)sin⁡(t−s)−sin⁡(t−s)cos⁡(t−s)]e^{A(t-s)} = \begin{bmatrix}\cos(t-s) & \sin(t-s)\\ -\sin(t-s) & \cos(t-s)\end{bmatrix}.
  2. 첫 성분: x(t)=∫0tsin⁡(t−s)cos⁡s ds=12∫0t[sin⁡t+sin⁡(t−2s)]ds=12tsin⁡tx(t) = \int_0^t \sin(t - s)\cos s\,ds = \tfrac12\int_0^t\bigl[\sin t + \sin(t - 2s)\bigr]ds = \tfrac12 t\sin t. (둘째 항의 적분은 0.)
  3. 8장의 공진 해 12tsin⁡t\tfrac12 t\sin t가 미정계수 없이 나왔습니다. t=5t = 5에서 −2.3973-2.3973(RK4 일치).

응용 1: 이어진 두 탱크

오염된 탱크를 맑은 물로 씻어 내기

물 100 L씩 든 탱크 두 개가 관 두 개로 이어져 있습니다. 탱크 1에 소금 50 kg이 녹아 있고 탱크 2는 맑습니다. 탱크 1로 맑은 물이 분당 3 L 들어오고, 탱크 1 → 2로 분당 4 L, 2 → 1로 분당 1 L가 흐르며, 탱크 2에서 분당 3 L가 빠져나갑니다. 탱크 2의 소금은 언제 가장 많아지고, 그 양은 얼마일까요?

탱크 1 x₁ kg / 100 L 탱크 2 x₂ kg / 100 L 맑은 물 3 L/분 4 L/분, 농도 x₁/100 1 L/분, 농도 x₂/100 3 L/분 배출
그림 11-3. 두 탱크의 흐름. 각 탱크로 들어오는 물과 나가는 물의 양이 같아서(탱크 1: 3 + 1 = 4, 탱크 2: 4 = 1 + 3) 부피가 100 L로 일정하다. 소금은 "들어오는 양 − 나가는 양"으로 변하고, 관을 타고 나가는 소금의 양은 유량 × 그 탱크의 농도다.

소금의 변화율은 (들어오는 소금) − (나가는 소금)입니다(3장 혼합 탱크의 연립판). 탱크 1은 탱크 2에서 1⋅x2/1001\cdot x_2/100을 받고 4⋅x1/1004\cdot x_1/100을 보냅니다. 탱크 2는 4x1/1004x_1/100을 받고 (1+3)x2/100(1 + 3)x_2/100을 내보냅니다.

[x1x2]′=[−0.040.010.04−0.04][x1x2],x(0)=[500].\begin{bmatrix}x_1\\ x_2\end{bmatrix}' = \begin{bmatrix}-0.04 & 0.01\\ 0.04 & -0.04\end{bmatrix}\begin{bmatrix}x_1\\ x_2\end{bmatrix},\qquad \mathbf x(0) = \begin{bmatrix}50\\ 0\end{bmatrix}.
예제 11.11 (두 탱크)
  1. τ=−0.08\tau = -0.08, Δ=0.0016−0.0004=0.0012\Delta = 0.0016 - 0.0004 = 0.0012, q=τ2/4−Δ=0.0004q = \tau^2/4 - \Delta = 0.0004. λ=−0.04±0.02\lambda = -0.04 \pm 0.02, 즉 λ1=−0.02\lambda_1 = -0.02, λ2=−0.06\lambda_2 = -0.06(분⁻¹).
  2. λ1\lambda_1: [−0.020.010.04−0.02]v=0\begin{bmatrix}-0.02 & 0.01\\ 0.04 & -0.02\end{bmatrix}\mathbf v = \mathbf 0 → v1=(1,2)\mathbf v_1 = (1, 2). λ2\lambda_2: v2=(1,−2)\mathbf v_2 = (1, -2).
  3. c1+c2=50c_1 + c_2 = 50, 2c1−2c2=02c_1 - 2c_2 = 0 → c1=c2=25c_1 = c_2 = 25. x1=25(e−0.02t+e−0.06t)x_1 = 25(e^{-0.02t} + e^{-0.06t}), x2=50(e−0.02t−e−0.06t)x_2 = 50(e^{-0.02t} - e^{-0.06t}).
  4. x2′=0x_2' = 0: 0.02e−0.02t=0.06e−0.06t0.02e^{-0.02t} = 0.06e^{-0.06t} → e0.04t=3e^{0.04t} = 3 → t=ln⁡3/0.04≈27.5t = \ln 3/0.04 \approx 27.5분. 그때 x2=50(3−1/2−3−3/2)≈19.2x_2 = 50(3^{-1/2} - 3^{-3/2}) \approx 19.2 kg. RK4 적분도 같은 값을 줍니다.

두 시상수는 1/0.02=501/0.02 = 50분과 1/0.06≈16.71/0.06 \approx 16.7분입니다. 빠른 모드 (1,−2)(1, -2)는 "두 탱크 사이에 소금이 고르지 않게 나뉜 정도"이고 먼저 사라집니다. 그 뒤로는 탱크 2에 탱크 1의 두 배 소금이 든 채(v1=(1,2)\mathbf v_1 = (1, 2)) 함께 50분 시상수로 씻겨 나갑니다. 맑은 물 대신 농도 cc인 소금물을 넣으면 g=(3c,0)\mathbf g = (3c, 0)인 비동차 연립이 되고, 정상 상태는 −A−1g=(100c,100c)-A^{-1}\mathbf g = (100c, 100c), 즉 두 탱크 모두 들어오는 물과 같은 농도입니다.

SIMULATOR

두 탱크의 소금 농도

농도 (kg/L): 주황 = 탱크 1, 청록 = 탱크 2
고유값 (분⁻¹)—
시상수 (분)—
탱크 2 최대—
t, 농도—
해볼 것: ① 기본값에서 탱크 2의 최대가 27.5분, 0.192 kg/L(= 19.2 kg)인지 확인하세요. ② 역류를 0으로 하면 고유값이 하나로 겹칩니다(λ = −f/100 중근). 탱크 2의 농도가 teλt 꼴이 되는 퇴화 마디입니다. ③ 유입수 농도 c를 올리면 두 곡선이 모두 c로 수렴합니다. 정상 상태 −A−1g입니다. 모델: 두 탱크 모두 100 L로 일정하고 순간적으로 완전히 섞인다고 가정합니다. 1 → 2 유량은 f + 역류, 배출은 f.

응용 2: 결합 진동자와 정규 모드

한 진자를 밀었는데 다른 진자가 흔들린다

똑같은 진자 두 개를 약한 용수철로 이어 놓고 한쪽만 당겼다 놓으면, 처음 진자의 흔들림이 점점 줄고 옆 진자가 흔들리기 시작합니다. 얼마 뒤에는 처음 진자가 거의 멈추고 에너지가 모두 옆으로 넘어갔다가, 다시 돌아옵니다. 이 주고받음의 주기는 무엇이 정할까요?

진자의 각을 θ1,θ2\theta_1, \theta_2, 홀로 흔들릴 때의 각진동수를 ω0=g/L\omega_0 = \sqrt{g/L}, 용수철 결합의 세기를 κ\kappa라 하면, 작은 각 근사(sin⁡θ≈θ\sin\theta \approx \theta)에서

θ1′′=−ω02θ1−κ(θ1−θ2),θ2′′=−ω02θ2−κ(θ2−θ1)⟺θ′′=−Kθ,  K=[ω02+κ−κ−κω02+κ].\theta_1'' = -\omega_0^2\theta_1 - \kappa(\theta_1 - \theta_2),\quad \theta_2'' = -\omega_0^2\theta_2 - \kappa(\theta_2 - \theta_1)\quad\Longleftrightarrow\quad \boldsymbol\theta'' = -K\boldsymbol\theta,\ \ K = \begin{bmatrix}\omega_0^2 + \kappa & -\kappa\\ -\kappa & \omega_0^2 + \kappa\end{bmatrix}.

4×4 1계 연립으로 바꿀 수도 있지만, 2계 그대로 θ=vcos⁡ωt\boldsymbol\theta = \mathbf v\cos\omega t를 대입하면 더 빠릅니다. −ω2v=−Kv-\omega^2\mathbf v = -K\mathbf v, 즉 Kv=ω2vK\mathbf v = \omega^2\mathbf v. 대칭 행렬 KK의 고유값이 진동수의 제곱입니다.

정의 11.4·정리 11.11 (정규 모드(normal mode)) x′′=−Kx\mathbf x'' = -K\mathbf x(KK는 양의 정부호 대칭)에서 Kvj=ωj2vjK\mathbf v_j = \omega_j^2\mathbf v_j이면 x=vjcos⁡(ωjt−ϕ)\mathbf x = \mathbf v_j\cos(\omega_j t - \phi)는 모든 성분이 같은 진동수로 함께 흔들리는 해이고, 이것을 정규 모드라 한다. 일반해는 정규 모드의 중첩 x=∑jAjvjcos⁡(ωjt−ϕj)\mathbf x = \sum_j A_j\mathbf v_j\cos(\omega_j t - \phi_j)이다. 1계 연립으로 보면 고유값 ±iωj\pm i\omega_j 쌍이다. 결합 진자에서는
ω1=ω0, v1=(1,1)  (같은 방향),ω2=ω02+2κ, v2=(1,−1)  (반대 방향).\omega_1 = \omega_0,\ \mathbf v_1 = (1, 1)\ \ (\text{같은 방향}),\qquad \omega_2 = \sqrt{\omega_0^2 + 2\kappa},\ \mathbf v_2 = (1, -1)\ \ (\text{반대 방향}).
모드 1: v = (1, 1), ω₁ = ω₀ 용수철이 늘지 않는다 모드 2: v = (1, −1), ω₂ = √(ω₀² + 2κ) 용수철이 양쪽에서 두 배로 늘었다 줄었다
그림 11-4. 결합 진자의 두 정규 모드. 같은 방향으로 흔들리면 용수철 길이가 변하지 않아 각자 ω0\omega_0로 흔들리고, 반대로 흔들리면 용수철이 복원력을 더해 진동수가 ω02+2κ\sqrt{\omega_0^2 + 2\kappa}로 올라간다.

한쪽만 θ1(0)=a\theta_1(0) = a로 당겨 놓으면 (a,0)=a2(1,1)+a2(1,−1)(a, 0) = \tfrac a2(1, 1) + \tfrac a2(1, -1)이므로 두 모드가 반씩 섞입니다.

θ1=a2(cos⁡ω1t+cos⁡ω2t)=acos⁡(ω2−ω1)t2cos⁡(ω1+ω2)t2,θ2=asin⁡(ω2−ω1)t2sin⁡(ω1+ω2)t2.\theta_1 = \tfrac a2(\cos\omega_1 t + \cos\omega_2 t) = a\cos\tfrac{(\omega_2 - \omega_1)t}{2}\cos\tfrac{(\omega_1 + \omega_2)t}{2},\qquad \theta_2 = a\sin\tfrac{(\omega_2 - \omega_1)t}{2}\sin\tfrac{(\omega_1 + \omega_2)t}{2}.
빠른 진동 cos⁡ω1+ω22t\cos\frac{\omega_1 + \omega_2}{2}t의 진폭이 느리게 cos⁡ω2−ω12t\cos\frac{\omega_2 - \omega_1}{2}t로 출렁인다. 8장의 맥놀이와 같은 곱셈 공식이다. 에너지가 처음으로 모두 진자 2로 넘어가는 시각은 T=π/(ω2−ω1)T = \pi/(\omega_2 - \omega_1).
예제 11.12 (에너지 주고받기) ω0=1\omega_0 = 1 rad/s, κ=0.1\kappa = 0.1 s⁻²이면 ω2=1.2≈1.0954\omega_2 = \sqrt{1.2} \approx 1.0954, ω2−ω1≈0.0954\omega_2 - \omega_1 \approx 0.0954이고 T=π/0.0954≈32.9T = \pi/0.0954 \approx 32.9초. 진자 자체의 주기(약 6.3초)의 다섯 배가 넘습니다. 결합이 약할수록 두 진동수가 가까워지고 주고받음은 느려집니다. RK4로 적분하면 t=32.9t = 32.9초에 θ1\theta_1은 거의 0, θ2\theta_2가 진폭 전부를 가집니다.

자유도가 nn인 구조물도 똑같습니다. Mx′′+Kx=0M\mathbf x'' + K\mathbf x = \mathbf 0의 고유값 문제 Kv=ω2MvK\mathbf v = \omega^2 M\mathbf v가 nn개의 정규 모드를 주고, 건물·다리·자동차 차체의 모드 해석, 분자의 진동 스펙트럼(적외선 분광)이 모두 이 계산입니다. 대칭 행렬이라 고유벡터가 서로 직교한다는 사실(LinearBook 대칭 행렬 장)이 모드를 서로 독립으로 만들어 줍니다.

SIMULATOR

결합 진자: 정규 모드와 에너지 주고받기

θ₁(t) 주황, θ₂(t) 청록
처음 상태
ω₁, ω₂ (rad/s)—
주고받기 T = π/(ω₂ − ω₁)—
t—
진자 1의 에너지 몫—
해볼 것: ① '하나만'에서 t ≈ 32.9초에 진자 1이 멈추고 진자 2가 다 받는지 보세요(κ = 0.1). ② '모드 1'이나 '모드 2'로 출발하면 에너지가 오가지 않습니다. 정규 모드는 그 자체로 해이기 때문입니다. ③ κ를 키우면 T가 짧아집니다. κ = 1에서는 ω₂ = √3이라 T ≈ 4.3초. 모델: ω₀ = 1 rad/s, 작은 각 근사, 감쇠 없음. 정규 모드 공식으로 정확히 계산합니다. 에너지 몫은 용수철 에너지를 뺀 각 진자의 ½θ′² + ½ω₀²θ²로 셉니다.

이 도구가 쓰이는 곳

"상태 벡터 + 행렬"이라는 틀은 미분방정식을 컴퓨터와 선형대수의 언어로 옮겨 줍니다. 공학 시스템의 상당수가 이 틀로 설계되고 해석됩니다.

상태 공간 제어 로봇 팔, 드론, 전력 변환기 같은 시스템은 상태 방정식 x′=Ax+Bu\mathbf x' = A\mathbf x + B\mathbf u로 모델링됩니다. 여기서 u\mathbf u는 모터 전압 같은 제어 입력입니다. 측정한 상태로 u=−Kx\mathbf u = -K\mathbf x를 정하면 닫힌 계는 x′=(A−BK)x\mathbf x' = (A - BK)\mathbf x가 되고, 제어 설계는 결국 A−BKA - BK의 고유값을 대각합–행렬식 지도의 왼쪽(안정 영역), 원하는 감쇠의 자리로 옮기는 일입니다. 이 장의 분류표가 그대로 설계 도구가 됩니다.

핵심 정리

  1. nn계 선형 방정식은 상태 벡터 (y,y′,…,y(n−1))(y, y', \dots, y^{(n-1)})로 1계 연립 x′=Ax+g\mathbf x' = A\mathbf x + \mathbf g가 된다. 동반 행렬의 고유값 = 특성근. 해는 위상 평면의 궤적이고, 서로 교차하지 않는다.
  2. x=eλtv\mathbf x = e^{\lambda t}\mathbf v를 넣으면 Av=λvA\mathbf v = \lambda\mathbf v. 일차독립 고유벡터가 nn개면 일반해는 ∑cjeλjtvj\sum c_j e^{\lambda_j t}\mathbf v_j. 론스키안은 W(t)=W(0)e(tr⁡A)tW(t) = W(0)e^{(\operatorname{tr}A)t}.
  3. 서로 다른 실 고유값: 같은 부호면 마디(느린 고유벡터에 접함), 다른 부호면 안장(안정 직선 하나만 들어감).
  4. 복소 고유값 α±iβ\alpha \pm i\beta: eλtve^{\lambda t}\mathbf v의 실수부·허수부가 실수 해. α<0\alpha \lt 0 안정 나선, α>0\alpha \gt 0 불안정 나선, α=0\alpha = 0 중심. 도는 방향은 a21a_{21}의 부호.
  5. 중복 고유값에 고유벡터가 하나뿐이면 (A−λI)w=v(A - \lambda I)\mathbf w = \mathbf v인 일반화 고유벡터로 eλt(tv+w)e^{\lambda t}(t\mathbf v + \mathbf w). 퇴화 마디는 마디와 나선의 경계.
  6. 2×2는 τ=tr⁡A\tau = \operatorname{tr}A, Δ=det⁡A\Delta = \det A로 분류된다. Δ<0\Delta \lt 0 안장, τ2>4Δ\tau^2 \gt 4\Delta 마디, τ2<4Δ\tau^2 \lt 4\Delta 나선, τ=0\tau = 0 중심. 점근 안정 ⇔ τ<0, Δ>0\tau \lt 0,\ \Delta \gt 0.
  7. eAt=∑(At)k/k!e^{At} = \sum (At)^k/k!는 Φ(0)=I\Phi(0) = I인 기본 행렬이고 x=eAtx0\mathbf x = e^{At}\mathbf x_0. 대각화, λI+N\lambda I + N 분해, 2×2 공식 eτt/2[CI+SB]e^{\tau t/2}[CI + SB]로 계산한다.
  8. 비동차: x=eAtx0+∫0teA(t−s)g(s) ds\mathbf x = e^{At}\mathbf x_0 + \int_0^t e^{A(t-s)}\mathbf g(s)\,ds. 상수 입력이면 정상 상태 −A−1g-A^{-1}\mathbf g. 결합 진동자 x′′=−Kx\mathbf x'' = -K\mathbf x는 KK의 고유벡터인 정규 모드로 풀리고, 두 모드가 섞이면 맥놀이로 에너지가 오간다.

확인 퀴즈

Q1. x′′+3x′+2x=0x'' + 3x' + 2x = 0을 x1=xx_1 = x, x2=x′x_2 = x'로 쓴 연립 x′=Ax\mathbf x' = A\mathbf x의 행렬 AA는?

x1′=x2x_1' = x_2, x2′=x′′=−2x1−3x2x_2' = x'' = -2x_1 - 3x_2. 고유값은 λ2+3λ+2=0\lambda^2 + 3\lambda + 2 = 0의 근 −1,−2-1, -2로 원래 특성근과 같다(안정 마디, 과감쇠).

Q2. A=[123−1]A = \begin{bmatrix}1 & 2\\ 3 & -1\end{bmatrix}일 때 x′=Ax\mathbf x' = A\mathbf x의 원점은?

Δ=−1−6=−7<0\Delta = -1 - 6 = -7 \lt 0이면 두 고유값의 곱이 음수라 부호가 다른 실수다. 대각합은 볼 필요도 없이 안장.

Q3. 대각합 τ=−2\tau = -2, 행렬식 Δ=5\Delta = 5인 2×2 행렬의 원점은?

τ2−4Δ=4−20=−16<0\tau^2 - 4\Delta = 4 - 20 = -16 \lt 0이라 복소 고유값 −1±2i-1 \pm 2i. 실수부가 음수이므로 안정 나선.

Q4. 고유값이 −1-1(고유벡터 v1\mathbf v_1)과 −5-5(고유벡터 v2\mathbf v_2)인 안정 마디에서, 대부분의 궤적은 원점에 들어갈 때 어느 방향에 접하는가?

e−5te^{-5t} 성분이 e−te^{-t}보다 훨씬 빨리 사라지므로 마지막에는 c1e−tv1c_1 e^{-t}\mathbf v_1만 남는다(정리 11.4). c1=0c_1 = 0인 해만 v2\mathbf v_2 직선을 따라 들어간다.

Q5. A=[0100]A = \begin{bmatrix}0 & 1\\ 0 & 0\end{bmatrix}일 때 eAte^{At}는?

A2=0A^2 = 0이라 급수가 I+AtI + At에서 끝난다. x′′=0x'' = 0의 해 x=x0+v0tx = x_0 + v_0 t를 행렬로 쓴 것이다.

Q6. tr⁡A=−1\operatorname{tr}A = -1인 2×2 연립에서, 위상 평면의 작은 넓이 조각은 해를 따라 흐르면서 넓이가 어떻게 되는가?

흐름 사상은 eAte^{At}이고 넓이 배율은 det⁡eAt=e(tr⁡A)t=e−t\det e^{At} = e^{(\operatorname{tr}A)t} = e^{-t}(정리 11.8, 아벨–리우빌). 고유값과 무관하게 대각합만으로 정해진다.

Q7. 결합 진자 ω0=1\omega_0 = 1, κ=0.5\kappa = 0.5의 정규 모드 진동수는?

같은 방향 모드는 용수철이 늘지 않아 ω1=ω0=1\omega_1 = \omega_0 = 1, 반대 방향 모드는 ω2=ω02+2κ=2\omega_2 = \sqrt{\omega_0^2 + 2\kappa} = \sqrt2.

Q8. x′=Ax+g\mathbf x' = A\mathbf x + \mathbf g에서 g\mathbf g가 상수이고 AA의 고유값이 모두 음의 실수부를 가지면 t→∞t \to \infty에서 x(t)\mathbf x(t)는?

상수 특수해는 Axp+g=0A\mathbf x_p + \mathbf g = \mathbf 0에서 xp=−A−1g\mathbf x_p = -A^{-1}\mathbf g. 동차 부분 eAt(x0−xp)e^{At}(\mathbf x_0 - \mathbf x_p)는 0으로 사라지므로 초기값과 무관하게 정상 상태로 간다.