前置知识:费马小定理、欧拉定理、拉格朗日定理

阶和原根,是理解模 既约剩余系 乘法结构的重要工具.基于此,可以定义 离散对数 等概念.更为一般的讨论可以参见抽象代数部分 群论 和 环论 等页面相关章节.

阶

本节中,总是假设模数 和底数 互素,即 ,也记作 .

对于 ,幂次 呈现一种循环结构.这个循环节的最小长度,就是 模 的阶.阶就定义为幂 第一次回到起点 时的指数:

阶

对于 且 ,满足同余式 的最小正整数 称作 模 的阶(the order of modulo ),记作 或 .

注

在 抽象代数 中,这里的「阶」就是模 既约剩余系关于乘法形成的群中,元素 的阶.用记号 表示阶只适用于这个特殊的群.下面的诸多性质可以直接推广到抽象代数中群元素的阶的性质.

另外还有「半阶」的概念,在数论中会用 记号表示.它是满足同余式 的最小正整数.半阶不是群论中的概念.阶一定存在,半阶不一定存在.

幂的循环结构

利用阶,可以刻画幂的循环结构.对于幂 ,可以将指数 对阶 做带余除法:

进而,利用幂的运算律,就得到

这说明,对于任意指数的幂,可以将它平移到第一个非负的循环节.由此,可以得到一系列关于阶的性质.

性质 1

对于 且 ,幂次 模 两两不同余.

性质 2

对于 且 ,同余关系 成立,当且仅当 .

欧拉定理 中,同余关系 对于所有 都成立.结合 性质 2,这说明对于所有 ,都有 .换句话说, 是所有 的阶的一个公倍数.对于一个正整数 ,所有 的阶 的最小公倍数,记作 ,就是 的 Carmichael 函数.后文会详细讨论它的性质.

和其他的循环结构类似,可以根据 的阶计算 的阶.

性质 3

对于 且 ,有

乘积的阶

设 是与 互素的不同整数.如果已知阶 和 ,那么,同样可以获得一些关于它们乘积 的阶 的信息.

性质 4

对于 且 ,那么,有

对于 和 的阶互素的情形,这一结论有着更为简单的形式.

性质 4'

对于 且 ,那么,有

一般情形中,性质 4 得到的界已经是紧的.乘积的阶取得下界的情形很容易构造:例如 时,,但是它们的乘积的阶 .

尽管一般情形中,乘积 的阶未必是它们的阶的最小公倍数,但是总能找到一个元素使得它的阶等于这个最小公倍数.

性质 5

对于 且 ,总是存在 且 使得

这一结论常用于构造出指定阶的元素.

原根

原根是一些特殊元素——它的阶就等于所有模 既约剩余系的个数.

原根

对于 ,如果存在 且 使得 ,就称 为 模 的原根(primitive root modulo ).其中, 是 欧拉函数.

并非所有正整数 都存在模 的原根.由上文的 性质 1,如果模 的原根 存在,那么, 所在的同余类互不相同,构成模 既约剩余系.特别地,对于素数 ,余数 对于 两两不同.

注

在 抽象代数 中,原根就是循环群的生成元.这个概念只在模 既约剩余系关于乘法形成的群中有「原根」这个名字,在一般的循环群中都称作「生成元」.并非每个模 既约剩余系关于乘法形成的群都是循环群,存在原根就表明它同构于循环群,如果不存在原根就表明不同构.

模为 时,模 整数乘法群就是 .这显然是循环群,所以原根就是 .

原根判定定理

如果已知模数 的全体素因子,那么很容易判断模 的原根是否存在.

定理

对于整数 和 ,那么, 是模 的原根,当且仅当对于 的每个素因数 ,都有

原根个数

原根如果存在,也未必唯一.一般地,对于模 既约剩余系中所有元素可能的阶和某个阶的元素数量,有如下结论:

定理

如果正整数 有原根 ,那么,当且仅当 时,模 的 阶元素存在,且恰有 个.特别地,模 的原根个数为 .

原根存在定理

本节将建立如下原根存在定理:

定理

模 的原根存在,当且仅当 ,其中, 是奇素数且 .

为说明这一结论,需要分别讨论如下四种情形:

  1. ,原根分别是 ,显然存在.

  2. 是奇素数的幂,其中, 为奇素数,.

引理 1

对于奇素数 ,模 的原根存在.

引理 2

对于奇素数 和 ,模 的原根存在.

  1. ,其中, 为奇素数,.

引理 3

对于奇素数 和 ,模 的原根存在.

  1. ,其中, 为奇素数,.

引理 4

假设 且不存在奇素数 和正整数 使得 或 .那么,模 的原根不存在.

综合以上四个引理,我们便给出了一个数存在原根的充要条件.

求原根的算法

对于任何存在原根的模数 ,要求得它的原根 ,只需要枚举可能的正整数,并逐个判断它是否为原根即可.枚举时,通常有两种处理方式:从小到大逐一枚举、随机生成一些正整数.这两种枚举方式的实际效率相当.

从小到大逐一枚举时,得到的是模 的最小原根 ,因此,枚举部分的复杂度取决于 的大小.对此,有如下估计:

  • 上界的估计:王元 1 和 Burgess2 证明了素数 的最小原根 ,其中 .Cohen, Odoni, and Stothers3 和 Elliott and Murata4 分别证明了该估计对于模数 和 也成立,其中, 是奇素数.由于对于 ,模 (或 )的原根也是模 (或 )的原根,所以,最小原根的上界 对于所有情形都成立.
  • 下界的估计:Fridlander5 和 Salié6 证明了存在 ,使得对于无穷多素数 ,都有最小原根 成立.
  • 平均情形的估计:Burgess and Elliott7 证明了平均情形下素数 的最小原根 .Elliott and Murata8 进一步猜想素数 的最小原根的平均值是一个常数,且通过数值验证 9 得到它大概为 .随后,Elliott and Murata4 将这一猜想推广到模 的情形.

根据这些分析,暴力寻找最小原根时,枚举部分的复杂度 是可以接受的.

除了从小到大枚举外,还可以通过随机生成正整数并验证的方法寻找原根.原根的密度并不低:10

所以,通过随机方法寻找原根时,枚举部分的期望复杂度为 .

需要注意的是,判定原根时需要已知 的质因数分解.算法竞赛 常用质因数分解算法 中,复杂度最优的 Pollard Rho 算法也需要 的时间.因此,只要 的质因数分解是未知的,无论采用哪种枚举方式,求原根的复杂度瓶颈都在于质因数分解这一步,而非枚举验证的部分.

Carmichael 函数

相对于模 元素的阶这一局部概念,Carmichael 函数是一个全局概念.它是所有与 互素的整数的幂次的最小公共循环节.

Carmichael 函数

对于 ,定义 为能够使得同余关系 对于所有 都成立的最小正整数 .函数 就称为 Carmichael 函数.

根据 性质 2,能够使得 对于所有 都成立,意味着 对于所有 都成立.也就是说,符合这一条件的正整数 ,一定是全体 的公倍数.因此,最小的这样的 就是它们的最小公倍数:

这也常用作 Carmichael 函数的等价定义.

反复应用 性质 5 可知,一定存在某个元素 使得 .因此,上式也可以写作

取得这一最值的元素 也称为模 的 ‑原根.它对于所有模数 都存在.

递推公式

Carmichael 函数是一个 数论函数.本节讨论它的一个递推公式,并由此给出原根存在定理的另一个证明.

虽然不是积性函数,但是计算 Carmichael 函数时,同样可以对互素的因子分别处理.

引理

对于互素的正整数 ,有 .

因此,接下来只要计算 Carmichael 函数在素数幂处的取值.首先,处理 的幂次的情形.

引理

对于 且 ,有 ,,且对于 都有 .

在这个引理的证明过程中,实际上得到了关于模 既约剩余系结构的刻画:

推论

设模数为 且 .那么,所有奇数都同余于唯一一个 形式的整数同余,其中, 且 .也就是说, 两两不同余,且构成一个既约剩余系.

然后,处理奇素数幂的情形.

引理

对于 ,其中, 是奇素数且 ,有 .

将本节的结果简单归纳,就得到 Carmichael 函数的递推公式:

定理

对于任意正整数 ,有

利用该递推公式可以加强前文的结果:

推论

对于正整数 ,有 .

比较原根和 Carmichael 函数的定义可知,模 的原根存在,当且仅当 .从 Carmichael 函数的递推公式中,容易归纳出如下结果:

推论

模 的原根存在,当且仅当 ,其中, 是奇素数且 .

由于本节对于递推公式的证明并没有用到原根存在定理,因此,这就构成了对该定理的又一个证明.

Carmichael 数

利用 Carmichael 函数,可以讨论 Carmichael 数(卡迈克尔数,OEIS:A002997)的性质与分布.这是 Fermat 素性测试 一定无法正确排除的合数.

Carmichael 数

对于合数 ,如果对于所有整数 都有同余式 成立,就称 为 Carmichael 数.

最小的 Carmichael 数是 .

由 Carmichael 函数的定义可知,合数 是 Carmichael 数当且仅当 ,其中 为 Carmichael 函数.进一步地,可以得到如下判断合数 是否为 Carmichael 数的方法:

Korselt 判别法 1

合数 是 Carmichael 数当且仅当 无平方因子且对 的任意质因子 均有 .

从这一判别法出发,可以建立 Carmichael 数的一些简单性质:

推论

Carmichael 数是奇数,没有平方因子,而且至少有 个不同的素因子.

利用解析数论还可以得到 Carmichael 数分布的一些性质.设 为小于等于 的 Carmichael 数个数.Alford, Granville, and Pomerance11 证明,对于充分大的 ,有 .由此,Carmichael 数有无限多个.在这之前,Erdős12 已经证明,,其中 为常数.因此,Carmichael 数的分布(相对于素数来说)十分稀疏.实际上,有 13 ,.

参考资料与注释

Footnotes

  1. Wang Y. “On the least primitive root of a prime.” (in Chinese). Acta Math Sinica, 1959, 4: 432–441; English transl. inSci. Sinica, 1961, 10: 1–14. ↩

  2. BURGESS, David A. “On character sums and primitive roots.” Proceedings of the London Mathematical Society, 1962, 3.1: 179-192. ↩

  3. Cohen, S. D., R. W. K. Odoni, and W. W. Stothers. “On the least primitive root modulo p 2.” Bulletin of the London Mathematical Society 6, no. 1 (1974): 42-46. ↩

  4. Elliott, P. D. T. A., and L. Murata. “The least primitive root mod 2p2.” Mathematika 45, no. 2 (1998): 371-379. ↩ ↩2

  5. FRIDLENDER, V. R. “On the least n-th power non-residue.” Dokl. Akad. Nauk SSSR. 1949. p. 351-352. ↩

  6. SALIÉ, Hans. “Über den kleinsten positiven quadratischen Nichtrest nach einer Primzahl.” Mathematische Nachrichten, 1949, 3.1: 7-8. ↩

  7. Burgess, D. A., and P. D. T. A. Elliott. “The average of the least primitive root.” Mathematika 15, no. 1 (1968): 39-50. ↩

  8. Elliott, Peter DTA, and Leo Murata. “On the average of the least primitive root modulo p.” Journal of The london Mathematical Society 56, no. 3 (1997): 435-454. ↩

  9. 更多结果可以参考 Least prime primitive root of prime numbers. ↩

  10. 如果模 的原根存在,那么,,且等号仅在 处取得.进一步地,当 时,对欧拉函数 有估计:.将这两者结合,就得到文中的表达式.关于欧拉函数的该估计,可以参考论文 Rosser, J. Barkley, and Lowell Schoenfeld. “Approximate formulas for some functions of prime numbers.” Illinois Journal of Mathematics 6, no. 1 (1962): 64-94. ↩

  11. W. R. Alford; Andrew Granville; Carl Pomerance (1994). “There are Infinitely Many Carmichael Numbers.” Annals of Mathematics. 140 (3): 703–722. ↩

  12. Erdős, P. (1956). “On pseudoprimes and Carmichael numbers.” Publ. Math. Debrecen. 4 (3–4): 201–206. ↩

  13. PINCH, Richard GE. The Carmichael numbers up to . ↩