룽게-쿠타 방법(Runge-Kutta method)은 상미분 방정식의 수치적 해를 구하기 위해 사용되는 반복 알고리즘의 한 유형이다. 1900년경 독일의 수학자 카를 룽게(Carl Runge)와 마르틴 쿠타(Martin Kutta)에 의해 개발되었다.
이 방법은 초기값 문제(Initial Value Problem)에서 미지의 함수를 단계적으로 근사하는 과정에서, 오일러 방법(Euler method)보다 높은 정확도를 제공하기 위해 중간 단계의 기울기를 가중 평균하여 다음 단계의 값을 예측한다. 단계 수(Order)에 따라 2차, 3차, 4차 룽게-쿠타 방법 등이 있으며, 그중 4차 룽게-쿠타 방법(RK4)이 계산량 대비 정확도가 높아 과학 및 공학 계산에서 가장 널리 쓰이는 표준적인 방법 중 하나이다.
주요 특징은 다음과 같다.
- 단일 단계법(One-step method): 바로 이전 단계의 정보만 사용하여 다음 단계를 계산한다.
- 자체 기동성(Self-starting): 다단계법(Multistep method)과 달리 과거 여러 단계의 이력이 필요 없어 구현이 용이하다.
- 적응적 단계 크기 제어(Adaptive step size): 임베디드 룽게-쿠타 방법(예: Runge-Kutta-Fehlberg, Dormand-Prince)을 사용하면 오차를 추정하여 단계 크기를 자동으로 조절할 수 있다.
고전적인 4차 룽게-쿠타 방법(RK4)의 공식은 다음과 같다. 미분 방정식 $y' = f(t, y)$, 초기 조건 $y(t_0) = y_0$일 때, 단계 크기 $h$로 $y_{n+1}$을 구하는 과정은 아래와 같다.
$$ \begin{aligned} k_1 &= f(t_n, y_n) \ k_2 &= f(t_n + \tfrac{h}{2}, y_n + \tfrac{h}{2}k_1) \ k_3 &= f(t_n + \tfrac{h}{2}, y_n + \tfrac{h}{2}k_2) \ k_4 &= f(t_n + h, y_n + hk_3) \ y_{n+1} &= y_n + \tfrac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4) \end{aligned} $$
이 방법은 심플렉틱(Symplectic) 성질을 보존하지 못하므로 장기 적분 시 에너지 보존이 중요한 해밀턴 시스템에는 심플렉틱 적분기(Symplectic integrator)가 선호되기도 한다.