1. 개요
| 파울하버 공식 Faulhaber's Formula | |
|---|---|
| 대상 | 거듭제곱 합 |
| 형태 | 에 대한 차 다항식, 계수는 베르누이 수 |
| 최고차 두 항 | |
| 홀수 | 의 다항식 (파울하버 1631, 증명 야코비 1834) |
| 통일 공식 | 야코프 베르누이 『추측술』 (1713) |
| 대칭 | |
를 아는 사람은 많다. 그다음 칸, 그 다음 칸을 400년 전에 17제곱까지 손으로 채운 사람이 있었다.
파울하버 공식(Faulhaber’s formula)은 거듭제곱 합
을 의 다항식으로 쓰는 공식이다. 오늘날 표준형은 베르누이 수 를 써서
로 쓴다. 여기서 는 관례의 베르누이 수다. 처음 몇 개는
이름은 17세기 울름의 계산가 요한 파울하버에게서 왔다. 그는 1631년 『Academia Algebrae』에서 17제곱 합까지의 공식을 내놓았지만 베르누이 수라는 일반 구조는 보지 못했고, 그 통일은 야코프 베르누이의 『추측술』(1713, 사후 출간) 몫이었다. 그래서 위 공식을 「베르누이 공식」이라 부르는 문헌도 많다. 한편 파울하버가 정말로 알아챈 것은 다른 구조였고, 그게 이 문서 둘째 절의 주제다.
베르누이 수 문서가 위 공식의 정확 산술 검산(10제곱 합, 32자리)을 이미 다뤘으니, 이 문서는 부호 관례 문제, 파울하버의 -다항식, 공식이 가진 구조(대칭·인수·선형 계수), 다른 유도 경로, 그리고 이 다항식을 부동소수점으로 평가하면 무슨 일이 생기는지를 다룬다.
2. 의 부호 — 끝이 이냐 이냐
베르누이 수는 만 관례가 갈린다. 생성함수 에서 나오는 쪽은 이고, 에서 나오는 쪽은 다. 나머지 는 같다. 이 차이가 거듭제곱 합에서는 합의 끝점으로 나타난다.
즉 관례로 위 식을 그대로 쓰면 까지가 아니라 까지의 합이 나온다. 두 결과의 차이가 정확히 , 곧 항의 부호 차이 다. 베르누이 수 문서는 관례에 를 곱해 같은 결과를 냈다(, 홀수 에서는 이라 부호가 의미 없다). 라이브러리마다 관례가 다르니(SymPy 는 버전에 따라 바뀌기까지 했다) 공식을 코드로 옮길 때 하나만 넣어 봐도 바로 잡힌다.1
3. 파울하버가 본 것 — 홀수 제곱은 의 다항식
으로 두면 놀랍게도
이다. 에서 정확 산술로 모두 확인된다. 일반적으로 홀수 에 대해 는 의 차 다항식이고, 이면 로 나누어떨어진다. 짝수 제곱은 로 시작해 가 의 다항식이 된다. 예를 들어
파울하버는 이 -형태로 17제곱까지 계산했고, 계수를 구하는 체계적 방법도 갖고 있었던 것으로 보인다. 그러나 「모든 홀수 에서 성립한다」는 증명은 1834년 야코비가 처음 출판했다. 커누스(1993)는 파울하버의 원저를 다시 읽고 그가 남긴 계수표의 구조를 현대 언어로 재구성했다.
왜 인가는 다음 절의 대칭에서 바로 나온다.
4. 구조 — 대칭, 인수, 선형 계수
반사 대칭. 다항식 를 음의 정수로 연장하면
이 성립한다( 에서 로 확인). 가 홀수면 는 를 축으로 대칭이고, 에 대칭인 다항식은 의 다항식, 곧 의 다항식이다. 파울하버의 -형태가 여기서 나온다. 짝수 면 반대칭이라 인수를 하나 품는다. 위 , 의 이 그것이다.
인수. 이고 대칭에 의해 이므로 로 나누어떨어진다. 홀수 은 까지 나누어떨어진다.
계수에 대한 사실. 정확 산술로 펼친 는
다. 최고차 은 적분 이고, 다음 항 는 사다리꼴의 끝점 보정이다. 그리고 의 1차 계수가 정확히 다 — 의 , 의 , 홀수 에서는 0. 다시 말해 로 베르누이 수를 정의할 수도 있다. 이 「적분 + 끝점 보정 + 베르누이 수 보정」 구조는 오일러-매클로린 공식을 에 적용한 것과 같고, 다항식이라 보정항이 유한 개에서 끊겨 정확해진다.
5. 유도 경로들
- 망원합(파스칼 1654). 을 이항 전개해 으로 더하면 좌변이 망원되어 를 로 쓰는 점화식이 나온다. 손계산에는 이게 제일 빠르다. 에드워즈(1986)는 이 점화식을 하삼각 행렬로 쓰고 그 역행렬에서 베르누이 수가 튀어나오는 것을 보였다.
- 스털링 수. ( 는 제2종 스털링 수)로 바꾸면 하키 스틱 항등식으로
이다(, 로 확인). 계수가 전부 양의 정수라 아래의 부동소수점 문제가 없다. 이산 미적분에서 가 거듭제곱 역할을 하는 「하강 계승」 관점이다.
- 생성함수. 에 의 베르누이 전개를 곱하면 표준형이 바로 나온다.
- 보간. 가 차 다항식이라는 것만 알면 의 값으로 결정된다. 그 값들로 라그랑주 보간을 하면 매우 큰 에 대한 를 연산에 구할 수 있어 정수론·경시대회 쪽에서 표준 기법이다.
6. 수치 계산 — 다항식으로 평가하면 위험하다
을 계산하는 방법은 (1) 직접 합, (2) 펼친 다항식을 호너 방법으로 평가, (3) 정수 산술 셋이다. 배정밀도에서 (2) 를 쓰면 언제 깨지나 실측해 보자.
| 다항식의 최대 계수 | 다항식 평가 상대오차 | ||
|---|---|---|---|
| 10 | 1000 | 1 | |
| 30 | 1000 | ||
| 40 | 3 | ||
| 40 | 2 | ||
| 40 | 1 | 5.0 (답 1 대신 6) | |
| 60 | 2 | 2025 |
이 크면 최고차 항이 지배해 문제가 없다. 그러나 가 크고 이 작으면 계수들(베르누이 수가 들어간 거대한 유리수)이 부호를 바꿔 가며 서로 상쇄해야 작은 답이 나오는데, 배정밀도는 그 상쇄를 감당하지 못한다. 을 6 으로, 을 2000 배 넘게 틀린다. 베르누이 수가 로 계승보다 빨리 커진다는 것(베르누이 수의 증가 속도 절)이 그대로 계수 크기로 나타난 것이다.
실무 결론은 간단하다. 부동소수점이 필요하면 직접 합(같은 표의 모든 경우에서 상대오차 이하)이나 스털링 수 형태를 쓰고, 정확한 값이 필요하면 정수 산술을 쓴다. 펼친 파울하버 다항식은 기호 계산과 증명용이다.2
7. 시뮬레이션 코드에서 만나는 곳
- 연산 횟수 세기. 가우스 소거법의 소거 단계는 번째 피벗에서 나눗셈 번, 곱셈·덧셈 번을 하므로 총 연산이 이다. 에서 정확히 661 650 이고, 흔히 쓰는 근사 과 0.8% 차이다. 「LU 는 」의 출처가 의 최고차항이다.3
- 등간격 격자 위의 모멘트. 격자점 에서 를 닫힌꼴로 쓰면 수치적분 공식(뉴턴-코츠)의 다항식 정확도를 손으로 검산하거나, 균일 격자의 관성 모멘트·분산을 루프 없이 계산할 수 있다. 사다리꼴 규칙이 를 얼마나 틀리는지가 정확히 위 구조절의 「끝점 보정 + 베르누이 보정」 항이다.
- 차분 연산자 시험. 는 후진 차분 를 만족하는 다항식이므로, 이산 적분(누적합) 루틴의 정확도 시험용 정답으로 쓰기 좋다.
8. 관련 문서
- 베르누이 수 · 오일러-매클로린 공식 · 리만 제타 함수 · 점근 급수
- 수치적분 · 롬베르그 적분 · 가우스 소거법 · 부동소수점 연산
- 스털링 수 · 탄젠트 수 · 보간과 근사 · 호너 방법
9. Footnotes
-
의 부호 전쟁은 아직도 끝나지 않았다. 「 가 자연스럽다」 파와 「생성함수가 인데 무슨 소리냐」 파가 위키 편집 분쟁까지 벌인다. 결론: 둘 다 맞고, 코드에서는 을 넣어 봐라. ↩
-
「닫힌꼴이 있으니 루프보다 빠르고 정확하겠지」라는 직관이 정면으로 배신당하는 사례. 닫힌꼴은 정확한 산술에서 정확한 것이지, 부동소수점에서 정확하다는 보장은 아무도 안 했다. ↩
-
연산 횟수를 의 최고차항만 남기고 부르는 건 국룰이지만, 짜리 작은 블록을 수백만 개 푸는 코드에서는 저차항 때문에 근사가 8% 넘게 어긋난다. 작은 행렬의 세계에서는 저차항도 현생이다. ↩
이 문서의 주요 출처
- D. E. Knuth (1993), Johann Faulhaber and sums of powers, Mathematics of Computation 61(203), 277-294
- C. G. J. Jacobi (1834), De usu legitimo formulae summatoriae Maclaurinianae, J. reine angew. Math. 12, 263-272
- A. W. F. Edwards (1986), A quick route to sums of powers, The American Mathematical Monthly 93(6), 451-455
의견을 반영할게요. 감사합니다.