비에트 공식이란?
1593년 프랑스 수학자 프랑수아 비에트(François Viète)는 상수 π를 닫힌 해석적 형태로 표현한, 역사상 최초로 알려진 무한곱을 발표했습니다. 이 공식은 오로지 1/2의 중첩된 제곱근만으로 이루어져 있습니다. 이 계산기는 원하는 항의 개수만큼 이 무한곱을 계산해, 값이 얼마나 빠르게 3.14159265358979로 수렴하는지 보여줍니다. 순수 수학이므로 세계 어디에서 계산하든 동일한 결과가 나옵니다.
$$\frac{2}{\pi} = \sqrt{\tfrac12} \cdot \sqrt{\tfrac12 + \tfrac12\sqrt{\tfrac12}} \cdot \sqrt{\tfrac12 + \tfrac12\sqrt{\tfrac12 + \tfrac12\sqrt{\tfrac12}}} \cdots$$
사용 방법
반복 횟수(계산할 곱셈 항의 개수, 기본값 100)를 입력하고, 화면에 표시할 자릿수를 선택하세요. 항이 하나 늘어날 때마다 내접 정다각형의 변의 수가 두 배로 늘어나며, 정사각형(4각형)에서 시작해 \(2^{n+1}\)각형까지 나아갑니다. 이 재구현은 표준 IEEE 754 배정밀도(double precision)를 사용하므로 π는 약 15자리 유효숫자까지 계산됩니다. 표시 자릿수 선택은 단지 결과를 그 자릿수로 반올림해 보여주는 역할만 합니다.
공식 해설
\(s = 0\), \(y = 1\)에서 시작합니다. 각 단계 \(k\)마다 \(s\)를 \((1 + s) / 2\)의 제곱근으로 갱신한 뒤, 그 값을 누적 곱 \(y\)에 곱합니다. 각 인수는 \(\cos(\pi / 2^{k+1})\)과 같으며, 이 코사인들의 곱은 \(2/\pi\)로 수렴합니다. 따라서 π는 누적 곱 \(y\)로 2를 나눈 값으로 근사됩니다. 다음 점화식으로 정리할 수 있습니다.
$$s_k=\sqrt{\tfrac{1+s_{k-1}}{2}},\quad y_k=\prod_{i=1}^{k}s_i,\quad \pi=\frac{2}{y_k}$$
추정값은 아래쪽에서 π를 향해 점점 올라가며, 항이 하나 늘어날 때마다 약 1개의 이진 자릿수가 정확해집니다.
계산 예시
\(k=1\): \(s = \sqrt{0.5} = 0.70710678\), \(y = 0.70710678\), \(\pi \approx 2.82842712\). \(k=2\): \(s = 0.92387953\), \(y = 0.65328148\), \(\pi \approx 3.06146746\). \(k=3\): \(\pi \approx 3.12144515\). \(k=4\): \(\pi \approx 3.13654849\). \(k=20\)에 이르면 이미 소수점 14자리까지 π와 일치하며, 반복 횟수가 약 30 이상이면 배정밀도 범위에서 3.14159265358979로 값이 고정됩니다.
자주 묻는 질문
표시 자릿수를 15자리 이상으로 늘려도 왜 소용이 없나요? 표준 배정밀도 부동소수점은 약 15~16자리 유효숫자만 담을 수 있어, 선택한 자릿수와 상관없이 내부 계산 자체가 그 이상을 분해해내지 못하기 때문입니다.
반복 횟수가 너무 작으면 왜 추정값이 부정확한가요? 이 곱은 기하급수적으로 수렴합니다. 항이 몇 개밖에 없으면 여전히 변의 수가 적은 다각형을 근사하는 셈이라, 값이 π보다 눈에 띄게 작게 나옵니다.
결과가 π를 넘어서는 경우도 있나요? 없습니다. 모든 인수는 1보다 작은 코사인 값이므로, \(2/y\)는 항상 π보다 작은 과소추정값으로서 아래쪽에서 π에 접근합니다.