이고, B2j 는 베르누이 수(B2=1/6, B4=−1/30, B6=1/42, …)다. 나머지는
∣Rp∣≤(2π)2p2ζ(2p)∫abf(2p)(x)dx
로 묶인다. 오일러가 1730년대 급수 계산용으로, 매클로린이 1742년 『유율론』에서 서로 독립적으로 얻었다.
수치해석에서는 이 공식이 두 방향으로 쓰인다. 적분 → 합 방향으로 읽으면 수치적분의 사다리꼴 공식 오차가 h2,h4,h6,… 의 짝수 거듭제곱으로만 전개된다는 정리가 되고, 이것이 리처드슨 외삽법·롬베르그 적분의 근거다. 합 → 적분 방향으로 읽으면 천천히 수렴하는 급수를 앞 몇 항만 더하고 나머지를 적분과 보정항으로 메우는 급수 가속 기법이 된다. 그리고 공식 자체가 점근 급수라서, 항을 무한정 늘리면 오히려 망가진다는 함정도 같이 딸려 온다.
한 칸 [0,1] 에서 시작하자. B1(x)=x−21 로 두면 B1′=1 이므로 부분적분 한 번에
∫01f(x)dx=2f(0)+f(1)−∫01B1(x)f′(x)dx.
첫 항이 칸 하나짜리 사다리꼴 공식이고, 남은 적분이 오차다. B1 을 적분해 평균 0 인 2차 다항식 B2(x)/2 를 만들고 다시 부분적분하면 끝점 항 2!B2(f′(1)−f′(0)) 가 나오고, 이를 반복하면 베르누이 다항식 Bk(x) 와 그 끝점값인 베르누이 수가 차례로 튀어나온다. 홀수 차수 B2j+1(0)=B2j+1(1)=0 (j≥1) 이라 홀수 도함수 항만 남고 계수는 짝수 베르누이 수뿐이다. 칸을 a 부터 b 까지 이어 붙이면 안쪽 끝점 항이 서로 소거되어(베르누이 다항식을 주기적으로 연장한 함수를 쓰면 매끄럽게 이어진다) 바깥 끝점 a, b 의 항만 남는다. 이 「안쪽은 소거, 바깥만 남는다」가 공식의 모든 쓰임새의 원천이다.
f 가 주기 b−a 의 매끄러운 주기함수면 f(2j−1)(b)=f(2j−1)(a) 가 모든 j 에서 성립해 보정항이 전부 0 이 된다. 그렇다고 오차가 정확히 0 은 아니다 — 공식이 발산하는 점근 급수라 「모든 항이 0」 은 「어떤 거듭제곱 h2p 보다도 빨리 줄어든다」는 뜻일 뿐이다. 실제로 f 가 띠 영역에서 해석적이면 오차는 지수적으로 준다(트레페텐-바이더만 2014).
∫02πecosxdx=2πI0(1) 을 n 점 사다리꼴로 재면:
n
4
8
12
16
오차
3.4×10−2
1.3×10−6
6.5×10−12
9.3×10−18
16점에 배정밀도를 넘는다. 주기함수에서는 같은 점 수의 가우스 구적보다도 대개 낫다. 이 사실이 스펙트럴 방법의 주기 경계 문제, 복소 평면의 원 위 적분(코시 적분으로 도함수·행렬 함수 계산), 그리고 클렌쇼-커티스 구적(변수 치환 x=cosθ 로 비주기 적분을 주기 적분으로 바꾼다)이 사다리꼴 공식을 쓰는 이유다. 「사다리꼴은 2차짜리 저급 공식」이라는 통념은 비주기 함수에서만 맞다1.
로, 10항짜리 합에 보정항 7개를 얹어 16자리를 맞힌다. 오일러가 손으로 바젤 합을 여러 자리까지 계산해 π2/6 을 추측한 것이 이 공식 덕이다2.
같은 방법을 ∑k=1nlnk=lnn! 에 쓰면 스털링 급수
lnn!∼nlnn−n+21ln(2πn)+12n1−360n31+⋯
가 나온다. 단, 상수 21ln2π 는 오일러-매클로린이 정해 주지 않는다(공식은 「어떤 상수」까지만 알려 준다). 그 값은 월리스 곱이나 가우스 적분으로 따로 정한다. n=10 에서 처음 네 항까지 쓴 근사의 나머지는 8.33×10−3 이고 1/(12n) 을 더하면 2.8×10−6, −1/(360n3) 까지 더하면 7.8×10−9 로 준다. 이것이 감마 함수를 큰 인자에서 계산하는 표준 경로다.
베르누이 수는 ∣B2j∣∼4πj(j/πe)2j 로 계승보다 빠르게 자란다. 그래서 끝점 도함수가 f(m)∼m! 로 자라는 평범한 함수(1/x2, lnx 같은)에서는 보정항 급수가 발산한다. 위 바젤 예에서 N=2 로 잡으면(앞 2항만 더함) 보정항 개수 p 에 따른 오차가
p
1
2
4
6
8
10
12
14
오차
9.0×10−4
1.4×10−4
2.2×10−5
1.5×10−5
3.4×10−5
1.8×10−4
2.0×10−3
4.2×10−2
로, p≈6 에서 바닥을 찍고 다시 커진다. 전형적인 점근 급수의 최적 절단이다 — 최소 오차는 대략 가장 작은 항의 크기이고, 시작점 N 을 키우면 그 바닥이 급격히 내려간다(N=10 에서는 p=7 에서도 아직 줄고 있었다). 실무 요령은 그래서 「항을 늘리지 말고 N 을 늘려라」다. 롬베르그 표를 너무 깊이 파면 정확도가 나빠지는 것도 같은 이유이고, 이것은 반올림 탓만이 아니다.
공식이 전제하는 것은 끝점에서의 매끄러움이다. ∫01xdx 처럼 끝점에 특이성이 있으면 오차가 h3/2 같은 비정수 거듭제곱으로 시작해 롬베르그가 기대한 차수를 못 낸다(나보트(1961)의 확장이 이런 비정수 거듭제곱 항까지 전개한다). 피적분함수 꼴을 모르고 롬베르그를 돌리면 관측 차수를 반드시 확인할 것3.