미분방정식의 풀이법으로써의 로젠브록 메서드
메서드 1
상미분방정식 $\dot{y} = f(y)$ 가 주어져 있을 때, 다음과 같은 업데이트 룰을 $s$단계$s$-stage 로젠브록 메서드Rosenbrock method라 한다. $$ \begin{align*} k_{i} =& h f \left( y_{n} + \sum_{j=1}^{i-1} \alpha_{ij} k_{j} \right) + h J \sum_{j=1}^{i} \gamma_{ij} k_{j} , & i = 1 , \cdots , s \\ y_{n+1} =& y_{n} + \sum_{i=1}^{s} b_{i} k_{i} \end{align*} $$ 여기서 $J$ 는 $y_{n}$ 에서 $f$ 의 자코비안이다. $\alpha_{ij}$, $\gamma_{ij}$, $b_{i}$ 는 미리 정해진 계수다.
설명
쉽게 말해, 선형화의 아이디어를 도입한 암시적 룽게-쿠타 메서드다. 보통 상미분방정식을 풀기 위해 널리 쓰이는 RK4과는 달리, 주로 스티프한 문제를 풀기 위해 사용된다2.
암시적 룽게-쿠타 메서드: $$ \begin{align*} \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 \\ 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 \end{align*} $$
선형화라는 아이디어는 자코비안 $J$ 에서 쉽게 확인할 수 있으니, $s = 1 , 2$ 에 대한 예를 보고 암시적 메서드라는 점에 대해서 감을 잡아보자.
ROS1(1단계 로젠브록 메서드)
$$ \begin{align*} k_{1} =& \left( I - \gamma h J \right)^{-1} h f \left( y_{n} \right) \\ y_{n+1} =& y_{n} + k_{1} \end{align*} $$
$k_{i}$ 의 정의에 따르면 양변에 $k_{i}$ 가 모두 있기 때문에 행렬방정식의 풀이가 동반된다. 방정식의 수가 많아질수록 이에 대한 소요가 커지기 때문에, 로젠브록 메서드는 태생적으로 차원의 수가 큰 경우에는 적합하지는 않다는 걸 짐작할 수 있다.
ROS2(2단계 로젠브록 메서드)
$$ \begin{align*} k_{1} =& \left( I - \gamma h J \right)^{-1} h f \left( y_{n} \right) \\ k_{2} =& \left( I - \gamma h J \right)^{-1} h f \left( y_{n} + k_{1} \right) \\ y_{n+1} =& y_{n} + b_{1} k_{1} + b_{2} k_{2} \end{align*} $$
2단계만 보아도 로젠브록 메서드가 근본적으로 룽게-쿠타 메서드의 일종이라는 점을 알 수 있다.

저희들의 저서 「줄리아 프로그래밍」이 2024 세종도서 학술부문에 선정되었습니다!

