6.3. Systems of Differential Equations

선형대수학 글 목록

연결 강의: MIT 18.06 Linear Algebra - Lecture 23: Differential Equations and exp(At)

1. 이번 강의의 목표

이번 강의는 선형대수학을 미분방정식 시스템에 적용하는 내용이다.

다루는 문제는 다음과 같은 형태이다.

dudt=Au\frac{du}{dt}=Au

여기서 u(t)u(t)는 시간에 따라 변하는 벡터이고, AA는 constant coefficient matrix이다.

즉, 여러 개의 1계 선형 미분방정식이 행렬 하나로 묶여 있는 상황이다.

지난 강의에서는 difference equation을 다뤘다.

uk+1=Auku_{k+1}=Au_k

이 경우 해는 행렬의 거듭제곱과 연결되었다.

uk=Aku0u_k=A^ku_0

이번에는 continuous time이다. 그래서 거듭제곱 대신 exponential이 등장한다.

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

핵심은 이 행렬지수 eAte^{At}를 eigenvalues와 eigenvectors로 이해하는 것이다.


2. Constant coefficient linear system

미분방정식 시스템을 다음처럼 쓴다.

dudt=Au\frac{du}{dt}=Au

여기서 uu는 벡터이다.

예를 들어 2×22 \times 2 시스템이면,

u(t)=[u1(t)u2(t)]u(t)= \begin{bmatrix} u_1(t) \\ u_2(t) \end{bmatrix}

이고, 행렬 AA가 두 성분 u1u_1, u2u_2를 서로 연결한다.

일반적인 scalar differential equation에서

dudt=au\frac{du}{dt}=au

의 해는 다음과 같다.

u(t)=eatu(0)u(t)=e^{at}u(0)

행렬 시스템에서도 비슷한 일이 생긴다.

다만 scalar aa 대신 matrix AA가 들어간다.

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

이 식을 제대로 이해하려면 eigenvalues와 eigenvectors가 필요하다.


3. 예시 시스템

다음 미분방정식 시스템을 생각하자.

dudt=Au\frac{du}{dt}=Au

여기서,

A=[1212]A= \begin{bmatrix} -1 & 2 \\ 1 & -2 \end{bmatrix}

이고 초기조건은 다음이다.

u(0)=[10]u(0)= \begin{bmatrix} 1 \\ 0 \end{bmatrix}

즉, 처음에는 모든 양이 첫 번째 성분 u1u_1에 들어 있다.

시간이 지나면 u1u_1에서 u2u_2로 흐름이 이동한다. 왜냐하면 두 번째 방정식에는 +u1+u_1 항이 있어서 u1u_1이 존재하면 u2u_2가 증가하기 때문이다.

이제 이 시스템을 eigenvalues와 eigenvectors로 풀어보자.


4. Eigenvalues 찾기

먼저 행렬 AA의 eigenvalues를 구한다.

A=[1212]A= \begin{bmatrix} -1 & 2 \\ 1 & -2 \end{bmatrix}

이 행렬은 singular matrix이다.

두 번째 column이 첫 번째 column의 2-2배이기 때문이다.

따라서 determinant가 0이고, eigenvalue 중 하나는 0이다.

λ1=0\lambda_1=0

다른 eigenvalue는 trace로 알 수 있다.

trace는 대각성분의 합이다.

tr(A)=1+(2)=3\operatorname{tr}(A)=-1+(-2)=-3

eigenvalues의 합은 trace와 같으므로,

λ1+λ2=3\lambda_1+\lambda_2=-3

λ1=0\lambda_1=0이므로,

λ2=3\lambda_2=-3

이다.

직접 characteristic polynomial을 계산해도 같다.

AλI=[1λ212λ]A-\lambda I= \begin{bmatrix} -1-\lambda & 2 \\ 1 & -2-\lambda \end{bmatrix}

따라서,

det(AλI)=(1λ)(2λ)2\det(A-\lambda I) = (-1-\lambda)(-2-\lambda)-2

전개하면,

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

즉,

λ(λ+3)=0\lambda(\lambda+3)=0

이다.

따라서 eigenvalues는 다음과 같다.

λ1=0,λ2=3\lambda_1=0, \quad \lambda_2=-3

5. Eigenvectors 찾기

5.1 λ1=0\lambda_1=0의 eigenvector

λ1=0\lambda_1=0에 대응하는 eigenvector는 AA의 nullspace에 있다.

즉,

Ax1=0Ax_1=0

을 푼다.

[1212][x1x2]=0\begin{bmatrix} -1 & 2 \\ 1 & -2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} =0

첫 번째 방정식은 다음이다.

x1+2x2=0-x_1+2x_2=0

따라서,

x1=2x2x_1=2x_2

x2=1x_2=1로 두면,

x1=[21]x_1= \begin{bmatrix} 2 \\ 1 \end{bmatrix}

이다.

즉,

A[21]=0A \begin{bmatrix} 2 \\ 1 \end{bmatrix} = 0

이므로 λ=0\lambda=0의 eigenvector는 [2 1]T[2 \ 1]^T이다.

5.2 λ2=3\lambda_2=-3의 eigenvector

이번에는 λ2=3\lambda_2=-3이다.

eigenvector는 다음 nullspace에 있다.

(Aλ2I)x2=0(A-\lambda_2 I)x_2=0

λ2=3\lambda_2=-3이므로,

Aλ2I=A+3IA-\lambda_2 I=A+3I

따라서,

A+3I=[2211]A+3I = \begin{bmatrix} 2 & 2 \\ 1 & 1 \end{bmatrix}

이 행렬의 nullspace를 구하면 된다.

[2211][x1x2]=0\begin{bmatrix} 2 & 2 \\ 1 & 1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} =0

방정식은 x1+x2=0x_1+x_2=0이다.

따라서 대표 eigenvector를 다음처럼 잡을 수 있다.

x2=[11]x_2= \begin{bmatrix} 1 \\ -1 \end{bmatrix}

실제로,

A[11]=3[11]A \begin{bmatrix} 1 \\ -1 \end{bmatrix} = -3 \begin{bmatrix} 1 \\ -1 \end{bmatrix}

이다.


6. 순수 exponential 해

미분방정식

dudt=Au\frac{du}{dt}=Au

에서 AA의 eigenpair가

Ax=λxAx=\lambda x

라면 다음 함수는 해가 된다.

u(t)=eλtxu(t)=e^{\lambda t}x

직접 확인해보자.

왼쪽은 시간 미분이다.

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

오른쪽은 AA를 곱한 것이다.

A(eλtx)=eλtAxA\left(e^{\lambda t}x\right) = e^{\lambda t}Ax

Ax=λxAx=\lambda x이므로,

A(eλtx)=eλtλx=λeλtxA\left(e^{\lambda t}x\right) = e^{\lambda t}\lambda x = \lambda e^{\lambda t}x

왼쪽과 오른쪽이 같으므로,

u(t)=eλtxu(t)=e^{\lambda t}x

는 미분방정식의 해이다.


7. 일반해

eigenvectors가 충분히 있으면 일반해는 순수 exponential 해들의 선형결합이다.

이번 예시에서는 eigenvalues와 eigenvectors가 다음이었다.

λ1=0,x1=[21]\lambda_1=0, \quad x_1= \begin{bmatrix} 2 \\ 1 \end{bmatrix} λ2=3,x2=[11]\lambda_2=-3, \quad x_2= \begin{bmatrix} 1 \\ -1 \end{bmatrix}

따라서 일반해는 다음과 같다.

u(t)=c1e0t[21]+c2e3t[11]u(t) = c_1e^{0t} \begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2e^{-3t} \begin{bmatrix} 1 \\ -1 \end{bmatrix}

e0t=1e^{0t}=1이므로,

u(t)=c1[21]+c2e3t[11]u(t) = c_1 \begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2e^{-3t} \begin{bmatrix} 1 \\ -1 \end{bmatrix}

이다.

첫 번째 항은 시간에 따라 변하지 않는 steady part이다.

두 번째 항은 e3te^{-3t}가 곱해져 있으므로 시간이 지날수록 사라진다.


8. 초기조건으로 계수 구하기

초기조건은 다음이었다.

u(0)=[10]u(0)= \begin{bmatrix} 1 \\ 0 \end{bmatrix}

t=0t=0을 일반해에 대입하면,

u(0)=c1[21]+c2[11]u(0) = c_1 \begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2 \begin{bmatrix} 1 \\ -1 \end{bmatrix}

따라서,

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

두 계수를 직접 찾으면 된다.

만약 c1=c2=1c_1=c_2=1이면,

[21]+[11]=[30]\begin{bmatrix} 2 \\ 1 \end{bmatrix} + \begin{bmatrix} 1 \\ -1 \end{bmatrix} = \begin{bmatrix} 3 \\ 0 \end{bmatrix}

우리는 [1 0]T[1 \ 0]^T를 원하므로 둘 다 13\frac{1}{3}로 줄이면 된다.

c1=13,c2=13c_1=\frac{1}{3}, \quad c_2=\frac{1}{3}

따라서 해는 다음과 같다.

u(t)=13[21]+13e3t[11]u(t) = \frac{1}{3} \begin{bmatrix} 2 \\ 1 \end{bmatrix} + \frac{1}{3}e^{-3t} \begin{bmatrix} 1 \\ -1 \end{bmatrix}

성분별로 쓰면,

u(t)=[23+13e3t1313e3t]u(t) = \begin{bmatrix} \frac{2}{3}+\frac{1}{3}e^{-3t} \\ \frac{1}{3}-\frac{1}{3}e^{-3t} \end{bmatrix}

이다.


9. Steady state

시간이 무한히 커지면,

e3t0e^{-3t}\to 0

이다.

따라서 두 번째 항은 사라진다.

남는 것은 첫 번째 항이다.

u()=13[21]=[2313]u(\infty) = \frac{1}{3} \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} \frac{2}{3} \\ \frac{1}{3} \end{bmatrix}

즉, 처음에는 모든 양이 u1u_1에 있었지만, 시간이 지나면 최종적으로 u1u_123\frac{2}{3}, u2u_213\frac{1}{3}이 남는다.

이 steady state가 생긴 이유는 eigenvalue 0이 있기 때문이다.

λ=0\lambda=0이면,

e0t=1e^{0t}=1

이므로 그 성분은 사라지지 않고 계속 남는다.


10. 안정성 판단

미분방정식 시스템에서 안정성은 eigenvalues의 real part로 결정된다.

해는 eigenvalue마다 다음 형태의 항을 가진다.

eλtxe^{\lambda t}x

따라서 tt\to\infty일 때 이 항이 어떻게 되는지는 λ\lambda에 달려 있다.

10.1 모든 해가 0으로 가는 경우

모든 eigenvalue의 real part가 음수이면,

Re(λi)<0for all i\operatorname{Re}(\lambda_i)<0 \quad \text{for all } i

모든 exponential term이 0으로 간다.

eλit0e^{\lambda_i t}\to 0

따라서,

u(t)0u(t)\to 0

이다.

이 경우 시스템은 stable하다고 볼 수 있다.

10.2 steady state가 생기는 경우

eigenvalue 중 하나가 0이고, 나머지 eigenvalues의 real part가 음수이면 steady state가 생긴다.

즉,

λ1=0\lambda_1=0

이고,

Re(λi)<0(i2)\operatorname{Re}(\lambda_i)<0 \quad (i\ge 2)

이면 0 eigenvalue에 대응하는 성분만 남는다.

이번 예시가 바로 이 경우이다.

10.3 blow up하는 경우

어떤 eigenvalue라도 real part가 양수이면 그 항은 커진다.

Re(λ)>0eλt\operatorname{Re}(\lambda)>0 \quad \Longrightarrow \quad e^{\lambda t}\to\infty

따라서 초기조건이 그 eigenvector 방향 성분을 조금이라도 가지고 있으면 해는 blow up한다.


11. Complex eigenvalue의 경우

eigenvalue가 complex number일 수도 있다.

예를 들어,

λ=3+6i\lambda=-3+6i

라고 하자.

그러면 exponential term은 다음이다.

eλt=e(3+6i)te^{\lambda t}=e^{(-3+6i)t}

이를 나누면,

e(3+6i)t=e3te6ite^{(-3+6i)t}=e^{-3t}e^{6it}

여기서 e6ite^{6it}는 Euler formula에 의해 다음과 같다.

e6it=cos(6t)+isin(6t)e^{6it}=\cos(6t)+i\sin(6t)

이 값의 크기는 항상 1이다.

e6it=1|e^{6it}|=1

따라서 크기를 줄이거나 키우는 역할은 e3te^{-3t}가 담당한다.

즉, stability를 결정하는 것은 eigenvalue의 real part이다.

Re(λ)=3\operatorname{Re}(\lambda)=-3

imaginary part는 진동을 만든다.

real part는 증가 또는 감소를 결정한다.


12. A-A로 바꾸면 무슨 일이 생기는가

만약 행렬 AA의 부호를 모두 바꿔 A-A를 만들면 eigenvalues도 모두 부호가 바뀐다.

Ax=λxAx=\lambda x

이면,

(A)x=λx(-A)x=-\lambda x

이다.

이번 예시에서 AA의 eigenvalues는 다음이었다.

0,30,\quad -3

A-A의 eigenvalues는 다음이 된다.

0,30,\quad 3

그러면 e3te^{-3t} 대신 e3te^{3t}가 생긴다.

e3te^{3t}\to\infty

따라서 해는 blow up한다.

이처럼 eigenvalue의 부호는 differential equation의 장기 거동을 완전히 바꾼다.


13. 2×22 \times 2 시스템의 안정성 조건

2×22 \times 2 행렬

A=[abcd]A= \begin{bmatrix} a & b \\ c & d \end{bmatrix}

를 생각하자.

두 eigenvalues의 real part가 모두 음수이면 시스템은 stable하다.

2×22 \times 2에서는 이를 trace와 determinant로 판단할 수 있다.

eigenvalues의 합은 trace이다.

λ1+λ2=tr(A)=a+d\lambda_1+\lambda_2=\operatorname{tr}(A)=a+d

eigenvalues의 곱은 determinant이다.

λ1λ2=det(A)=adbc\lambda_1\lambda_2=\det(A)=ad-bc

두 real eigenvalues가 모두 음수라면 합은 음수이고 곱은 양수이다.

따라서 안정성을 기대하려면 다음 조건이 필요하다.

tr(A)<0\operatorname{tr}(A)<0 det(A)>0\det(A)>0

2×22 \times 2 실수 행렬에서는 이 두 조건이 eigenvalues의 real part가 모두 음수라는 조건과 연결된다.

즉,

tr(A)<0,det(A)>0\operatorname{tr}(A)<0, \quad \det(A)>0

이면 stable한 경우이다.

trace만 음수인 것은 충분하지 않다.

예를 들어 다음 행렬을 보자.

[2001]\begin{bmatrix} -2 & 0 \\ 0 & 1 \end{bmatrix}

trace는 다음이다.

2+1=1-2+1=-1

음수이다.

하지만 eigenvalues는 2-211이다.

양수 eigenvalue 1이 있으므로 ete^t 항이 생기고, 해는 blow up할 수 있다.

이 행렬의 determinant는 다음이다.

(2)(1)=2(-2)(1)=-2

음수이다.

따라서 trace가 음수인 것만으로는 안정성을 보장할 수 없고, determinant 조건도 필요하다.


14. 계수 cc를 찾는 단계

일반해를 쓸 때 중요한 마지막 단계는 초기조건으로 계수들을 찾는 것이다.

이번 예시에서는 다음과 같이 썼다.

u(t)=c1e0t[21]+c2e3t[11]u(t) = c_1e^{0t} \begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2e^{-3t} \begin{bmatrix} 1 \\ -1 \end{bmatrix}

초기조건 u(0)u(0)을 넣으면,

c1[21]+c2[11]=u(0)c_1 \begin{bmatrix} 2 \\ 1 \end{bmatrix} + c_2 \begin{bmatrix} 1 \\ -1 \end{bmatrix} = u(0)

이것은 행렬식으로 보면 다음이다.

Sc=u(0)Sc=u(0)

여기서 SS는 eigenvector matrix이다.

S=[2111]S= \begin{bmatrix} 2 & 1 \\ 1 & -1 \end{bmatrix}

그리고,

c=[c1c2]c= \begin{bmatrix} c_1 \\ c_2 \end{bmatrix}

이다.

즉, 초기벡터를 eigenvector basis로 표현하는 과정이 바로 계수 cc를 찾는 과정이다.


15. Eigenvector basis로 시스템을 uncouple하기

미분방정식 시스템은 원래 다음과 같다.

dudt=Au\frac{du}{dt}=Au

행렬 AA가 full matrix이면 u1,u2,,unu_1,u_2,\dots,u_n의 방정식이 서로 coupling되어 있다.

eigenvector matrix SS를 사용해 변수변환을 하자.

u=Svu=Sv

그러면,

dudt=Sdvdt\frac{du}{dt}=S\frac{dv}{dt}

이고 오른쪽은 다음이 된다.

Au=ASvAu=ASv

따라서 원래 방정식은 다음처럼 바뀐다.

Sdvdt=ASvS\frac{dv}{dt}=ASv

양변에 S1S^{-1}을 곱하면,

dvdt=S1ASv\frac{dv}{dt}=S^{-1}ASv

그런데,

S1AS=ΛS^{-1}AS=\Lambda

이므로,

dvdt=Λv\frac{dv}{dt}=\Lambda v

이다.

Λ\Lambda는 diagonal matrix이다.

따라서 시스템이 완전히 분리된다.

dv1dt=λ1v1\frac{dv_1}{dt}=\lambda_1v_1 dv2dt=λ2v2\frac{dv_2}{dt}=\lambda_2v_2

계속해서,

dvndt=λnvn\frac{dv_n}{dt}=\lambda_nv_n

이다.

즉, eigenvector basis에서는 coupled system이 independent scalar equations로 바뀐다.


16. Matrix exponential

이제 해를 행렬 형태로 쓰자.

분리된 시스템

dvdt=Λv\frac{dv}{dt}=\Lambda v

의 해는 다음이다.

v(t)=eΛtv(0)v(t)=e^{\Lambda t}v(0)

따라서,

u(t)=Sv(t)u(t)=Sv(t)

이고,

v(0)=S1u(0)v(0)=S^{-1}u(0)

이므로,

u(t)=SeΛtS1u(0)u(t)=Se^{\Lambda t}S^{-1}u(0)

이 행렬

SeΛtS1Se^{\Lambda t}S^{-1}

eAte^{At}라고 쓴다.

즉,

eAt=SeΛtS1\boxed{ e^{At}=Se^{\Lambda t}S^{-1} }

그리고 미분방정식의 해는 다음이다.

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

17. eΛte^{\Lambda t}는 어떻게 생겼는가

Λ\Lambda는 diagonal matrix이다.

Λ=[λ1000λ2000λn]\Lambda= \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix}

따라서 eΛte^{\Lambda t}도 diagonal matrix이다.

eΛt=[eλ1t000eλ2t000eλnt]e^{\Lambda t} = \begin{bmatrix} e^{\lambda_1t} & 0 & \cdots & 0 \\ 0 & e^{\lambda_2t} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & e^{\lambda_nt} \end{bmatrix}

즉, diagonal matrix의 exponential은 각 diagonal entry에 scalar exponential을 적용한 것이다.

이것이 diagonalization을 사용하는 이유이다.

복잡한 eAte^{At}를 직접 계산하는 대신, AA를 diagonalize해서 eΛte^{\Lambda t}를 계산하면 된다.


18. eAte^{At}의 정의

그렇다면 행렬의 exponential은 무엇인가?

scalar exponential은 Taylor series로 정의할 수 있다.

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

행렬에서도 같은 방식으로 정의한다.

eAt=I+At+(At)22!+(At)33!+e^{At} = I+At+\frac{(At)^2}{2!}+\frac{(At)^3}{3!}+\cdots

즉,

eAt=n=0(At)nn!e^{At} = \sum_{n=0}^{\infty}\frac{(At)^n}{n!}

여기서 scalar에서의 1은 행렬에서는 identity matrix II가 된다.

이 급수는 모든 행렬 AA와 모든 시간 tt에 대해 수렴한다.

그 이유는 n!n!이 빠르게 커지기 때문이다.

따라서 eAte^{At}는 항상 잘 정의된다.


19. Taylor series와 diagonalization 연결

AA가 diagonalizable하다고 하자.

A=SΛS1A=S\Lambda S^{-1}

그러면,

A2=SΛ2S1A^2=S\Lambda^2S^{-1} A3=SΛ3S1A^3=S\Lambda^3S^{-1}

일반적으로,

An=SΛnS1A^n=S\Lambda^nS^{-1}

이다.

이를 exponential series에 대입하면,

eAt=I+At+A2t22!+A3t33!+e^{At} = I+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\cdots

여기서 II도 다음처럼 쓸 수 있다.

I=SS1I=SS^{-1}

따라서 모든 항에서 왼쪽의 SS와 오른쪽의 S1S^{-1}을 묶어낼 수 있다.

eAt=S(I+Λt+Λ2t22!+Λ3t33!+)S1e^{At} = S \left( I+\Lambda t+\frac{\Lambda^2t^2}{2!}+\frac{\Lambda^3t^3}{3!}+\cdots \right) S^{-1}

괄호 안은 바로 eΛte^{\Lambda t}이다.

따라서,

eAt=SeΛtS1e^{At}=Se^{\Lambda t}S^{-1}

이다.

이 공식은 AA가 diagonalizable할 때 가장 깔끔하게 작동한다.

만약 AA가 충분한 eigenvectors를 가지지 않으면 S1S^{-1}이 존재하지 않으므로 이 diagonalization 방식은 사용할 수 없다.


20. Geometric series와 inverse matrix

강의에서는 exponential series와 함께 geometric series도 언급한다.

scalar에서 다음 급수는 잘 알려져 있다.

1+x+x2+x3+=11x1+x+x^2+x^3+\cdots = \frac{1}{1-x}

행렬에서도 비슷하게 생각할 수 있다.

(IAt)1=I+At+(At)2+(At)3+(I-At)^{-1} = I+At+(At)^2+(At)^3+\cdots

단, 이 급수는 항상 수렴하지 않는다.

수렴하려면 AtAt의 eigenvalues가 절댓값 1보다 작아야 한다.

즉,

λi(At)<1|\lambda_i(At)|<1

이어야 한다.

반면 exponential series는 factorial로 나누기 때문에 항상 수렴한다.

이 차이가 중요하다.


21. Differential equation의 안정성 영역

matrix exponential 공식은 안정성을 바로 보여준다.

eAt=SeΛtS1e^{At}=Se^{\Lambda t}S^{-1}

SSS1S^{-1}은 고정되어 있다.

따라서 tt\to\infty에서의 behavior는 eΛte^{\Lambda t}가 결정한다.

eΛt=[eλ1t000eλ2t000eλnt]e^{\Lambda t} = \begin{bmatrix} e^{\lambda_1t} & 0 & \cdots & 0 \\ 0 & e^{\lambda_2t} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & e^{\lambda_nt} \end{bmatrix}

각 항이 0으로 가려면 모든 eigenvalue의 real part가 음수여야 한다.

Re(λi)<0for all i\operatorname{Re}(\lambda_i)<0 \quad \text{for all } i

즉, differential equation에서 stability region은 complex plane의 left half-plane이다.

Re(λ)<0\operatorname{Re}(\lambda)<0

이것은 discrete system의 안정성과 다르다.

difference equation

uk+1=Auku_{k+1}=Au_k

에서는 안정 조건이 다음이었다.

λ<1|\lambda|<1

즉, eigenvalues가 unit circle 안에 있어야 한다.

정리하면 다음과 같다.

  1. discrete time: λ<1|\lambda|<1
  2. continuous time: Re(λ)<0\operatorname{Re}(\lambda)<0

22. 2계 미분방정식을 1계 시스템으로 바꾸기

마지막 예시로 하나의 2계 미분방정식을 1계 시스템으로 바꾸는 방법을 보자.

다음 방정식을 생각하자.

y+by+ky=0y''+by'+ky=0

이를 행렬 시스템으로 만들기 위해 새로운 벡터 uu를 정의한다.

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

그러면,

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

원래 방정식에서,

y=bykyy''=-by'-ky

이다.

따라서,

[yy]=[bykyy]\begin{bmatrix} y'' \\ y' \end{bmatrix} = \begin{bmatrix} -by'-ky \\ y' \end{bmatrix}

이를 행렬곱으로 쓰면,

u=[bk10]uu' = \begin{bmatrix} -b & -k \\ 1 & 0 \end{bmatrix} u

즉,

u=Auu'=Au

이고,

A=[bk10]A= \begin{bmatrix} -b & -k \\ 1 & 0 \end{bmatrix}

이다.

이렇게 하면 하나의 2계 scalar equation을 2×22 \times 2 first-order system으로 바꿀 수 있다.

마찬가지로 5계 미분방정식도 5×55 \times 5 first-order system으로 바꿀 수 있다.

첫 번째 row에는 원래 미분방정식의 계수들이 들어가고, 아래쪽 row들은 y(j)y^{(j)}를 다음 변수로 옮기는 trivial equations가 된다.


23. 핵심 정리

이번 강의의 핵심은 다음 미분방정식 시스템을 eigenvalues와 eigenvectors로 푸는 것이다.

dudt=Au\frac{du}{dt}=Au

eigenpair

Ax=λxAx=\lambda x

가 있으면 다음은 순수 exponential solution이다.

u(t)=eλtxu(t)=e^{\lambda t}x

eigenvectors가 충분하면 일반해는 이 순수 해들의 선형결합이다.

u(t)=c1eλ1tx1++cneλntxnu(t)=c_1e^{\lambda_1t}x_1+\cdots+c_ne^{\lambda_nt}x_n

초기조건은 eigenvector matrix SS를 이용해 계수 cc를 정한다.

Sc=u(0)Sc=u(0)

행렬식으로 쓰면 해는 다음이다.

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

그리고 AA가 diagonalizable하면,

eAt=SeΛtS1e^{At}=Se^{\Lambda t}S^{-1}

이다.

안정성은 eigenvalue의 real part가 결정한다.

Re(λi)<0for all i\operatorname{Re}(\lambda_i)<0 \quad \text{for all } i

이면 모든 해가 0으로 간다.

eigenvalue 0이 있고 나머지 eigenvalues의 real part가 음수이면 steady state가 남는다.

어떤 eigenvalue라도 real part가 양수이면 blow up이 발생한다.

즉, differential equation에서 eigenvalues는 시간에 따른 성장, 감소, 진동, steady state를 결정하는 숫자이다.