Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Lecture 23. 미분방정식과 exp(At)

Differential Equations and exp(At) — 서술

dudt=Au\frac{d\vv{u}}{dt} = A\vv{u}

미분방정식인데 왜 선형대수 강의에서 다루는가.

이 식이 어려운 이유는 미분 때문이 아니다. 여러 개의 미지함수가 서로 얽혀 있기 때문이다. u1u_1 의 변화율이 u2u_2 에 매여 있고, u2u_2 의 변화율이 다시 u1u_1 에 매여 있다. 하나를 풀려면 다른 하나를 알아야 하는데, 다른 하나를 풀려면 처음 것을 알아야 한다.

그런데 얽힘을 풀어낼 수 있다면 어떻게 되는가. 각각이 dydt=λy\frac{dy}{dt} = \lambda y 꼴이 되고, 이 방정식의 해는 우리가 이미 안다.

얽힘을 푸는 도구가 고유벡터이다. 고유벡터 방향에서는 AA 가 그저 숫자 λ\lambda 이므로, 연립방정식이 독립적인 1차원 방정식 여러 개로 완전히 분리된다. 지난 강의에서 배운 대각화가 여기서 정확히 그 역할을 한다.


1. 한 개짜리는 이미 안다

미지함수가 하나뿐이면 얽힐 것이 없다.

dydt=λy\frac{dy}{dt} = \lambda y

변수를 분리해서 풀어 보자. 양변을 yy 로 나누고 dtdt 를 곱한다.

dyy=λdt\frac{dy}{y} = \lambda \, dt

양변을 적분하면 왼쪽이 로그이다.

lny=λt+Cy=eλt+C=eCeλt\ln|y| = \lambda t + C \qquad\Longrightarrow\qquad |y| = e^{\lambda t + C} = e^{C}e^{\lambda t}

eCe^{C} 는 그냥 상수이니 부호까지 흡수해 y0y_0 라 쓰자. t=0t = 0 을 넣으면 y(0)=y0y(0) = y_0 이므로 이 상수가 곧 초깃값이다.

y(t)=y(0)eλty(t) = y(0)\,e^{\lambda t}

검산은 미분 한 번이면 된다. ddt(y(0)eλt)=λy(0)eλt=λy\frac{d}{dt}\left(y(0)e^{\lambda t}\right) = \lambda\, y(0)e^{\lambda t} = \lambda y 이다.

두 개가 되면 얽힌다

이번 강의 내내 쓸 예제를 하나 세우자. 물통 둘이 관으로 이어져 있고 물이 오간다.

du1dt=u1+2u2,du2dt=      u12u2\frac{du_1}{dt} = -u_1 + 2u_2, \qquad \frac{du_2}{dt} = \;\;\;u_1 - 2u_2

u1u_1 에서 비율 1로 흘러 나가 u2u_2 로 가고, u2u_2 에서 비율 2로 흘러 나가 u1u_1 로 온다. 행렬로 묶으면 (1)의 꼴이다.

dudt=Au,A=[1212],u(0)=[10]\frac{d\vv{u}}{dt} = A\vv{u}, \qquad A = \begin{bmatrix} -1 & 2 \\ 1 & -2 \end{bmatrix}, \qquad \vv{u}(0) = \begin{bmatrix} 1 \\ 0 \end{bmatrix}
왼쪽이 모형이고 오른쪽이 답이다. 답을 먼저 보여 두고 유도해 나가겠다.

Figure 1:왼쪽이 모형이고 오른쪽이 답이다. 답을 먼저 보여 두고 유도해 나가겠다.

(6)의 두 식은 따로 풀 수가 없다. 첫 식을 풀려면 u2u_2 를 알아야 하고, u2u_2 를 알려면 둘째 식을 풀어야 하는데 그러려면 u1u_1 을 알아야 한다.

얽힘을 끊는 것이 이번 강의의 전부이다.


2. 해의 꼴을 추측하면 고윳값이 튀어나온다

1차원에서 답이 eλte^{\lambda t} 였으니, 다차원에서도 비슷하리라고 기대해 보자. 가장 단순한 추측은 이것이다. 모든 성분이 같은 eλte^{\lambda t} 로 자라되, 성분끼리의 비율은 변하지 않는다.

u(t)=eλtx(x 는 t 에 무관한 고정된 벡터)\vv{u}(t) = e^{\lambda t}\,\vv{x} \qquad (\vv{x} \text{ 는 } t \text{ 에 무관한 고정된 벡터})

이 추측을 (1)의 양변에 넣어 보자. 왼쪽은 미분이다. x\vv{x} 가 상수벡터이므로 성분마다 eλte^{\lambda t} 만 미분되고, 그 결과는 λeλt\lambda e^{\lambda t} 이다.

dudt=ddt(eλtx)=λeλtx\frac{d\vv{u}}{dt} = \frac{d}{dt}\left(e^{\lambda t}\vv{x}\right) = \lambda e^{\lambda t}\,\vv{x}

오른쪽은 행렬 곱이다. eλte^{\lambda t} 는 스칼라이므로 밖으로 빠져나온다.

Au=A(eλtx)=eλtAxA\vv{u} = A\left(e^{\lambda t}\vv{x}\right) = e^{\lambda t}\,A\vv{x}

둘이 같아야 하므로

λeλtx=eλtAx\lambda e^{\lambda t}\,\vv{x} = e^{\lambda t}\,A\vv{x}

이다. 여기서 eλte^{\lambda t}어떤 tt 에서도 0이 아니다. 지수함수는 0이 되는 법이 없기 때문이다. 그러므로 양변을 eλte^{\lambda t} 로 나눌 수 있다.

Ax=λxA\vv{x} = \lambda\vv{x}

λ\lambdax\vv{x} 가 짝을 이룰 때 (8)의 꼴을 순수해라 부르자. 고유쌍 하나가 순수해 하나를 준다.

앵커 예제의 고유쌍

(7)AA 로 실제로 구해 보자. L21의 검산 도구를 쓰면 특성방정식이 바로 나온다.

tr(A)=1+(2)=3,detA=(1)(2)(2)(1)=22=0\operatorname{tr}(A) = -1 + (-2) = -3, \qquad \det A = (-1)(-2) - (2)(1) = 2 - 2 = 0

2×22 \times 2 의 특성다항식은 λ2tr(A)λ+detA\lambda^2 - \operatorname{tr}(A)\lambda + \det A 였다.

λ2+3λ=0λ(λ+3)=0λ1=0,λ2=3\lambda^2 + 3\lambda = 0 \qquad\Longrightarrow\qquad \lambda(\lambda + 3) = 0 \qquad\Longrightarrow\qquad \lambda_1 = 0,\quad \lambda_2 = -3

detA=0\det A = 0 이었으니 고윳값 하나가 0인 것은 예고된 일이었다. 고유벡터는 각각 영공간을 구하면 된다.

λ1=0:Ax=0    x1+2x2=0    x1=[21]\lambda_1 = 0:\quad A\vv{x} = \vv{0} \;\Longrightarrow\; -x_1 + 2x_2 = 0 \;\Longrightarrow\; \vv{x}_1 = \begin{bmatrix} 2 \\ 1 \end{bmatrix}
λ2=3:A+3I=[2211]    x1+x2=0    x2=[11]\lambda_2 = -3:\quad A + 3I = \begin{bmatrix} 2 & 2 \\ 1 & 1 \end{bmatrix} \;\Longrightarrow\; x_1 + x_2 = 0 \;\Longrightarrow\; \vv{x}_2 = \begin{bmatrix} 1 \\ -1 \end{bmatrix}

순수해가 둘 나왔다.

u=e0t[21]=[21],u=e3t[11]\vv{u} = e^{0 \cdot t}\begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 1 \end{bmatrix}, \qquad \vv{u} = e^{-3t}\begin{bmatrix} 1 \\ -1 \end{bmatrix}

3. 겹쳐 놓으면 일반해가 된다

순수해 둘을 얻었지만 초기조건 u(0)=(1,0)\vv{u}(0) = (1, 0) 을 만족하는 것은 하나도 없다. 그렇다면 둘을 섞으면 되지 않을까.

왜 섞어도 되는가

섞어도 되는 이유가 있다. (1)의 식이 선형이기 때문이다. u\vv{u}v\vv{v} 가 각각 해라 하고, 아무 상수 a,ba, b 로 섞은 것을 미분해 보자.

ddt(au+bv)=adudt+bdvdt=aAu+bAv=A(au+bv)\frac{d}{dt}\left(a\vv{u} + b\vv{v}\right) = a\frac{d\vv{u}}{dt} + b\frac{d\vv{v}}{dt} = aA\vv{u} + bA\vv{v} = A\left(a\vv{u} + b\vv{v}\right)

섞은 것도 같은 방정식을 만족한다. 곧 해집합이 벡터공간이다. L11에서 다룬 그대로이다. 그러므로 순수해들의 아무 선형결합이나 해가 된다.

u(t)=c1eλ1tx1+c2eλ2tx2++cneλntxn\vv{u}(t) = c_1 e^{\lambda_1 t}\vv{x}_1 + c_2 e^{\lambda_2 t}\vv{x}_2 + \cdots + c_n e^{\lambda_n t}\vv{x}_n

왜 이것이 모든 해인가

거꾸로 물어야 한다. (19)의 꼴로 쓸 수 없는 해가 있지는 않은가.

미분방정식의 해는 초깃값 u(0)\vv{u}(0) 하나로 완전히 결정된다. 그러니 아무 u(0)\vv{u}(0) 이나 주어졌을 때 그것을 맞출 cc 들이 늘 있기만 하면 된다. (19)t=0t = 0 을 넣으면 e0=1e^{0} = 1 이라 지수함수가 전부 사라진다.

u(0)=c1x1+c2x2++cnxn=Sc\vv{u}(0) = c_1\vv{x}_1 + c_2\vv{x}_2 + \cdots + c_n\vv{x}_n = S\vv{c}

여기서 SS 는 고유벡터를 열에 세운 L22의 그 행렬이다. 그러므로 조건은 하나이다.

Sc=u(0) 이 늘 풀린다S 가 가역독립인 고유벡터가 n 개S\vv{c} = \vv{u}(0) \text{ 이 늘 풀린다} \quad\Longleftrightarrow\quad S \text{ 가 가역} \quad\Longleftrightarrow\quad \text{독립인 고유벡터가 } n \text{ 개}

대각화가 되는 조건과 글자 그대로 같다. L22에서 AkA^k 를 다룰 때 필요했던 조건이 여기서도 똑같이 필요하다.

초기조건으로 c\vv{c} 를 정한다

(20)의 연립을 풀면 된다. 곧 c=S1u(0)\vv{c} = S^{-1}\vv{u}(0) 이다. L22의 번역 단계와 같은 일이다. 초기벡터를 고유기저의 좌표로 옮기는 것이다.

앵커 예제로 해 보자. u(0)=(1,0)\vv{u}(0) = (1, 0) 이므로

c1[21]+c2[11]=[10]{2c1+c2=1    c1c2=0c_1\begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2\begin{bmatrix} 1 \\ -1 \end{bmatrix} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} \qquad\Longleftrightarrow\qquad \begin{cases} 2c_1 + c_2 = 1 \\ \;\;c_1 - c_2 = 0 \end{cases}

아래 식에서 c1=c2c_1 = c_2 이고, 위 식에 넣으면 3c1=13c_1 = 1 이다.

c1=c2=13c_1 = c_2 = \tfrac13

답이 완성되었다.

u(t)=13[21]+13e3t[11]=[23+13e3t1313e3t]\vv{u}(t) = \frac13\begin{bmatrix} 2 \\ 1 \end{bmatrix} + \frac13 e^{-3t}\begin{bmatrix} 1 \\ -1 \end{bmatrix} = \begin{bmatrix} \tfrac23 + \tfrac13 e^{-3t} \\[2pt] \tfrac13 - \tfrac13 e^{-3t} \end{bmatrix}

t=0t = 0 을 넣으면 (1,0)(1, 0) 이고, tt \to \infty 이면 e3t0e^{-3t} \to 0 이라 (23,13)\left(\tfrac23, \tfrac13\right) 로 간다. Figure 1의 오른쪽 그림이 이 식이다.

총량이 보존되는 이유

(24)의 두 성분을 더하면 e3te^{-3t} 가 상쇄되어 늘 1이다. 우연이 아니다. 두 방정식을 그냥 더해 보자.

ddt(u1+u2)=(u1+2u2)+(u12u2)=0\frac{d}{dt}(u_1 + u_2) = (-u_1 + 2u_2) + (u_1 - 2u_2) = 0

변화율이 0이므로 u1+u2u_1 + u_2 는 상수이다. 이렇게 되는 근본 이유는 AA열의 합이 0이라는 데 있다. 열의 합이 0이라는 말은 모든 성분이 1인 행벡터를 AA 에 곱하면 영벡터가 된다는 말과 같다.

[11]A=[00]ddt([11]u)=[11]Au=0\begin{bmatrix} 1 & 1 \end{bmatrix} A = \begin{bmatrix} 0 & 0 \end{bmatrix} \qquad\Longrightarrow\qquad \frac{d}{dt}\left(\begin{bmatrix} 1 & 1 \end{bmatrix}\vv{u}\right) = \begin{bmatrix} 1 & 1 \end{bmatrix} A\vv{u} = 0

한 물통에서 나간 만큼 다른 물통으로 들어가므로 총량이 변할 리 없다는 물리적 사실이 열의 합이 0이라는 대수적 조건으로 적힌 것이다.

u_1u_2 평면에서 본 궤적이다. 에서 시간에 따라 변하는 부분이
\vv{x}_2 = (1,-1) 방향뿐이므로, 모든 궤적이 그 방향의 직선이다. 그리고 (1,-1) 의
성분 합이 0이라 그 직선 위에서 u_1 + u_2 가 변하지 않는다.

Figure 2:u1u2u_1u_2 평면에서 본 궤적이다. (24)에서 시간에 따라 변하는 부분이 x2=(1,1)\vv{x}_2 = (1,-1) 방향뿐이므로, 모든 궤적이 그 방향의 직선이다. 그리고 (1,1)(1,-1) 의 성분 합이 0이라 그 직선 위에서 u1+u2u_1 + u_2 가 변하지 않는다.


4. 세 단계로 다시 읽는다

L22에서 AkA^k 를 번역 · 계산 · 역번역으로 읽었다. 여기서도 똑같다. 바뀐 것은 가운데 단계에서 곱하는 것이 λk\lambda^k 대신 eλte^{\lambda t} 라는 점뿐이다.

첫째, c=S1u(0)\vv{c} = S^{-1}\vv{u}(0). 초기벡터를 고유좌표로 번역한다.

둘째, 성분마다 eλite^{\lambda_i t} 를 곱한다. 고유좌표에서는 성분끼리 섞이지 않으므로 nn 개의 1차원 문제가 따로 논다. 얽힘이 여기서 끊긴다.

셋째, SS 를 곱해 표준좌표로 돌아온다.

두 강의를 나란히 놓으면 대응이 선명하다.

반복 (L22)미분 (L23)
문제uk+1=Auk\vv{u}_{k+1} = A\vv{u}_kdudt=Au\dfrac{d\vv{u}}{dt} = A\vv{u}
순수해λkx\lambda^k\vv{x}eλtxe^{\lambda t}\vv{x}
일반해ciλikxi\sum c_i\lambda_i^k\vv{x}_icieλitxi\sum c_i e^{\lambda_i t}\vv{x}_i
계수 정하기Sc=u0S\vv{c} = \vv{u}_0Sc=u(0)S\vv{c} = \vv{u}(0)
한 줄로Ak=SΛkS1A^k = S\Lambda^k S^{-1}eAt=SeΛtS1e^{At} = Se^{\Lambda t}S^{-1}

마지막 줄의 eAte^{At} 는 아직 정의하지 않았다. 6절에서 만든다.


5. 안정성 — 실수부가 운명을 정한다

시간이 흐르면 어떻게 되는가. (19)의 각 항에 eλite^{\lambda_i t} 가 붙어 있으니 이 지수함수의 크기만 보면 된다.

문제는 λ\lambda 가 복소수일 수 있다는 것이다. L21에서 회전행렬의 고윳값이 ±i\pm i 였다. 복소수 λ\lambda 에 대해 eλte^{\lambda t} 의 크기는 얼마인가.

크기는 실수부만 본다

λ=a+bi\lambda = a + bi 라 쓰자. 지수법칙으로 쪼갠다.

eλt=e(a+bi)t=eateibte^{\lambda t} = e^{(a + bi)t} = e^{at}\,e^{ibt}

오른쪽 두 조각의 성격이 전혀 다르다. 뒤의 것은 오일러 공식으로 풀린다.

eibt=cos(bt)+isin(bt)e^{ibt} = \cos(bt) + i\sin(bt)

이 복소수의 크기를 재 보자.

eibt2=cos2(bt)+sin2(bt)=1eibt=1\left|e^{ibt}\right|^2 = \cos^2(bt) + \sin^2(bt) = 1 \qquad\Longrightarrow\qquad \left|e^{ibt}\right| = 1

허수부는 크기를 바꾸지 않는다. 단위원 위를 돌 뿐이다. 그러므로 크기는 앞의 조각이 혼자 결정한다.

eλt=eat=eRe(λ)t\left|e^{\lambda t}\right| = e^{at} = e^{\operatorname{Re}(\lambda)\,t}

세 경우

(30)에서 답이 곧바로 읽힌다.

실수부eλte^{\lambda t}그 항의 운명
Re(λ)<0\operatorname{Re}(\lambda) < 0e(음수)te^{(\text{음수})t}0으로 사라진다
Re(λ)=0\operatorname{Re}(\lambda) = 0크기가 1크기를 유지한다
Re(λ)>0\operatorname{Re}(\lambda) > 0e(양수)te^{(\text{양수})t}폭발한다
u(t)0모든 i 에 대해 Re(λi)<0\vv{u}(t) \to \vv{0} \quad\Longleftrightarrow\quad \text{모든 } i \text{ 에 대해 } \operatorname{Re}(\lambda_i) < 0

하나라도 실수부가 양수이면 그 항이 나머지를 압도하며 폭발한다. L22의 지배 고윳값과 같은 논리이고, 이번에는 실수부가 가장 큰 것이 지배한다.

단위원과 허수축

L22에서는 경계가 단위원이었다. 여기서는 허수축이다. 두 기준이 왜 다른가.

다르지 않다. 같은 이야기를 다른 좌표로 하는 것이다. 크기를 결정하는 양을 나란히 놓아 보자.

λk=λkvseλt=eRe(λ)t\left|\lambda^k\right| = |\lambda|^k \qquad\text{vs}\qquad \left|e^{\lambda t}\right| = e^{\operatorname{Re}(\lambda)t}

왼쪽이 1보다 작으려면 λ<1|\lambda| < 1 이고, 오른쪽이 1보다 작으려면 Re(λ)<0\operatorname{Re}(\lambda) < 0 이다. 그런데 이 둘은 지수함수로 서로 옮겨진다.

eλ=eRe(λ)<1Re(λ)<0\left|e^{\lambda}\right| = e^{\operatorname{Re}(\lambda)} < 1 \quad\Longleftrightarrow\quad \operatorname{Re}(\lambda) < 0

λeλ\lambda \mapsto e^{\lambda} 라는 사상이 허수축을 단위원으로, 왼쪽 반평면을 원의 안쪽으로 보낸다. 미분방정식의 세계를 반복의 세계로 옮기는 다리가 지수함수인 셈이다.

왼쪽이 L22, 오른쪽이 L23이다. 초록색 영역이 "사라진다"는 뜻이다.

Figure 3:왼쪽이 L22, 오른쪽이 L23이다. 초록색 영역이 "사라진다"는 뜻이다.

반복 AkA^k미분 eAte^{At}
크기를 정하는 양λk\lvert\lambda\rvert^keRe(λ)te^{\operatorname{Re}(\lambda)t}
안정 조건λ<1\lvert\lambda\rvert < 1Re(λ)<0\operatorname{Re}(\lambda) < 0
경계단위원허수축
중립λ=1\lvert\lambda\rvert = 1Re(λ)=0\operatorname{Re}(\lambda) = 0
발산λ>1\lvert\lambda\rvert > 1Re(λ)>0\operatorname{Re}(\lambda) > 0

네 가지 그림

2×22 \times 2 에서 고윳값의 위치에 따라 궤적의 모양이 완전히 달라진다.

같은 방정식 \frac{d\vv{u}}{dt} = A\vv{u} 인데 A 만 바뀌었다.

Figure 4:같은 방정식 dudt=Au\frac{d\vv{u}}{dt} = A\vv{u} 인데 AA 만 바뀌었다.

앵커 예제는 어디에 속하는가. 고윳값이 0-3 이니 네 경우 어디에도 딱 들어맞지 않는다. -3 쪽은 죽고 0 쪽은 남으므로, 원점이 아니라 정상상태로 수렴한다. Figure 2의 초록 직선 전체가 정지점인 것이 그 때문이다.


6. 행렬 지수함수

반복에서는 답을 uk=Aku0\vv{u}_k = A^k\vv{u}_0 이라는 한 줄로 썼다. 미분에서도 그렇게 쓰고 싶다.

u(t)=eAtu(0)\vv{u}(t) = e^{At}\,\vv{u}(0)

그런데 eAte^{At} 이란 무엇인가. 지수의 자리에 행렬이 올라가 있다. 2.7182.718\ldots 을 행렬 번 곱한다는 말은 뜻이 통하지 않는다.

급수로 정의한다

방법은 하나뿐이다. 수에서 쓰던 정의를 그대로 옮긴다. 스칼라 지수함수에는 행렬에도 통하는 정의가 하나 있다. 급수이다.

ex=1+x+x22!+x33!+e^{x} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots

오른쪽에는 덧셈과 곱셈밖에 없다. 행렬도 더하고 곱할 줄 안다. 상수 1의 자리에 II 를 놓고 xx 의 자리에 AtAt 를 놓으면 된다.

eAt=I+At+(At)22!+(At)33!+=k=0Aktkk!e^{At} = I + At + \frac{(At)^2}{2!} + \frac{(At)^3}{3!} + \cdots = \sum_{k=0}^{\infty} \frac{A^k t^k}{k!}

정말 답이 맞는가

정의만 해 놓고 넘어갈 수는 없다. (34)의 식이 (1)의 해인지 확인해야 한다. 두 가지를 보이면 된다.

첫째, 미분하면 AA 가 앞으로 나온다. (36)의 급수를 항별로 미분한다. tkt^k 를 미분하면 ktk1kt^{k-1} 이고 kkk!k!(k1)!(k-1)! 로 깎는다.

ddteAt=0+A+A2t+A3t22!+\frac{d}{dt}\,e^{At} = 0 + A + A^2 t + \frac{A^3t^2}{2!} + \cdots

오른쪽에서 AA 를 하나 앞으로 빼내면 남는 것이 원래 급수 그대로이다.

=A(I+At+A2t22!+)=AeAt= A\left(I + At + \frac{A^2t^2}{2!} + \cdots\right) = A\,e^{At}

둘째, t=0t = 0 에서 항등행렬이다. t=0t = 0 을 넣으면 첫 항 II 만 남고 나머지는 전부 0이다.

eA0=Iu(0)=eA0u(0)=u(0)e^{A \cdot 0} = I \qquad\Longrightarrow\qquad \vv{u}(0) = e^{A \cdot 0}\vv{u}(0) = \vv{u}(0)

둘을 합치면 u(t)=eAtu(0)\vv{u}(t) = e^{At}\vv{u}(0) 이 방정식도 초기조건도 만족한다.

대각화하면 급수를 다 더할 필요가 없다

무한급수를 손으로 더할 수는 없다. 그런데 대각화가 되면 급수가 통째로 접힌다. L22에서 Ak=SΛkS1A^k = S\Lambda^k S^{-1} 이었다. (36)에 그대로 넣자.

eAt=k=0Aktkk!=k=0SΛkS1tkk!e^{At} = \sum_{k=0}^{\infty}\frac{A^kt^k}{k!} = \sum_{k=0}^{\infty}\frac{S\Lambda^kS^{-1}t^k}{k!}

SSS1S^{-1}kk 와 무관하므로 합 밖으로 빼낼 수 있다.

=S(k=0Λktkk!)S1=SeΛtS1= S\left(\sum_{k=0}^{\infty}\frac{\Lambda^kt^k}{k!}\right)S^{-1} = S\,e^{\Lambda t}\,S^{-1}

가운데 괄호가 무엇인지 보자. Λk\Lambda^k 는 대각에 λik\lambda_i^k 가 있는 대각행렬이므로, 합도 대각행렬이고 그 ii 번째 대각 성분은 스칼라 급수 그 자체이다.

k=0λiktkk!=eλiteΛt=[eλ1teλnt]\sum_{k=0}^{\infty}\frac{\lambda_i^kt^k}{k!} = e^{\lambda_i t} \qquad\Longrightarrow\qquad e^{\Lambda t} = \begin{bmatrix} e^{\lambda_1 t} & & \\ & \ddots & \\ & & e^{\lambda_n t} \end{bmatrix}

무한급수가 nn 개의 스칼라 지수함수로 줄었다. 그리고 4절의 표 마지막 줄이 채워졌다.

3절의 답과 앞뒤가 맞는지 확인하자. c=S1u(0)\vv{c} = S^{-1}\vv{u}(0) 이었으므로

eAtu(0)=SeΛtS1u(0)=SeΛtc=icieλitxie^{At}\vv{u}(0) = S\,e^{\Lambda t}\,S^{-1}\vv{u}(0) = S\,e^{\Lambda t}\vv{c} = \sum_i c_i e^{\lambda_i t}\vv{x}_i

이고, (19)의 일반해와 같은 식이다. 두 길이 같은 곳에 도착한다.

앵커 예제로 eAte^{At} 를 만든다

S=[2111]S = \begin{bmatrix} 2 & 1 \\ 1 & -1 \end{bmatrix} 이고 detS=3\det S = -3 이므로 S1=13[1112]S^{-1} = \frac13\begin{bmatrix} 1 & 1 \\ 1 & -2 \end{bmatrix} 이다. Λ=diag(0,3)\Lambda = \operatorname{diag}(0, -3) 이니 eΛt=diag(1,e3t)e^{\Lambda t} = \operatorname{diag}(1, e^{-3t}) 이다.

eAt=[2111][100e3t]13[1112]=13[2+e3t22e3t1e3t1+2e3t]e^{At} = \begin{bmatrix} 2 & 1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & e^{-3t} \end{bmatrix} \frac13\begin{bmatrix} 1 & 1 \\ 1 & -2 \end{bmatrix} = \frac13\begin{bmatrix} 2 + e^{-3t} & 2 - 2e^{-3t} \\ 1 - e^{-3t} & 1 + 2e^{-3t} \end{bmatrix}

t=0t = 0 을 넣으면 13[3003]=I\frac13\begin{bmatrix} 3 & 0 \\ 0 & 3 \end{bmatrix} = I 이고, tt \to \infty 이면 13[2211]\frac13\begin{bmatrix} 2 & 2 \\ 1 & 1 \end{bmatrix} 로 간다. 이 극한행렬은 랭크가 1이고, 그 열이 정상상태 (23,13)\left(\tfrac23, \tfrac13\right) 이다. 어디서 출발하든 결국 그 방향으로 간다는 뜻이다.

eAeB=eA+Be^Ae^B = e^{A+B} 는 거짓이다

수에서는 exey=ex+ye^xe^y = e^{x+y} 가 늘 맞았다. 행렬에서는 아니다. 급수를 2차항까지만 전개해 보면 어디서 어긋나는지 보인다.

eAeB=(I+A+A22+)(I+B+B22+)=I+A+B+A22+AB+B22+e^Ae^B = \left(I + A + \tfrac{A^2}{2} + \cdots\right) \left(I + B + \tfrac{B^2}{2} + \cdots\right) = I + A + B + \tfrac{A^2}{2} + AB + \tfrac{B^2}{2} + \cdots
eA+B=I+(A+B)+(A+B)22+=I+A+B+A2+AB+BA+B22+e^{A+B} = I + (A + B) + \frac{(A+B)^2}{2} + \cdots = I + A + B + \frac{A^2 + AB + BA + B^2}{2} + \cdots

1차항까지는 똑같다. 2차항에서 갈린다. 두 식의 2차항을 빼 보자.

(A22+AB+B22)A2+AB+BA+B22=ABBA2\left(\tfrac{A^2}{2} + AB + \tfrac{B^2}{2}\right) - \frac{A^2 + AB + BA + B^2}{2} = \frac{AB - BA}{2}

AB=BAAB = BA 일 때만 0이 된다. 곱셈의 순서가 바뀌어도 되는 행렬끼리만 지수법칙이 통한다. AA 는 자기 자신과는 늘 교환하므로 eAteAs=eA(t+s)e^{At}e^{As} = e^{A(t+s)} 는 언제나 맞고, 이 덕분에 (eAt)1=eAt\left(e^{At}\right)^{-1} = e^{-At} 도 성립한다.


7. 2차 미분방정식을 1차 연립으로

미적분 시간에 이런 방정식을 배웠다.

y+by+ky=0y'' + b\,y' + k\,y = 0

그리고 푸는 법도 배웠다. y=eλty = e^{\lambda t} 를 넣으면 y=λeλty' = \lambda e^{\lambda t}, y=λ2eλty'' = \lambda^2 e^{\lambda t} 이므로

(λ2+bλ+k)eλt=0λ2+bλ+k=0\left(\lambda^2 + b\lambda + k\right)e^{\lambda t} = 0 \qquad\Longrightarrow\qquad \lambda^2 + b\lambda + k = 0

이것을 특성방정식이라 부른다고 배웠다. 그런데 왜 하필 그 이름인가. 선형대수의 특성방정식 det(AλI)=0\det(A - \lambda I) = 0 과 무슨 상관인가.

미지함수를 늘려 차수를 낮춘다

(49)의 방정식은 미지함수가 하나이고 2차이다. 이것을 미지함수 둘, 1차로 바꿀 수 있다. yy' 을 새 미지함수로 승격시키면 된다.

u=[yy]\vv{u} = \begin{bmatrix} y' \\ y \end{bmatrix}

이제 u\vv{u} 를 미분하자. 위 성분은 yy'' 인데, (49)에서 y=bykyy'' = -by' - ky 이다. 아래 성분은 그냥 yy' 이다.

dudt=[yy]=[bykyy]\frac{d\vv{u}}{dt} = \begin{bmatrix} y'' \\ y' \end{bmatrix} = \begin{bmatrix} -b\,y' - k\,y \\ y' \end{bmatrix}

오른쪽을 yy'yy 에 대해 행렬로 묶는다. 위 줄의 계수가 (b,k)(-b, -k) 이고 아래 줄은 yy' 만 살리므로 (1,0)(1, 0) 이다.

dudt=Au,A=[bk10]\frac{d\vv{u}}{dt} = A\vv{u}, \qquad A = \begin{bmatrix} -b & -k \\ 1 & 0 \end{bmatrix}

AA동반행렬이라 한다.

두 특성방정식이 같다

이제 AA 의 특성방정식을 구해 보자. 대각에서 λ\lambda 를 빼고 행렬식을 계산한다.

det(AλI)=det[bλk1λ]=(bλ)(λ)(k)(1)\det(A - \lambda I) = \det\begin{bmatrix} -b - \lambda & -k \\ 1 & -\lambda \end{bmatrix} = (-b - \lambda)(-\lambda) - (-k)(1)

전개하면 bλ+λ2+kb\lambda + \lambda^2 + k 이다.

det(AλI)=λ2+bλ+k\det(A - \lambda I) = \lambda^2 + b\lambda + k

(50)의 식과 글자 하나 다르지 않다.

예제

y+5y+6y=0y'' + 5y' + 6y = 0 을 두 방법으로 풀어 비교하자. 동반행렬은 다음과 같다.

A=[5610],det(AλI)=λ2+5λ+6=(λ+2)(λ+3)A = \begin{bmatrix} -5 & -6 \\ 1 & 0 \end{bmatrix}, \qquad \det(A - \lambda I) = \lambda^2 + 5\lambda + 6 = (\lambda + 2)(\lambda + 3)

고윳값이 -2-3 이다. 고유벡터도 구해 두자. (AλI)x=0(A - \lambda I)\vv{x} = \vv{0}아래 줄x1λx2=0x_1 - \lambda x_2 = 0 이므로 x1=λx2x_1 = \lambda x_2 이다.

x=[λ1]x1=[21],x2=[31]\vv{x} = \begin{bmatrix} \lambda \\ 1 \end{bmatrix} \qquad\Longrightarrow\qquad \vv{x}_1 = \begin{bmatrix} -2 \\ 1 \end{bmatrix}, \quad \vv{x}_2 = \begin{bmatrix} -3 \\ 1 \end{bmatrix}

일반해는 (19)의 꼴이다. 그런데 우리가 원하는 것은 u\vv{u} 가 아니라 yy 이고, yyu\vv{u}아래 성분이다. 두 고유벡터의 아래 성분이 모두 1이므로 아래 줄만 읽으면 된다.

y(t)=c1e2t+c2e3ty(t) = c_1 e^{-2t} + c_2 e^{-3t}

미적분에서 얻던 답 그대로이다. 두 고윳값의 실수부가 모두 음수이므로 이 진동은 잦아든다.

중근이면 동반행렬이 결함 행렬이 된다

3절에서 미뤄 둔 teλtte^{\lambda t} 를 여기서 다시 만난다. y+2y+y=0y'' + 2y' + y = 0 을 보자. 특성방정식이 λ2+2λ+1=(λ+1)2\lambda^2 + 2\lambda + 1 = (\lambda + 1)^2 이라 λ=1\lambda = -1 이 중근이다. 동반행렬을 만들어 고유벡터를 세어 보자.

A=[2110]A+I=[1111]A = \begin{bmatrix} -2 & -1 \\ 1 & 0 \end{bmatrix} \qquad\Longrightarrow\qquad A + I = \begin{bmatrix} -1 & -1 \\ 1 & 1 \end{bmatrix}

두 행이 서로의 -1 배라 랭크가 1이고, 영공간이 1차원뿐이다. 고유벡터가 하나밖에 없다. L21과 L22에서 본 결함 행렬이다.

그러니 (19)의 꼴로는 해를 다 담을 수 없고, 미적분에서 배운 대로 tette^{-t} 를 따로 끼워 넣어야 한다. 왜 하필 tt 를 곱하는가는 L28에서 답한다.


8. 자주 하는 오해

복소 고윳값이 나오면 해가 복소수라는 오해

실수 행렬의 특성방정식은 실계수 다항식이므로, 복소근은 반드시 켤레쌍으로 나온다. λ=a+bi\lambda = a + bi 가 근이면 λˉ=abi\bar\lambda = a - bi 도 근이고, 고유벡터도 켤레인 xˉ\bar{\vv{x}} 이다.

실수 초기조건에서 출발하면 두 계수도 켤레가 되어 c2=c1ˉc_2 = \bar{c_1} 이다. 두 항을 더하면 켤레끼리 더하는 것이므로 허수부가 상쇄된다.

c1eλtx+c1ˉeλˉtxˉ=2Re(c1eλtx)c_1e^{\lambda t}\vv{x} + \bar{c_1}e^{\bar\lambda t}\bar{\vv{x}} = 2\operatorname{Re}\left(c_1e^{\lambda t}\vv{x}\right)

실수가 나온다. (28)의 오일러 공식을 쓰면 실수 꼴로 다시 쓸 수도 있다.

eatcos(bt)eatsin(bt)e^{at}\cos(bt) \quad\text{와}\quad e^{at}\sin(bt)

이 둘의 선형결합이 실수해 전부이다. eate^{at} 가 크기를 정하고 cos,sin\cos, \sin 이 진동을 만든다. Figure 4의 나선이 정확히 이 모양이다.

λ<0\lambda < 0 을 안정 조건으로 외우는 것

λ\lambda 가 실수일 때만 맞는 말이다. 복소수이면 실수부만 본다.

허수부가 아무리 커도 안정성에는 영향이 없다.

반복과 미분의 조건을 뒤바꾸는 것

AkA^k 에서 안정은 λ<1|\lambda| < 1 이고 eAte^{At} 에서 안정은 Re(λ)<0\operatorname{Re}(\lambda) < 0 이다. 헷갈리면 Figure 3의 그림을 떠올리면 된다. 반복은 곱셈이 쌓이니 1이 기준이고, 미분은 덧셈이 지수에 쌓이니 0이 기준이다.

eAte^{At} 를 성분별로 계산하는 것

6절에서 다뤘다. 아주 흔한 실수라 한 번 더 적어 둔다.


마치며...

이번 강의에서 다룬 것을 정리하면 다음과 같다.

대상내용
추측u=eλtx\vv{u} = e^{\lambda t}\vv{x} 를 넣으면 Ax=λxA\vv{x} = \lambda\vv{x} 가 나온다
순수해고유쌍 하나가 해 하나. 고유벡터 방향은 미끄럼틀
일반해u(t)=cieλitxi\vv{u}(t) = \sum c_i e^{\lambda_i t}\vv{x}_i
계수Sc=u(0)S\vv{c} = \vv{u}(0) — 초기벡터를 고유좌표로 번역
완전성독립인 고유벡터 nn 개. 대각화 조건과 같다
안정성Re(λ)<0\operatorname{Re}(\lambda) < 0. 허수부는 크기가 아니라 회전
경계반복은 단위원, 미분은 허수축. 지수함수가 둘을 잇는다
eAte^{At}급수로 정의. ddteAt=AeAt\frac{d}{dt}e^{At} = Ae^{At} 를 항별 미분으로 확인
대각화eAt=SeΛtS1e^{At} = Se^{\Lambda t}S^{-1}, eΛte^{\Lambda t} 는 대각에 eλite^{\lambda_i t}
함정성분별 지수함수가 아니다. eAeBeA+Be^Ae^B \neq e^{A+B}
동반행렬2차 방정식을 1차 연립으로. 두 특성방정식이 같다

미분방정식을 풀려고 eλtxe^{\lambda t}\vv{x} 를 대입하는 순간 Ax=λxA\vv{x} = \lambda\vv{x} 가 나타났고, 그 뒤로는 지난 강의의 대각화 그대로였다. 고유기저로 번역하면 얽혀 있던 방정식들이 서로 독립인 1차원 방정식으로 분리된다. 그리고 고윳값의 실수부가 시스템의 운명을 정한다.

여기서 고윳값의 성격이 한 번 바뀌었다. L21과 L22에서 고윳값은 행렬을 다루는 계산 도구 였다. 이번 강의에서 고윳값은 시스템이 살아남는지 무너지는지를 정하는 물리적인 양이 되었다. 다리가 흔들리다 멈추는지 무너지는지, 회로가 안정되는지 발진하는지가 그 부호 하나에 달려 있다.

다만 한 가지 미뤄 두었다. 고윳값에 중근이 있을 때 teλtte^{\lambda t} 같은 항이 나타나는 현상이다. 미적분 시간에 이유도 모르고 외웠던 그 항이다. 7절에서 그것이 동반행렬의 고유벡터가 모자란 탓임까지는 확인했다. 왜 하필 tt 인지는 다섯 강의 뒤 조르당 표준형에서 밝혀진다.

다음 강의에서는 시간을 다시 이산적으로 바꾼다. 확률이 시간에 따라 흘러가는 마코브 과정이다. 이번 강의의 앵커 행렬은 열의 합이 0이었는데, 거기서는 열의 합이 1인 행렬을 만난다. 그 조건 하나가 고윳값 1의 존재를 보장하고, 3절에서 잠깐 만난 정상상태가 주인공이 된다.


이번 강의의 내용을 파이썬으로 확인해 보려면 L23 실습 노트북으로 넘어가면 된다. eλtxe^{\lambda t}\vv{x} 를 대입해 잔차가 0이 되는 것을 보고, 급수를 직접 더해 scipy.linalg.expm 과 대조하며, 고윳값을 슬라이더로 옮겨 가며 위상평면이 노드에서 나선으로 바뀌는 것을 관찰할 수 있다.