[论文解读] Sharpening "Primes is in P" for a large family of numbers
本文提出针对满足 (a|n) = −1 的整数 n ≡ 1 (mod 4) 的确定性素性测试,以及针对满足 (a|n) = (1−a|n) = −1 的整数 n ≡ −1 (mod 4) 的确定性素性测试。这些算法利用有限域中的代数结构,并通过模 (n, x^{2s} − a) 的单项式同余关系降低验证复杂度,在 k = ν₂(n−1) 或 ν₂(n+1) 超过 2 log log n 时,时间复杂度可达到 ˜O(log n)^4,显著优于 AKS 算法在有利情况下的 ˜O(log n)^12 运行时间。
We give Deterministic Primality tests for large families of numbers. These tests were inspired in the recent and celebrated Agrawal-Kayal-Saxena (AKS) test. The AKS test has proved polynomial complexity O ((log n)^12) and they expect it to be O ((log n)^6) . Our tests have proved complexity O ((log n)^6). The complexity decreases to O ((log n)^4) as the power of 2 dividing n + 1 or n - 1 increases. On large enough primes, our tests, in their worst case, run at least 2^9 times faster than the AKS test.
研究动机与目标
- 为一大类密集的整数开发比 AKS 算法更快的确定性素性测试。
- 通过利用 ν₂(n±1) 较大的数的结构性质,解决 AKS 算法多项式次数过高的局限性。
- 通过放宽对 ν₂(n−1) 或 ν₂(n+1) 的要求,推广并改进现有的 Proth 和 Lucas-Lehmer 测试。
- 通过利用有限域中的自同构和单项式对称性,减少多项式同余验证的次数。
- 提供一种可根据 2-adic 估值 k = ν₂(n−1) 或 ν₂(n+1) 自适应调整复杂度的框架,在 k 较大时实现接近最优的性能。
提出的方法
- 使用单项式同余关系 (1 + mx)^n ≡ 1 + mx^n (mod n, x^{2s} − a),其中 s = ⌈2 log log n⌉,替代 AKS 中的 (m + x)^n ≡ m + x^n (mod n, x^r − 1)。
- 通过利用保持单项式结构的域自同构,将所需 m 值的数量从 2√r log n 减少到 2^{max(s−k,0)}。
- 利用伽罗瓦自同构下 1 + mx^n 的共轭也满足相同同余关系的事实,实现批量验证。
- 将 s 定义为满足 |G_n| > n^{2s/2} 的最小整数,其中 G_n 是在弗罗贝尼乌斯映射下封闭的单项式群,相比 AKS 中固定的 r,效率更高。
- 利用雅克比符号条件 (a|n) = −1 或 (a|n) = (1−a|n) = −1,确保在 Z_n[i] 或 Z_n[√a] 中存在合适的代数结构。
- 为 n ≡ 1 和 n ≡ −1 (mod 4) 分别引入参数化测试 A_u 和 B_u,其复杂度取决于 k 和 u。
实验结果
研究问题
- RQ1对于 ν₂(n−1) 或 ν₂(n+1) 较高的数,是否可以在保持确定性的前提下加速素性测试?
- RQ2如何利用代数对称性减少 AKS 类算法中多项式同余检查的次数?
- RQ3当已知 n 模 r 的阶较大时,是否可以不依赖 r 为素数的条件,显著改进 AKS 算法的复杂度?
- RQ4是否可以将素性测试的复杂度根据 n 的结构(特别是其 2-adic 估值)实现自适应?
- RQ5是否可能构造一种素性测试,使其在一大类整数上以 ˜O(log n)^4 时间运行,达到 AKS 算法的最佳情况性能,但常数因子小得多?
主要发现
- 针对 n ≡ 1 (mod 4) 的算法运行时间为 2^{−min(k, [2 log log n])} ˜O(log n)^6,当 k ≥ 2 log log n 时可优化至 ˜O(log n)^4。
- 对于 ν₂(n−1) ≥ 2 log log n 的大素数,该算法比 AKS 算法的最佳情况快至少 2^11 倍。
- 针对 n ≡ −1 (mod 4) 的算法在最坏情况下相比 AKS 实现了 2^9 倍的加速,复杂度同样达到 ˜O(log n)^4。
- 当 k > 1/2 log n 时,算法运行时间为 ˜O(log n)^2,接近此类数族的最优复杂度。
- 测试 A_u 的复杂度约为 2^{4(u−1)} 2^{−min(max(k−s,0), 2(u−1))} ˜O(log n)^6,显示出对 u 和 k 的指数依赖性。
- 作者推测,通过调整 s 和群结构,该算法可进一步优化,使所有 k 从 2 到 1/2 log n 的情况下均达到 ˜O(log n)^2 复杂度。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。