롬베르그 적분

오류 제보
수치해석 마지막 수정: 2026-07-22 04:10:11

○ 공개 검수 대기 표시 기준 보기

1. 개요

롬베르그 적분(Romberg integration)은 사다리꼴 공식으로 얻은 근사값들을 리처드슨 외삽법으로 반복 가속하여, 매끄러운 함수의 정적분을 지수적으로 빠르게 수렴시키는 수치적분 기법이다. 격자 간격 hh를 반씩 줄여가며 만든 사다리꼴 근사값의 오차가 h2h^2의 거듭제곱으로 전개된다는 사실을 이용해, 낮은 차수 근사 두 개를 조합해 오차의 최저차항을 소거하고 더 높은 차수의 근사값을 뽑아낸다. 1955년 독일 수학자 베르너 롬베르그(Werner Romberg)가 제안했다.1

한마디로 요약하면 “사다리꼴 여러 번 돌려서 표 만들고, 옆칸끼리 빼서 오차 갈아 없애기”다. 구현이 몇 줄 안 되는데 성능은 과분하게 좋아서, 1차원 매끄러운 적분에서는 가성비 최강으로 꼽힌다.

2. 사다리꼴에서 출발한다

구간 [a,b][a,b]를 nn등분한 합성 사다리꼴 공식은 다음과 같다.

T(h)=h[f(a)+f(b)2+∑k=1n−1f(a+kh)],h=b−anT(h) = h\left[\frac{f(a)+f(b)}{2} + \sum_{k=1}^{n-1} f(a+kh)\right], \quad h = \frac{b-a}{n}

이 근사값 T(h)T(h)의 진짜 값 II에 대한 오차는, 피적분함수가 충분히 매끄러우면 오일러-매클로린 공식(Euler–Maclaurin formula)에 의해 짝수 차수만 남는 급수로 전개된다.

T(h)=I+c1h2+c2h4+c3h6+⋯T(h) = I + c_1 h^2 + c_2 h^4 + c_3 h^6 + \cdots

여기서 계수 cic_i는 구간 끝에서의 도함수 값으로 결정되며 hh에는 무관하다. 오차가 홀수 차수 없이 h2,h4,h6,…h^2, h^4, h^6, \dots로만 이루어진다는 이 성질이 롬베르그 마법의 핵심이다. 이것 덕분에 한 번 외삽할 때마다 차수가 2씩 뛴다.

3. 리처드슨 외삽으로 갈아 없애기

간격을 반으로 줄인 T(h/2)T(h/2)를 함께 쓰면 최저차항 c1h2c_1 h^2을 소거할 수 있다. T(h/2)=I+c1h2/4+⋯T(h/2) = I + c_1 h^2/4 + \cdots 이므로, 둘을 적절히 섞으면

4 T(h/2)−T(h)4−1=I+O(h4)\frac{4\,T(h/2) - T(h)}{4-1} = I + \mathcal{O}(h^4)

가 되어 h2h^2항이 사라진다. 놀랍게도 이렇게 나온 값은 정확히 심프슨 공식과 같다. 즉 “사다리꼴을 두 번 돌려 외삽하면 심프슨이 공짜로 나온다.” 여기서 멈추지 않고 h4h^4항까지 없애면 불(Boole) 공식이, 또 없애면 그 이상이 나온다. 이 소거를 표로 체계화한 것이 롬베르그 적분이다. 외삽의 일반 원리는 리처드슨 외삽법 문서를 참고.

4. 롬베르그 표

첫 열 Ri,0R_{i,0}에 간격을 반씩 줄인 사다리꼴 값을 쌓고(R0,0=T(h0)R_{0,0}=T(h_0), R1,0=T(h0/2)R_{1,0}=T(h_0/2), …), 오른쪽 열은 왼쪽 두 값을 조합해 채운다.

Ri,j=Ri,j−1+Ri,j−1−Ri−1,j−14 j−1R_{i,j} = R_{i,j-1} + \frac{R_{i,j-1} - R_{i-1,j-1}}{4^{\,j} - 1}

여기서 4j4^j의 지수 jj가 열 번호다. 열이 하나 오른쪽으로 갈 때마다 오차 차수가 2씩 올라가, Ri,jR_{i,j}의 오차는 O(h2(j+1))\mathcal{O}(h^{2(j+1)})이 된다. 대각선 Rn,nR_{n,n}이 가장 정확한 추정값이다. 실무에서는 대각선 성분끼리의 차 ∣Rn,n−Rn−1,n−1∣|R_{n,n} - R_{n-1,n-1}|을 수렴 판정에 쓴다 — 이 차이가 사실상 오차의 훌륭한 추정치라서, 적응 적분의 종료 조건으로도 유용하다.2

새 사다리꼴 값을 계산할 때 이전 함수값을 전부 재활용할 수 있다는 것도 큰 장점. Ri,0R_{i,0}을 만들 때 Ri−1,0R_{i-1,0}에서 이미 계산한 점들을 다시 부르지 않고, 그 사이에 새로 낀 점들만 더해주면 된다. 함수 호출이 비싼 상황에서 이 재귀적 사다리꼴(recursive trapezoid)은 축복이다.

5. 얼마나 빠른가 — MC와 붙여 보자

매끄러운 함수라면 롬베르그는 몇 단계 만에 배정밀도 한계까지 도달한다. 표의 대각선을 mm까지 내려가면 오차가 h2(m+1)h^{2(m+1)}로 줄어드니, 사실상 격자를 몇 번 반으로 접기만 해도 유효숫자가 우수수 늘어난다. 이 지수적 수렴을 확률적 방법과 대비해 보면 격차가 실감난다.

MC 적분은 표본 N에 대해 오차가 1/√N로만 줄어 지겹도록 느리다. 롬베르그는 격자를 반씩 줄이며 외삽해 오차 차수를 2씩 끌어올려 훨씬 빠르게 수렴한다 — 두 수렴 속도를 대비해서 보라

몬테카를로 방법은 차원의 저주에서 자유롭다는 강력한 무기가 있지만, 1차원 매끄러운 적분에서 O(N−1/2)\mathcal{O}(N^{-1/2})의 수렴은 답답하다. 유효숫자 하나 더 얻으려면 표본을 100배 늘려야 한다. 반면 롬베르그는 매끄러운 함수에서 단계마다 유효숫자가 여러 개씩 튀어오른다. 물론 이 우열은 어디까지나 저차원 + 충분히 매끄러운 함수에서의 이야기다. 고차원으로 가면 격자 기반 방법은 점 개수가 지수적으로 폭발해 몬테카를로에 완패한다.

6. 언제 쓰고, 언제 배신당하나

롬베르그가 빛나는 조건은 명확하다. 피적분함수가 매끄럽고(무한히 미분 가능에 가깝고), 차원이 낮으며, 특이점이나 불연속이 구간 안에 없을 때. 이 조건이 깨지면 오일러-매클로린 전개의 전제가 무너져 지수 수렴은 신기루가 된다.

  • 끝점 특이점: ∫01x dx\int_0^1 \sqrt{x}\,dx처럼 도함수가 끝에서 발산하면 오차 급수가 h2h^2의 정수 거듭제곱이 아니게 되어 외삽 가속이 무뎌진다. 변수 치환으로 특이점을 죽이거나 가우스 구적법으로 갈아타는 게 낫다.
  • 진동·불연속: 고주파 진동이나 계단 불연속이 있으면 사다리꼴 자체가 헤매서 표 전체가 오염된다.3
  • 잡음 섞인 데이터: 실험 데이터처럼 노이즈가 있으면 외삽이 노이즈를 증폭한다. 외삽은 신호에는 관대하지만 잡음에는 잔인하다.4

그래서 현업의 국룰은 이렇다. 매끄러운 해석함수 1~2차원 적분은 롬베르그나 가우스 구적, 특이점·고차원은 다른 무기. 롬베르그는 만능이 아니라 “얌전한 함수 전용 스포츠카”다.

7. 관련 문서

8. Footnotes

  1. Romberg, W. (1955). “Vereinfachte numerische Integration.” Det Kongelige Norske Videnskabers Selskab Forhandlinger. 노르웨이 학회지에 실린 두 쪽짜리 논문이 반세기 넘게 수치해석 교과서 필수 코너로 살아남았다. 짧고 굵은 논문의 표본. ↩

  2. 대각선 차이가 오차 추정치가 되는 건 사실상 공짜 A/S다. 별도 계산 없이 “이쯤이면 됐다”는 신호를 표 자신이 알려주는 셈. 물론 매끄러운 함수라는 전제가 깨지면 이 신호도 거짓말을 한다. ↩

  3. 그래서 진동 적분에는 필론(Filon)법 같은 전용 무기가 따로 있다. 롬베르그한테 진동함수를 던지는 건 스포츠카로 비포장 산길을 오르는 격. ↩

  4. 외삽의 숙명이다. 리처드슨 외삽은 “오차가 규칙적인 급수를 이룬다”는 믿음 위에 서 있는데, 잡음은 그 규칙을 정면으로 배신한다. 믿음이 배신당하면 외삽은 오히려 독이 된다. ↩

이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 수치적분 약 5분 더 탐색 →