모듈러 산술 기반 초고속 정수 곱셈

이 논문은 정수 곱셈을 위한 새로운 알고리즘을 제시한다. 기존의 슈오엔하게‑스트라센 알고리즘을 개선하여 \(O(N\log N\,2^{O(\log^* N)})\) 시간 복잡도를 달성했으며, 복소수 대신 모듈러 연산만을 사용한다. 핵심 아이디어는 다변량 다항식 곱셈과 Furer의 기법을 결합하고, 적절한 소수와 2M‑차 원시 단위근을 갖는 링 \(R=\mathbb Z/p^c\mathbb Z

저자: Anindya De, Piyush P Kurur, Ch

**1. 서론 및 배경** 정수 곱셈은 알고리즘 이론에서 기본적인 연산이며, 그 시간 복잡도는 다양한 분야에 직접적인 영향을 미친다. 전통적인 O(N²) 방식에서 시작해 Karatsuba의 O(N^{log₂3})≈O(N^{1.585}) 알고리즘, Toom‑Cook, 그리고 Schönhage‑Strassen의 O(N log N log log N) 알고리즘이 차례로 제시되었다. Schönhage‑Strassen은 두 가지 변형을 제시했는데, 하나는 복소수 근사와 FFT를 이용하고, 다른 하나는 2M‑차 원시 단위근을 갖는 모듈러 링 \(\mathbb Z/(2M+1)\) 을 이용해 복소수 연산을 완전히 배제했다. 그러나 두 변형 모두 O(N log N log log N) 복잡도에 머물렀다. 2016년 Furer는 복소수 기반 FFT를 개선해 O(N log N 2^{O(\log^*N)}) 복잡도를 달성했지만, 복소수 근사와 오차 제어가 필요했다. 이 논문은 “복소수 없이” 같은 복잡도를 얻고자, Furer의 핵심 아이디어(다변량 다항식, 내부·외부 DFT, 원시 단위근 활용)를 모듈러 산술 환경에 옮긴다. **2. 알고리즘 설계의 핵심 아이디어** *2.1 링 선택* 목표는 2M‑차 원시 단위근을 갖는 작은 링을 찾는 것이다. 저자들은 \(R = \mathbb Z/p^{c}\mathbb Z

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기