선형대수 note 23: Differential equations and exp(At)

미분 방정식 \frac{d\mathbf{u}}{dt} = A\mathbf{u}

스칼라 선형 미분 방정식 \frac{du}{dt} = \lambda u 의 특수해는 e^{\lambda t} 이다. 일반해는 앞에 상수가 곱해진 형태 c e^{\lambda t} 가 된다. 상수 c\frac{du}{dt} = \lambda u 의 양쪽에 곱해지므로 아무값이나 넣어도 상관없다. 하지만 초기값 u(0) 가 주어진다면 u(0) = c e^0 = c 이므로, 일반해는 다음과 같이 쓴다.

    \[\frac{du}{dt} = u(0) \lambda u\]

이제 벡터 선형 미분 방정식 \frac{d\mathbf{u}}{dt} = A \mathbf{u} 의 해를 구하는 방법을 알아보자. \mathbf{u}(0) = \begin{bmatrix}1\\0\end{bmatrix} 일때, 다음과 같은 벡터 미분방정식의 해를 구해보자.

    \[\begin{aligned} \frac{d\mathbf{u}}{dt} &= \begin{bmatrix} -1 & 2 \\ 1 & -2 \end{bmatrix} \mathbf{u} \\ \frac{du_1}{dt} &= -u_1 + 2u_2 \\ \frac{du_2}{dt} &= u_1 - 2u_2 \\ \end{aligned}\]

벡터함수 \mathbf{f}\mathbf{g} 가 특수해라면 일반해는 c_1\mathbf{f} + c_2\mathbf{g} 가 된다. A\mathbf{x} = \lambda\mathbf{x} 일때, 특수해는 \mathbf{u} = e^{\lambda t} \mathbf{x} 다. 진짜 맞는지 확인해보자.

    \[\begin{aligned} \frac{d\mathbf{u}}{dt} &= A\mathbf{u} \\ \lambda e^{\lambda t} \mathbf{x} &= A e^{\lambda t} \mathbf{x} \\ \lambda \mathbf{x} &= A \mathbf{x} \end{aligned}\]

이제 A 의 고유값, 고유벡터를 구해보자.

    \[\begin{aligned} \lambda_1 &= 0, \quad x_1 = \begin{bmatrix}2 \\ 1\end{bmatrix} \\ \lambda_2 &= -3, \quad x_2 = \begin{bmatrix}1 \\ -1\end{bmatrix} \end{aligned}\]

특수해가 \mathbf{u} = e^{\lambda t} \mathbf{x} 이고, 고유값 고유벡터가 두쌍이 존재하므로 일반해는 \mathbf{u} = c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 형태가 된다. 고유값, 고유벡터를 대입하면,

    \[\mathbf{u}(t) = c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 = c_1 e^{0t} \begin{bmatrix}2 \\ 1\end{bmatrix} + c_2 e^{-3t} \begin{bmatrix}1 \\ -1\end{bmatrix}\]

초기값은 \mathbf{u}(0) = \begin{bmatrix}1\\0\end{bmatrix} 이므로 c_1, c_2 는 방정식 \mathbf{u}(0) = c_1\mathbf{x}_1 + c_2\mathbf{x}_2 을 풀면 알 수 있다.

    \[\begin{bmatrix}1\\0\end{bmatrix} = c_1\begin{bmatrix}2 \\ 1\end{bmatrix} + c_2\begin{bmatrix}1 \\ -1\end{bmatrix} \quad c_1 = \frac{1}{3}, c_2 = \frac{1}{3}\]

이제 최종적인 해는 다음과 같다.

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

Steady State

위의 예제를 통해 확인했듯이 n\times n 행렬 A 에 대하여 \frac{d\mathbf{u}}{dt} = A\mathbf{u} 의 해는 A 가 대각화 가능하다면 n 개 항의 합으로 나타낼 수 있다.

    \[\begin{aligned} \mathbf{u}(t) &= c_1 e^{\lambda_1 t} \mathbf{x}_1 + c_2 e^{\lambda_2 t} \mathbf{x}_2 + \dots + c_n e^{\lambda_n t} \mathbf{x}_n \\ &= S e^{\Lambda t} \mathbf{c} \end{aligned}\]

\mathbf{u}(\infty) 의 항들은 \lambda = 0 이면 값이 정해지고, \lambda < 0 이면 0 이 되어 사라진다. 또 \lambda > 0 이면 값이 발산하여 무한대가 되어버린다. 고유값은 복소수가 될 수도 있다. e^{(-3 + 6i)t} 의 경우에 t \rightarrow \infty 일때 e^{-3t} 성분은 0 에 접근하고, e^{6it} 는 길이가 1 인 단위원을 도는 성분이므로 e^{(-3 + 6i)t} 는 진동하면서 0 에 수렴하게 된다.

1. Re(\lambda) < 0 \rightarrow 0
2. Re(\lambda) > 0 \rightarrow \infty
3. Re(\lambda) = 0 \rightarrow \text{Steady State}

steady-state

고유벡터 행렬 S

결국 선형 연립 미분방정식 \frac{d\mathbf{u}}{dt} &= A\mathbf{u} 를 푸는 것은 고유벡터 행렬 SA 를 대각화하여 커플링된 연립 미분방정식을 디커플링시켜 간단한 형태로 바꿔 푸는 것이다.

    \[\begin{aligned} \frac{d\mathbf{u}}{dt} &= A\mathbf{u} \\ S\frac{d\mathbf{v}}{dt} &= AS\mathbf{v},\quad \text{set } \mathbf{u} = S\mathbf{v} \\ \frac{d\mathbf{v}}{dt} &= S^{-1}AS\mathbf{v} \\ &= \Lambda \mathbf{v} \end{aligned}\]

성분 별 미분 방정식의 해는 v_i(t) = v_i(0) e^{\lambda_i t} 이므로, 전체 벡터함수 \mathbf{v}(t) 의 미분 방정식의 해는 다음과 같이 쓸 수 있다.

    \[\begin{aligned} \mathbf{v}(t) &= e^{\Lambda t} \mathbf{v}(0) \\ &= \begin{bmatrix} e^{\lambda_1 t} & & & \\ & e^{\lambda_2 t} & & \\ & & \ddots & \\ & & & e^{\lambda_n t} \end{bmatrix} \begin{bmatrix} v_1(0) \\ v_2(0) \\ \vdots \\ v_n(0) \end{bmatrix} \end{aligned}\]

\mathbf{v}(t) = S^{-1}\mathbf{u}(t) 이므로 \mathbf{u}(t) 는,

    \[\begin{aligned} \mathbf{u}(t) &= S e^{\Lambda t} S^{-1} \mathbf{u}(0) \\ &= \begin{bmatrix} \\ \mathbf{x}_1 & \mathbf{x}_2 & \dots & \mathbf{x}_n \\ \\ \end{bmatrix}  \begin{bmatrix} e^{\lambda_1 t} & & & \\ & e^{\lambda_2 t} & & \\ & & \ddots & \\ & & & e^{\lambda_n t} \end{bmatrix} \begin{bmatrix} \\ \mathbf{x}_1 & \mathbf{x}_2 & \dots & \mathbf{x}_n \\ \\ \end{bmatrix}^{-1} \begin{bmatrix} v_1(0) \\ v_2(0) \\ \vdots \\ v_n(0) \end{bmatrix} \\ &= e^{At}u(0) \end{aligned}\]

행렬 지수 e^{At}

행렬 지수 e^{At} 는 무엇을 나타낼까? 행렬대신에 스칼라값일 때 e^x 는 무한급수로 표현가능하다.

    \[e^x = \sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2} + \frac{x^3}{6} + \dots\]

e^{At} 도 같은 방법으로 나타낼 수 있다

    \[e^{At} = \sum_{n=0}^{\infty} \frac{(At)^n}{n!} = I + At + \frac{(At)^2}{2} + \frac{(At)^3}{6} + \dots\]

A 가 대각화 가능할 때 e^{At}

    \[\begin{aligned} e^{At} &= SS^{-1} + S\Lambda S^{-1}t + \frac{S\Lambda^2 S^{-1}}{2}t^2 + \frac{S\Lambda^3 S^{-1}}{6}t^3 + \dots \\ &= S \sum_{n=0}^{\infty}\frac{(\Lambda t)^n}{n!} S^{-1} \\ &= S e^{\Lambda t} S^{-1}  \end{aligned}\]

e^{\Lambda t} 의 대각성분들은 각각의 e^{\lambda_i t} 이므로,

    \[e^{\Lambda t} = \begin{bmatrix} e^{\lambda_1 t} & & & \\ & e^{\lambda_2 t} & & \\ & & \ddots & \\ & & & e^{\lambda_n t} \end{bmatrix}\]

2계 미분 방정식

2계 선형 미분 방정식 y'' + by' + ky = 02\times 2 행렬을 이용해서 1계 미분방정식으로 바꿔 풀 수 있다. 벡터 함수 u = \begin{bmatrix}y'\\y\end{bmatrix} 로 놓고 식을 고쳐쓰면,

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

같은 방식으로 n 계 미분 방정식도 n \times n 행렬로 풀 수가 있다. 첫번째 행에는 계수가 들어가고 그 아래 대각성분들에는 1 이 들어가고 나머지는 0 이 들어간다.

    \[\begin{bmatrix} -b_1 & -b_2 & -b_3 & \dots & b_n \\ 1 & & & & 0 \\ & 1 & & & 0 \\ & & \ddots & & \vdots \\ & & & 1 & 0 \end{bmatrix}\]


선형대수 note 목록

Leave a Reply

Your email address will not be published. Required fields are marked *