베르누이·탄젠트·시컨트 수의 초고속 계산
이 논문은 베르누이 수, 탄젠트 수(zag), 시컨트 수(zig·Euler) 를 처음 n 개까지 O(n²·(log n)² + o(1)) 비트 연산으로 계산하는 알고리즘을 제시한다. 또한 탄젠트·시컨트 수만을 구할 경우 O(n²) 정수 연산으로 수행되는 간단한 제자리(in‑place) 알고리즘도 제공한다. 기존 Atkinson·Akiyama‑Tanigawa 방식보다 빠르고 메모리 사용량도 적다.
저자: Richard P. Brent, David Harvey
본 논문은 베르누이 수(Bₙ), 탄젠트 수(Tₙ, 흔히 zag), 시컨트 수(Sₙ, 흔히 zig·Euler) 를 효율적으로 계산하는 새로운 알고리즘들을 제안한다. 서론에서는 베르누이 수의 정의와 생성함수 (1), 그리고 정수형 변형 Cₙ = B₂ₙ·(2n)! 의 생성함수 (3)을 소개한다. 또한 탄젠트와 시컨트 수의 정의를 (4) 로 제시하고, 이들 수가 각각 tan z와 sec z 의 전개계수임을 밝힌다.
섹션 2에서는 베르누이 수와 리만 제타 함수와의 관계식 (5), (6) 을 통해 B₂ₙ 의 크기와 비트 길이를 추정하고, VON Staudt‑Clausen 정리를 언급해 분모의 소수 구조를 설명한다. 기존에 널리 쓰이는 재귀식 (7), (8) 은 O(n²) 산술 연산을 필요로 하지만 부동소수점에서 상대 오차가 O(n⁴ ε) 로 급격히 커지는 수치적 불안정을 가진다.
섹션 3에서는 탄젠트·시컨트 수의 성장률을 (11), (12) 로 추정하고, 베르누이 수와의 직접적인 연결식 (14) 를 제시한다. 이 식은 Tₙ 를 정수 형태로 다루면 B₂ₙ 의 분모 문제를 회피할 수 있음을 보여준다.
섹션 4에서는 빠른 베르누이 수 계산을 위해 A(z) = (eᶻ−1)/z 를 역전시켜 B(z) 를 구하는 뉴턴‑FFT 방법을 적용한다. 고정소수점 부동소수점 연산을 N = n·log n + O(n) 비트 정밀도로 수행하면, 각 단계가 O(n log n) 실수 연산, 즉 O(n·(log n)²) 비트 연산에 해당한다. 전체 복잡도는 O(n²·(log n)³ + o(1)) 비트 연산이 된다.
섹션 5는 논문의 핵심 기법인 크네커‑쇤하게 트릭을 도입한다. z = 2^{−p} (p = ⌈n·log n⌉) 로 선택하고 (2n−1)!·tan z 를 고정소수점으로 계산한다. 이때 (2n−1)!·tan z 의 이진 표현 앞 2np 비트는 정수 T′ₖ,ₙ = (2n−1)!·(2k−1)!·Tₖ 로 채워진다. Lemma 1‑4 를 통해 T′ₖ,ₙ < 2^{2p} 와 나머지 항 Rₙ(z) < z^{2n−1} 를 보장해 비트 추출이 정확함을 증명한다. 알고리즘은 다음과 같이 진행된다: (i) p 와 z 를 정하고, (ii) S와 C 를 각각 (2n)!·sin z, (2n)!·cos z 의 근사값으로 계산, (iii) V = round( z^{1−2n}·(2n−1)!·S/C ) 를 구해 V 의 이진 표현에서 T′ₖ,ₙ 를 추출, (iv) Tₖ = T′ₖ,ₙ·(2k−1)!/(2n−1)! 로 복원, (v) (14) 로부터 B₂ₖ 를 얻는다.
복잡도 측면에서 S와 C 를 구하는 데는 factorial 비율 (2n)!/(2k)! 를 O(n²·(log n)²) 시간에 계산하고, N‑비트 나눗셈은 Schönhage‑Strassen + 뉴턴 방법으로 O(N log N log log N) 비트 연산을 필요로 한다. N 은 2n·p+2 ≈ 2n·log n 비트이므로 전체 복잡도는 O(n²·(log n)² + o(1)) 비트 연산이 된다. 메모리 요구량은 O(n·log n) 비트 수준에 머물며, 이는 기존 모듈러 CRT 기반 방법보다 현저히 적다.
섹션 6에서는 탄젠트·시컨트 수만을 목표로 하는 매우 간단한 제자리 알고리즘을 제시한다. 두 수열은 각각 (2n−1)!·tan z 와 (2n)!·sec z 의 전개계수이므로, 이들을 직접 재귀적으로 계산하면 O(n²) 정수 연산만으로 T₁…Tₙ, S₀…Sₙ 를 얻을 수 있다. 이 방법은 구현이 쉬우며 n ≤ 1000 정도의 중간 규모에서는 실제 실행 속도가 뛰어나지만, 이론적인 복잡도는 O(n²·(log n)²) 보다 약간 뒤처진다.
마지막으로 논문은 기존 연구인 Atkinson(탄젠트·시컨트), Akiyama‑Tanigawa(베르누이)와 비교해 제안된 알고리즘이 시간·공간 모두에서 우수함을 강조한다. 또한 베르누이 수 전체를 동시에 구하는 것이 가능함을 보여주며, 향후 연구 과제로 단일 B₂ₙ 을 o(n²) 비트 연산으로 계산하는 문제를 제시한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기