배경지식
1996학년도 대학수학능력시험에는 다음과 같은 문제가 실려있다. (자연/인문/예체능계열 A형 10번)
$k=1, 2, 3, 4, \cdots$에 대하여 $b_k$가 0 또는 1이고
$$\log_7 2 = \frac {b_1} 2 + \frac {b_2 } {2^2} + \frac{b_3} {2^3} + \frac {b_4}{2^4} + \cdots$$
일 때, $b_1$, $b_2$, $b_3$의 값을 순서대로 적으면? [1.5점]
... [보기 생략] ...
이 문제는 $b_3$가 있는 부분 까지를 정수로 만들기 위해 양변에 $2^3$을 곱해서
$$8 \log_7 2 = b_1 \times 2^2 + b_2 \times 2 + b_3 + \left( \frac {b_4} 2 + \cdots \right)$$
와 같이 정리하면 오른쪽 식의 괄호 부분은
$$\frac 1 2 + \frac 1 {2^2} + \frac 1 {2^3} + \cdots = 1$$
보다 작거나 같은데, $\log_7 2$가 유리수가 아님을 알고 있으므로 1보다 작다. 즉, 괄호를 친 부분은 $8 \log_7 2$의 소수 부분이다. 이에 따라 $b_1 \times 2^2 + b_2 \times 2 + b_3$은 정수 부분이 된다.
또한 $8 \log_7 2 = \log_7 2^8 = \log_7 256$이고 $7^2 < 256 < 7^3$이므로 이 수의 정수 부분은 2라는 것을 얻을 수 있다. 이제 2가 이진법의 수로 $10_{(2)}$와 같으므로 $b_1 = 0$, $b_2 =1$, $b_3 =0$임을 알 수 있다.
이 문제는 $\log_7 2$를 이진법의 전개식으로 소수점 아래 처음 세 자리 수를 구하는 것으로 해석할 수 있다. 만약 $b_5$를 구하려고 했었다면 $2^5 \log_7 2$의 정수 부분을 얻어냈어야 한다. 결국 $b_1$, $b_2$, $b_3$, $b_4$의 정보를 어떤 식으로든 알아야 다섯 번째 숫자를 구할 수 있다.
BBP 공식
BBP 공식은 Bailey–Borwein–Plouffe formula를 줄여서 부르는 말이다. 1997년 발표된 다음 논문의 세 저자 이름을 따서 지었다.
Bailey, David H.; Borwein, Peter B.; Plouffe, Simon (1997). "On the Rapid Computation of Various Polylogarithmic Constants". Mathematics of Computation. 66 (218): 903–913.
공식은 다음과 같이 생겼다.
$$\pi =\sum _{k=0}^{\infty }\left[{\frac {1}{16^{k}}}\left({\frac {4}{8k+1}}-{\frac {2}{8k+4}}-{\frac {1}{8k+5}}-{\frac {1}{8k+6}}\right)\right]$$
위에서 언급한 논문을 보면 알 수 있지만, 정작 이 식의 증명은 몇 줄 되지 않는다. 논문의 중요한 부분은 이 식이 16진수로 표현된 $\pi$의 소수점 아래 임의의 자리 숫자를 구하는 데 아주 효율적이라는 것이다. 위 수능 문제에서 하듯이 $16^n$을 양변에 곱하면 소수점 아래 $n$번째 자릿수를 계산할 수 있는데 (분수가 곱해져 있으므로 약간의 계산이 필요하기는 하지만), $\pi$를 표현하는 다른 방식과 차별되는 특징은 16진수라는 걸림돌이 있기는 하지만, 다른 자릿수를 구하지 않고 바로 타겟이 되는 자리의 수를 얻어낼 수 있다는 것이다.
여기서는 위 식을 만들어낸 기본 아이디어를 설명하고, 식을 유도해 보기로 한다. 고등학교 미적분 수준에서 유도할 수 있는데, 결론적으로 위 식은
$$ \pi = \int_0^1 \frac 4 {x^2+1} \mathrm d x $$
와 같은 식이다. 이 식을 위와 같은 식으로 바꾸기 위해서는 추가로 약간의 지식이 더 필요하다.
- 상수 $p$($0<p<1$)에 대해 $0<x<p$에서 다음 식이 성립한다. $$ \frac 1 {1-x} = \sum_{k=0}^\infty x^k $$
- 상수 $p$($0<p<1$)에 대해 다음 식이 성립한다. $$ \int_0^p \sum_{k=0}^\infty x^k \mathrm d x = \sum_{k=0}^\infty \int_0^p x^k \mathrm dx $$
- 다음 식이 성립한다. $$ \int_{-1}^0 \left(- \frac t {t^2 +1} + \frac {t+1}{t^2 +2t -1} \right) \mathrm dt = 0$$
마지막 식은 $\dfrac 1 {1+x^2}$ 을 $\dfrac 1 {1-x^8}$ 꼴로 고치기 위해 필요한 식이다. 이 식이 전체 과정에서 가장 중요하다.
유도 과정은 다음과 같다.