룽게-쿠타법

편집 역사 토론
수치해석 마지막 수정: 2026-07-03 09:48:17

룽게-쿠타법
Runge–Kutta Methods
분야수치해석 × 상미분방정식
대상초기값 문제 (IVP)
대표 도식고전적 4차 RK (RK4)
제안자C. Runge (1895), M. W. Kutta (1901)
적응형 대표RK45, Dormand–Prince

1. 개요[편집]

오일러법은 정직하다. 정직하게 틀린다는 게 문제일 뿐.

룽게-쿠타법(Runge–Kutta methods)은 상미분방정식(ODE)의 초기값 문제를 한 스텝 안에서 여러 번 기울기를 평가해 높은 정확도로 수치 적분하는 단일 스텝 방법의 한 계열이다. 독일 수학자 카를 룽게와 마르틴 쿠타가 19세기 말~20세기 초에 정립했다. 대상은 다음 형태의 문제다.

dydt=f(t,y),y(t0)=y0\frac{dy}{dt} = f(t, y), \qquad y(t_0) = y_0

이런 방정식은 분자동역학의 입자 궤적부터 회로 과도해석, 화학 반응 속도, 궤도 역학까지 시뮬레이션의 심장부에 앉아 있다. 대부분 해석해가 없으니 결국 컴퓨터로 시간을 조금씩 전진시켜야 하는데, 이 “조금씩 전진”을 얼마나 똑똑하게 하느냐가 룽게-쿠타법의 존재 이유다.

2. 오일러법의 한계[편집]

가장 원초적인 방법은 전진 오일러법이다. 현재 위치의 기울기 하나로 다음 스텝을 찍는다.

yn+1=yn+Δtf(tn,yn)y_{n+1} = y_n + \Delta t \, f(t_n, y_n)

직관적이고 구현도 5분이면 끝나지만, 국소절단오차가 O(Δt2)O(\Delta t^2), 전역오차가 O(Δt)O(\Delta t)인 1차 방법이라 정확도가 처참하다. 스텝 초입의 기울기만 믿고 스텝 전체를 직진하니, 곡률이 있는 해를 따라가지 못하고 계속 바깥으로 미끄러진다. 정확도를 10배 올리려면 스텝을 10배 잘게 쪼개야 하는데, 이는 계산량 10배를 의미한다. 여기서 나온 발상이 “스텝 한 칸 안에서 기울기를 여러 번 재보자”는 것이다.

3. RK4: 4차 정확도의 국룰[편집]

가장 유명한 고전적 4차 룽게-쿠타(RK4)는 한 스텝 안에서 기울기를 네 번 평가한다.

k1=f(tn, yn)k2=f ⁣(tn+Δt2, yn+Δt2k1)k3=f ⁣(tn+Δt2, yn+Δt2k2)k4=f ⁣(tn+Δt, yn+Δtk3)\begin{aligned} k_1 &= f(t_n,\ y_n) \\ k_2 &= f\!\left(t_n + \tfrac{\Delta t}{2},\ y_n + \tfrac{\Delta t}{2} k_1\right) \\ k_3 &= f\!\left(t_n + \tfrac{\Delta t}{2},\ y_n + \tfrac{\Delta t}{2} k_2\right) \\ k_4 &= f\!\left(t_n + \Delta t,\ y_n + \Delta t\, k_3\right) \end{aligned}

이 네 기울기를 심프슨 공식 비슷한 가중치로 섞어 다음 값을 낸다.

yn+1=yn+Δt6(k1+2k2+2k3+k4)y_{n+1} = y_n + \frac{\Delta t}{6}\left( k_1 + 2k_2 + 2k_3 + k_4 \right)

중간점 기울기 k2,k3k_2, k_3에 두 배 가중치를 준 것이 핵심. 이 조합 덕에 RK4는 전역오차가 O(Δt4)O(\Delta t^4)인 4차 정확도를 달성한다. 스텝을 절반으로 줄이면 오차가 1/16로 줄어든다는 뜻이라, 오일러법과는 체급 자체가 다르다. 함수 평가를 스텝당 4번 하는 비용으로 이 정확도를 사니, 가성비의 균형점으로 수십 년간 사랑받아 “일단 RK4 돌려”가 국룰이 되었다.1

4. 차수와 국소절단오차[편집]

룽게-쿠타법의 “차수”(pp)는 한 스텝에서 발생하는 국소절단오차가 O(Δtp+1)O(\Delta t^{p+1}), 전역오차가 O(Δtp)O(\Delta t^{p})임을 의미한다.

방법스텝당 함수 평가국소절단오차전역오차(차수)
전진 오일러1O(Δt2)O(\Delta t^2)O(Δt)O(\Delta t)
RK2 (중점법)2O(Δt3)O(\Delta t^3)O(Δt2)O(\Delta t^2)
RK4 (고전)4O(Δt5)O(\Delta t^5)O(Δt4)O(\Delta t^4)

주의할 점은 차수가 높다고 무조건 좋은 건 아니라는 것. 6차, 8차로 올릴수록 스텝당 함수 평가가 급증하고, 해가 매끄럽지 않으면(불연속·급변) 고차의 이점이 사라진다. 또한 4차를 넘어가면 같은 차수를 내는 데 필요한 스테이지 수가 차수보다 많아지는 “버처 장벽(Butcher barrier)“이 있어, 실무의 가성비 스위트 스폿은 대개 4~5차에 몰려 있다.

5. 명시적 vs 암시적: 강성 방정식[편집]

지금까지 본 것은 전부 명시적(explicit) 룽게-쿠타다. 다음 값을 과거 정보만으로 곧장 계산한다. 문제는 강성(stiff) 방정식 — 서로 시간 스케일이 극단적으로 다른 성분이 섞인 방정식이다. 빠른 성분은 이미 소멸했는데도 안정성 때문에 Δt\Delta t를 그 빠른 스케일에 맞춰 잘게 쪼개야 해서, 명시적 방법은 도저히 못 버틴다.2

이때 등장하는 것이 암시적(implicit) 룽게-쿠타다. 미지수 yn+1y_{n+1}이 우변에도 등장하는 형태라, 매 스텝 비선형 방정식을 풀어야 한다.

yn+1=yn+Δtf(tn+1, yn+1)(후진 오일러의 예)y_{n+1} = y_n + \Delta t\, f(t_{n+1},\ y_{n+1}) \quad \text{(후진 오일러의 예)}

이 내부 방정식을 푸는 데 보통 뉴턴-랩슨법이 동원된다. 스텝당 비용은 훨씬 비싸지지만, 강성 문제에서는 명시적 방법보다 압도적으로 큰 Δt\Delta t를 안정적으로 쓸 수 있어 오히려 총 계산량이 준다. 화학 반응, 연소, 회로 해석처럼 강성이 심한 분야에서는 암시적 방법이 사실상 필수다.

6. 적응 스텝: RK45와 도르망-프린스[편집]

해가 완만한 구간에서는 스텝을 크게, 급변하는 구간에서는 잘게 잡는 게 이상적이다. 이걸 자동으로 해주는 것이 적응 스텝(adaptive step-size) 방법이다. 핵심 아이디어는 서로 다른 차수의 두 해를 거의 같은 기울기 평가로 동시에 뽑아, 그 차이를 국소오차의 추정치로 삼는 것.

  • RK45(Runge–Kutta–Fehler, Fehlberg): 4차 해와 5차 해를 공유된 스테이지로 함께 계산해 그 차이로 오차를 추정하고, 목표 허용오차에 맞춰 다음 Δt\Delta t를 조절한다.
  • 도르망-프린스(Dormand–Prince, DOPRI5): RK45 계열의 개량판으로, MATLAB의 ode45, SciPy의 RK45 기본 솔버로 채택되어 오늘날 가장 널리 굴러가는 적응형 도식이다.3

덕분에 사용자는 스텝 크기를 손으로 튜닝하는 노가다에서 해방되고, “허용오차만 던져주면 알아서 스텝을 조절하는” 편안한 세계에 입장하게 된다.

7. 분자동역학과의 관계: 심플렉틱 아님[편집]

룽게-쿠타는 범용 ODE 솔버로서 강력하지만, 모든 곳에서 최선은 아니다. 대표적 반례가 분자동역학이나 궤도 역학처럼 에너지가 장시간 보존되어야 하는 해밀턴계다. RK4는 정확도는 높지만 심플렉틱(symplectic) 적분자가 아니다. 즉 위상공간의 부피를 보존하지 않아, 아주 긴 시간 적분에서 총 에너지가 서서히 표류(drift)한다. 한 주기는 예쁘게 맞지만, 수백만 스텝을 돌리면 행성이 슬금슬금 나선을 그리며 이탈하는 식이다.

그래서 이 분야에서는 정확도 차수가 낮더라도 심플렉틱 성질을 가진 베를레 적분이나 리프프로그(leapfrog) 계열이 표준으로 쓰인다. “정확도”와 “장기 안정성·보존성”이 항상 같은 방향을 가리키지는 않는다는, 수치해석의 뼈아픈 교훈이다. 도구를 문제에 맞게 고르는 것이 곧 실력이다.

8. 관련 문서[편집]

9. Footnotes[편집]

  1. RK4가 워낙 유명해서 “룽게-쿠타법 = RK4”로 착각하기 쉽지만, 룽게-쿠타는 무수히 많은 도식을 아우르는 계열의 이름이다. 각 도식은 버처 표(Butcher tableau)라는 계수 표 하나로 완전히 규정된다. 오일러법조차 1스테이지 룽게-쿠타로 볼 수 있다.

  2. 강성의 악명 높은 예가 화학 반응 네트워크다. 어떤 반응은 나노초, 어떤 반응은 초 단위로 진행되는데, 명시적 솔버는 가장 빠른 반응에 Δt\Delta t를 인질로 잡혀 현생을 포기하게 된다. “왜 이렇게 안 끝나지?” 싶으면 강성을 의심하라.

  3. ode45의 45는 4차와 5차 해를 함께 쓴다는 뜻이지, “45번째 방법”이 아니다. 이걸 처음 알았을 때의 배신감을 많은 공대생이 공유한다.