QUICK REVIEW
[论文解读] Improved algorithms for left factorial residues
Vladica Andrejić, Alin Bostan|arXiv (Cornell University)|Apr 19, 2019
Analytic Number Theory Research参考文献 12被引用 4
一句话总结
本论文提出了计算左阶乘剩余 !p mod p 的优化算法,利用矩阵阶乘表示和余数树技术,将时间复杂度降低至 O(n log³⁺⁰ n),适用于所有满足 p ≤ n 的素数。作者将搜索范围扩展至 p < 240,确认在此范围内不存在对 Kurepa 猜想的反例,也未发现社会主义素数,所有计算均基于先进的算术库和高性能硬件完成。
ABSTRACT
We present improved algorithms for computing the left factorial residues $!p=0!+1!+...+(p-1)! \!\mod p$. We use these algorithms for the calculation of the residues $!p\!\mod p$, for all primes $p$ up to $2^{40}$. Our results confirm that Kurepa's left factorial conjecture is still an open problem, as they show that there are no odd primes $p<2^{40}$ such that $p$ divides $!p$. Additionally, we confirm that there are no socialist primes $p$ with $5<p<2^{40}$.
研究动机与目标
- 开发更快的算法以计算左阶乘剩余 !p mod p,其中 !p = 0! + 1! + ... + (p−1)!。
- 将潜在反例的搜索范围扩展至超过以往的限制,以检验 Kurepa 猜想。
- 基于条件 (!p−2)² ≡ 1 (mod p),验证在 p > 5 且 p < 240 范围内不存在社会主义素数。
- 通过矩阵阶乘表示和余数树技术优化计算效率。
- 利用独立的 O(p⁰.⁵⁺⁰) 算法进行高精度结果验证。
提出的方法
- 通过矩阵阶乘 Mn = C1C2⋯Cn = [[n!, !n], [0, 1]] 表示 n! 和 !n,其中 Ck = [[k, 1], [0, 1]]。
- 应用 [4, 定理 8],利用基于快速傅里叶变换的多项式乘法,在 O(p⁰.⁵⁺⁰) 时间内计算单个剩余 rp = !p mod p。
- 使用产品树结构同时计算区间 (m, n] 内所有素数的剩余,实现 O((n−m) log³⁺⁰ n) 的时间复杂度。
- 实施四阶段计算:(1) 产品树用于 Pi,j,(2) 使用产品树计算 Mm mod P0,0,(3) 计算 Ai,j = ∏Ck mod Pi,j,(4) 通过 Ri,j = Mm ⋅ ∏Ai,r mod Pi,j 提取 rp。
- 利用 GMP 和 NTT 库进行大整数算术运算,通过多线程和 SSD 缓存最小化 I/O 阻塞。
- 使用 NTL 库对选定素数运行独立的 O(p⁰.⁵⁺⁰) 算法进行结果验证。
实验结果
研究问题
- RQ1是否存在奇素数 p < 240,使得 p 整除左阶乘 !p,从而与 Kurepa 猜想矛盾?
- RQ2在 5 < p < 240 范围内,是否存在社会主义素数 p > 5,使得所有阶乘 2!, 3!, ..., (p−1)! mod p 互不相同?
- RQ3能否将计算左阶乘剩余的时间复杂度降低至 O(n²/log n) 以下,适用于所有 p < n?
- RQ4启发式模型对区间 (2³⁴, 2⁴⁰) 内 |rp| < ℓ 的分布预测在 ℓ 较大时表现如何?
- RQ5在大规模剩余计算中,内存-空间权衡能在多大程度上提升性能?
主要发现
- 在 p < 240 范围内,不存在满足 p | !p 的奇素数,确认 Kurepa 猜想在此范围内仍未被推翻。
- 在 5 < p < 240 范围内,不存在社会主义素数,扩展了此前对 p < 10¹¹ 的结果。
- 对区间 (2³⁴, 2⁴⁰) 内满足 |rp| < 10⁷ 的素数数量的启发式预测为 3,250,379,与实际计数 3,250,456 非常接近。
- 对于 |rp| < 100,在 (2³⁴, 2⁴⁰) 区间内找到 24 个素数,略低于预期的 32 个,但与大 ℓ 值下的启发式估计一致。
- 阶段 2(计算 Mm mod P0,0)占总计算时间 33,000 核心小时的约 65%,在后期块中甚至达到 80%,表明其为计算瓶颈。
- 实现代码托管于 https://github.com/milostatarevic/left-factorial,使用 64GB 内存和 16TB 磁盘空间,配备 6 核 CPU,并通过 SSD 缓存优化 I/O。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。