logo

암시적 룽게-쿠타 메소드 📂수치해석

암시적 룽게-쿠타 메소드

개요

상미분 방정식 솔버ODE solver인 룽게-쿠타 메소드를 소개한다. 흔히 사용되는 4차 룽게-쿠타 메소드 RK4는 명시적 룽게-쿠타 메소드의 한 종류이다. 본 문서에서는 암시적 룽게-쿠타 메소드implicit Runge-Kutta method에 대해서 설명한다.

빌드업1

$$ y^{\prime} = f(t,y),\quad t \ge t_{0},\quad y(t_{0}) = y_{0} $$

위와 같이 주어진 상미분 방정식을 생각하자. $y$는 $t$에 대한 함수이며, $^{\prime}$은 $t$에 대한 미분을 의미한다. $y_{n} = y(t_{n})$과 같이 표기할 때, 명시적 룽게-쿠타 메소드란 주어진 $y_{n}$에 대해서 $y_{n+1}$을 다음과 같이 근사하는 방법이다.

$$ \begin{equation} y_{n+1} = y_{n} + h\sum_{j=1}^{\nu} b_{j} f(t_{n} + c_{j}h,y(t_{n} + c_{j}h)),\quad n=0,1,2,\cdots \end{equation} $$

이때

$$ \begin{align*} \xi_{1} &= y_{n} \\ \xi_{2} &= y_{n} + ha_{2,1}f(t_{n}, \xi_{1}) \\ \xi_{3} &= y_{n} + ha_{3,1}f(t_{n}, \xi_{1}) + ha_{3,2}f(t_{n} + c_{2}h, \xi_{2}) \\ \vdots & \\ \xi_{\nu} &= y_{n} + h\sum_{i=1}^{\nu-1}a_{\nu, i}f(t_{n} + c_{i}h, \xi_{i}) \end{align*} $$

위의 수식대로라면 각각의 $\xi_{j}$는 $\xi_{j-1}$을 알면 계산할 수 있고, 명시적 메소드에서는 $\xi_{1} = y_{n}$이 되도록 세팅하기 때문에 $\xi_{1}$은 알고 있는 값이다. 다시말해 $\xi_{2}$부터 $\xi_{\nu}$까지 순차적으로 계산 가능하도록 세팅해둔 것이 명시적 메소드이다.

암시적 메소드에서는 각각의 $\xi_{j}$를 계산하기 위해서 모든 $\xi_{i}$가 필요하도록 세팅한다. 즉, $\xi_{j}$들에 대한 연립 방정식을 풀어야 $y_{n+1}$을 계산할 수 있다.

정의

암시적 룽게-쿠타 메소드란, 주어진 $y_{n}$에 대해서 $y_{n+1}$을 다음과 같이 근사하는 방법이다.

$$ y_{n+1} = y_{n} + h\sum_{j=1}^{\nu} b_{j} f(t_{n} + c_{j}h, \xi_{j}),\quad n=0,1,2,\dots $$

이때,

$$ \xi_{j} = y_{n} + h\sum_{i=1}^{\nu}a_{j,i}f(t_{n} + c_{i}h, \xi_{i}),\quad j=1,\dots,\nu $$

이때 $\nu \times \nu$ 행렬 $A = [a_{j,i}]$를 룽게-쿠타 행렬RK matrix이라 한다. 또한 아래의 $\mathbf{b}$와 $\mathbf{c}$를 각각 RK 웨이트RK weights, Rk 노드RK nodes라 한다.

$$ \mathbf{b} = \begin{bmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{\nu} \end{bmatrix} \quad \text{and} \quad \mathbf{c} = \begin{bmatrix} c_{1} \\ c_{2} \\ \vdots \\ c_{\nu} \end{bmatrix} $$

이때

$$ c_{j} = \sum\limits_{i=1}^{\nu} a_{j, i},\quad j=1,2,\dots,\nu $$

또한 식 $(1)$이 $\nu$ 스테이지$\nu$ stages를 가진다고 말하며, 이러한 방법을 $\nu$ 스테이지(혹은 $\nu$ 차) 룽게-쿠타 메소드라 한다.

설명

명시적 메소드에서 행렬 $A = [a_{j,i}]$가 하삼각행렬이었던 것에 반해 암시적 메소드에서 $A$는 임의의 행렬이다.

RK 메소드에서 계수들 $a_{j,i}$, $b_{j}$, $c_{j}$들은 구하는 것이 아니라 선택하여 사용하는 것이다. 계수는 $\begin{array}{c|c} \mathbf{c} & A \\ \hline & \mathbf{b}^{t} \end{array}$와 같은 꼴로 표기하는데 이를 RK 테이블RK tableaux라 한다.

명시적 메소드와 비교하면 당연하게도 푸는데 훨씬 더 많은 시간이 소요된다. 하지만 암시적 메소드의 장점은 빠른 속도가 아니라 해의 안정성에 있다. 명시적 메소드의 단점은 해의 불안정성인데, 이를 위한 대안으로 암시적 메소드가 사용된다고 한다.

같이보기


  1. Arieh Iserles, A First Course in the Numerical Analysis of Differential Equations (2nd Edition, 2009), p41-42 ↩︎