阶和原根,是理解模 既约剩余系 乘法结构的重要工具.基于此,可以定义 离散对数 等概念.更为一般的讨论可以参见抽象代数部分 群论 和 环论 等页面相关章节.
阶
本节中,总是假设模数 和底数 互素,即 ,也记作 .
对于 ,幂次 呈现一种循环结构.这个循环节的最小长度,就是 模 的阶.阶就定义为幂 第一次回到起点 时的指数:
阶
对于 且 ,满足同余式 的最小正整数 称作 模 的阶(the order of modulo ),记作 或 .
注
在 抽象代数 中,这里的「阶」就是模 既约剩余系关于乘法形成的群中,元素 的阶.用记号 表示阶只适用于这个特殊的群.下面的诸多性质可以直接推广到抽象代数中群元素的阶的性质.
另外还有「半阶」的概念,在数论中会用 记号表示.它是满足同余式 的最小正整数.半阶不是群论中的概念.阶一定存在,半阶不一定存在.
幂的循环结构
利用阶,可以刻画幂的循环结构.对于幂 ,可以将指数 对阶 做带余除法:
进而,利用幂的运算律,就得到
这说明,对于任意指数的幂,可以将它平移到第一个非负的循环节.由此,可以得到一系列关于阶的性质.
性质 1
对于 且 ,幂次 模 两两不同余.
证明
考虑反证.假设存在两个数 ,且 ,则有 .但是,.这与阶的最小性矛盾,故原命题成立.
性质 2
对于 且 ,同余关系 成立,当且仅当 .
证明
如前文所述,.由 性质 1 可知, 中唯一一个使得 成立的 就是 .因此,,当且仅当 ,也就是 .
欧拉定理 中,同余关系 对于所有 都成立.结合 性质 2,这说明对于所有 ,都有 .换句话说, 是所有 的阶的一个公倍数.对于一个正整数 ,所有 的阶 的最小公倍数,记作 ,就是 的 Carmichael 函数.后文会详细讨论它的性质.
和其他的循环结构类似,可以根据 的阶计算 的阶.
性质 3
对于 且 ,有
证明
乘积的阶
设 是与 互素的不同整数.如果已知阶 和 ,那么,同样可以获得一些关于它们乘积 的阶 的信息.
性质 4
对于 且 ,那么,有
证明
因为 是 和 的倍数,所以,由 性质 2 可知
再次应用性质 2,就得到
这就得到右侧的整除关系.
反过来,由于
所以,应用性质 2,就得到 .两侧消去 ,就得到
消去公因子后,两个分式互素,这就得到
同理,也有
由于两个整除关系的左侧互素,有
这就得到左侧的整除关系.
对于 和 的阶互素的情形,这一结论有着更为简单的形式.
性质 4'
对于 且 ,那么,有
证明
一般情形中,性质 4 得到的界已经是紧的.乘积的阶取得下界的情形很容易构造:例如 时,,但是它们的乘积的阶 .
尽管一般情形中,乘积 的阶未必是它们的阶的最小公倍数,但是总能找到一个元素使得它的阶等于这个最小公倍数.
性质 5
对于 且 ,总是存在 且 使得
证明
这一结论常用于构造出指定阶的元素.
原根
原根是一些特殊元素——它的阶就等于所有模 既约剩余系的个数.
原根
对于 ,如果存在 且 使得 ,就称 为 模 的原根(primitive root modulo ).其中, 是 欧拉函数.
并非所有正整数 都存在模 的原根.由上文的 性质 1,如果模 的原根 存在,那么, 所在的同余类互不相同,构成模 既约剩余系.特别地,对于素数 ,余数 对于 两两不同.
注
在 抽象代数 中,原根就是循环群的生成元.这个概念只在模 既约剩余系关于乘法形成的群中有「原根」这个名字,在一般的循环群中都称作「生成元」.并非每个模 既约剩余系关于乘法形成的群都是循环群,存在原根就表明它同构于循环群,如果不存在原根就表明不同构.
模为 时,模 整数乘法群就是 .这显然是循环群,所以原根就是 .
原根判定定理
如果已知模数 的全体素因子,那么很容易判断模 的原根是否存在.
定理
对于整数 和 ,那么, 是模 的原根,当且仅当对于 的每个素因数 ,都有
证明
必要性显然.为证明充分性,考虑使用反证法.如果 不是模 的原根,那么一定有 .由 性质 2 和欧拉定理可知,.由此,设 是 的一个素因子,就有 .再次应用性质 2 就得到
但是, 也是 的一个因子,这就与题设条件矛盾.由此,原命题的充分性成立.
原根个数
原根如果存在,也未必唯一.一般地,对于模 既约剩余系中所有元素可能的阶和某个阶的元素数量,有如下结论:
定理
如果正整数 有原根 ,那么,当且仅当 时,模 的 阶元素存在,且恰有 个.特别地,模 的原根个数为 .
证明
根据原根的定义,所有模 的既约同余类都可以写作 的形式,且 是 之一.由 性质 3,这些元素的阶等于
因此, 阶元素存在,当且仅当 .而且,对于 ,令 ,这些元素的集合就是
这些元素对应的 恰为那些不超过 且与 互素的正整数.由欧拉函数的定义,这就是 .
原根存在定理
本节将建立如下原根存在定理:
定理
模 的原根存在,当且仅当 ,其中, 是奇素数且 .
为说明这一结论,需要分别讨论如下四种情形:
-
,原根分别是 ,显然存在.
-
是奇素数的幂,其中, 为奇素数,.
引理 1
对于奇素数 ,模 的原根存在.
证明
证明分为两步.
第一步:对于 ,同余方程 恰有 个互不相同的解.
令 ,多项式
根据 欧拉定理,同余方程 恰有 个互不相同的解.这些解分别是 和 的零点.由 Lagrange 定理,它们分别至多只能有 个和 个互不相同的零点.由于 ,前者只能恰好有 个互不相同的零点.这说明同余方程 恰有 个互不相同的解.
第二步:对于 , 阶元素恰好有 个.
对于 的所有因子排序,然后应用归纳法.因为 阶元素只能是 ,只有一个,归纳起点成立.对于 ,根据前文的 性质 2,同余方程 的解一定满足 .因此,其中 阶元素个数为
第二个等号是归纳假设,第三个等号是欧拉函数的性质.由数学归纳法,就知道对于所有 ,都恰有 个 阶元素.
特别地,对于 ,恰有 个 阶元素.因此,模 的原根存在.
引理 2
对于奇素数 和 ,模 的原根存在.
证明
证明分为三步.
第一步:存在模 的原根 ,使得 .
任取一个模 的原根 .如果它不符合条件,即 ,那么,可以证明 符合条件: 也是模 的原根,且
第二步:上文选取的 ,对于任意 ,都有 .
对 的选取保证了 时,该式成立.假设该式对于 的情形成立,现要证明 的情形也成立.对于任意 ,由欧拉定理可知,存在 使得
成立.由归纳假设,.因为 ,所以
结合 可知,.由数学归纳法可知,命题成立.
第三步:上文选取的 ,对于任意 ,都是模 的原根.
对 的选取保证了 时,命题成立.假设命题对于 成立,现在要证明命题对于 也成立.将 简记为 .由于 ,必然也有 .由归纳假设可知,.因此,由前文阶的 性质 2,就有 .又由欧拉定理可知,.但是,.因此,只有两种可能: 或 .但是,第二步的结论说明,.因此,可能性 并不成立.唯一的可能性就是 .这就说明 是 的原根.由数学归纳法,命题对于所有 都成立.
- ,其中, 为奇素数,.
引理 3
对于奇素数 和 ,模 的原根存在.
证明
设 是模 的原根,则 也是模 的原根.两者之间必然有一个是奇数,不妨设它就是 .显然,.设 ,需要证明 .由欧拉定理,.同时,根据定义 ,所以,,因此,由阶的 性质 2 和 的选取可知,.由欧拉函数表达式可知,.所以,.这就说明 是模 的原根.
引理 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 函数的定义可知,与 互素的所有整数 都是同余方程 的解.在模 的意义下,该方程共有 个互不相同的解.根据 Lagrange 定理 可知,.同时,欧拉定理要求,.因此,.
对于 且 的情形,可以从证明 是 阶元开始.为此,有
所以,.另外,设模 的原根为 ,那么,由于 ,所以,由阶的 性质 2 可知,.由 Carmichael 函数的定义和欧拉定理可知
因此,.
将本节的结果简单归纳,就得到 Carmichael 函数的递推公式:
定理
对于任意正整数 ,有
利用该递推公式可以加强前文的结果:
推论
对于正整数 ,有 .
比较原根和 Carmichael 函数的定义可知,模 的原根存在,当且仅当 .从 Carmichael 函数的递推公式中,容易归纳出如下结果:
推论
模 的原根存在,当且仅当 ,其中, 是奇素数且 .
由于本节对于递推公式的证明并没有用到原根存在定理,因此,这就构成了对该定理的又一个证明.
Carmichael 数
利用 Carmichael 函数,可以讨论 Carmichael 数(卡迈克尔数,OEIS:A002997)的性质与分布.这是 Fermat 素性测试 一定无法正确排除的合数.
Carmichael 数
对于合数 ,如果对于所有整数 都有同余式 成立,就称 为 Carmichael 数.
最小的 Carmichael 数是 .
由 Carmichael 函数的定义可知,合数 是 Carmichael 数当且仅当 ,其中 为 Carmichael 函数.进一步地,可以得到如下判断合数 是否为 Carmichael 数的方法:
Korselt 判别法 1
合数 是 Carmichael 数当且仅当 无平方因子且对 的任意质因子 均有 .
证明
首先证明条件的必要性.假设 .检查 Carmichael 函数的递推公式可知,如果 有平方因子 ,那么,一定有 .但是 ,矛盾.同理,Carmichael 函数的递推公式说明,,所以,也有 .
然后证明条件的充分性.因为 是合数,所以它一定有奇素因子 ,因此 是偶数, 也就一定是奇数.对于无平方因子的奇合数 ,由 Carmichael 函数的递推公式可知,.因此,只要 对于所有素因子 都成立,就一定有 .
从这一判别法出发,可以建立 Carmichael 数的一些简单性质:
推论
Carmichael 数是奇数,没有平方因子,而且至少有 个不同的素因子.
证明
前两条性质可以直接从 Korselt 判别法及其证明中得到.要得到第三条性质,只需要再证明:互异素数 的乘积 一定不是 Carmichael 数.假设 是 Carmichael 数.由 Korselt 判别法可知,.但是,有
因此,.同理,.也就是说,.这与假设矛盾.因此,Carmichael 数 至少有 个互异素因子.
利用解析数论还可以得到 Carmichael 数分布的一些性质.设 为小于等于 的 Carmichael 数个数.Alford, Granville, and Pomerance11 证明,对于充分大的 ,有 .由此,Carmichael 数有无限多个.在这之前,Erdős12 已经证明,,其中 为常数.因此,Carmichael 数的分布(相对于素数来说)十分稀疏.实际上,有 13 ,.
参考资料与注释
- Primitive root modulo n - Wikipedia
- The order of a unit - Course Notes
- The primitive root theorem - Amin Witno’s notes
- Carmichael function - Wikipedia
- Carmichael’s Lambda Function - Brilliant Math & Science Wiki
- Carmichael number - Wikipedia
- Carmichael Number - Wolfram MathWorld
Footnotes
-
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. ↩
-
BURGESS, David A. “On character sums and primitive roots.” Proceedings of the London Mathematical Society, 1962, 3.1: 179-192. ↩
-
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. ↩
-
Elliott, P. D. T. A., and L. Murata. “The least primitive root mod 2p2.” Mathematika 45, no. 2 (1998): 371-379. ↩ ↩2
-
FRIDLENDER, V. R. “On the least n-th power non-residue.” Dokl. Akad. Nauk SSSR. 1949. p. 351-352. ↩
-
SALIÉ, Hans. “Über den kleinsten positiven quadratischen Nichtrest nach einer Primzahl.” Mathematische Nachrichten, 1949, 3.1: 7-8. ↩
-
Burgess, D. A., and P. D. T. A. Elliott. “The average of the least primitive root.” Mathematika 15, no. 1 (1968): 39-50. ↩
-
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. ↩
-
更多结果可以参考 Least prime primitive root of prime numbers. ↩
-
如果模 的原根存在,那么,,且等号仅在 处取得.进一步地,当 时,对欧拉函数 有估计:.将这两者结合,就得到文中的表达式.关于欧拉函数的该估计,可以参考论文 Rosser, J. Barkley, and Lowell Schoenfeld. “Approximate formulas for some functions of prime numbers.” Illinois Journal of Mathematics 6, no. 1 (1962): 64-94. ↩
-
W. R. Alford; Andrew Granville; Carl Pomerance (1994). “There are Infinitely Many Carmichael Numbers.” Annals of Mathematics. 140 (3): 703–722. ↩
-
Erdős, P. (1956). “On pseudoprimes and Carmichael numbers.” Publ. Math. Debrecen. 4 (3–4): 201–206. ↩
-
PINCH, Richard GE. The Carmichael numbers up to . ↩