롬베르그 적분

편집 역사 토론
수치해석 마지막 수정: 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=1n1f(a+kh)],h=banT(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 이므로, 둘을 적절히 섞으면

4T(h/2)T(h)41=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,j1+Ri,j1Ri1,j14j1R_{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,nRn1,n1|R_{n,n} - R_{n-1,n-1}|을 수렴 판정에 쓴다 — 이 차이가 사실상 오차의 훌륭한 추정치라서, 적응 적분의 종료 조건으로도 유용하다.2

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

5. 얼마나 빠른가 — MC와 붙여 보자[편집]

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

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

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

6. 언제 쓰고, 언제 배신당하나[편집]

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

  • 끝점 특이점: 01xdx\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. 외삽의 숙명이다. 리처드슨 외삽은 “오차가 규칙적인 급수를 이룬다”는 믿음 위에 서 있는데, 잡음은 그 규칙을 정면으로 배신한다. 믿음이 배신당하면 외삽은 오히려 독이 된다.