可能是不知道什么学习笔记捏
阶
使得 \(a^x\equiv 1\pmod m\) 的最小正整数 \(x\) 被称为 \(a\) 模 \(m\) 的阶,记作 \(\delta_m(a)\)。由欧拉定理可知, \(a\perp m\) 是 \(\delta_m(a)\) 存在的充要条件。
证明
充分性:若 \(a\perp m\),根据欧拉定理,\(x=\varphi(m)\) 就是一个解,所以阶一定存在。
必要性:若 \(a\not\perp m\),那么 \(a^x\not\perp m\),所以 \(\gcd(a^x,m)\ne 1\),所以 \(a^x\not\equiv 1\pmod m\)。(可以裴蜀定理证)
这玩意有几个优秀的性质。
- \(a,a^2,a^3,\cdots,a^{\delta_m(a)}\) 模 \(m\) 两两不同余。
证明
可以反证,如果 \(a^i\equiv a^j\pmod m (i\ne j)\),那么有 \(a^{|i-j|}\equiv 1\pmod m\),那么显然有 \(0<|i-j|<\delta_m(a)\),与 \(\delta_m(a)\) 的定义冲突。
- 若 \(a^x\equiv 1\pmod m\),那么有 \(\delta_m(a)|x\)。
证明
假设 \(x\mod \delta_m(a)\) 余数为 \(r(0\le r<\delta_m(a))\)。
那么有 \(a^r\equiv a^r(a^{\delta_m(a)})^k\equiv a^n\equiv 1\pmod m\),与 \(\delta_m(a)\) 的定义矛盾。
- 若 \(\gcd(a,m)=\gcd(b,m)=1\),那么 \(\delta_m(ab)=\delta_m(a)\delta_m(b)\) 的充要条件是 \(\gcd(\delta_m(a),\delta_m(b))=1\)。
- \(\delta_m(a^k)=\frac{\delta_m(a)}{\gcd(\delta_m(a),k)}=\frac{\operatorname{lcm}(\delta_m(a),k)}{k}\)。
(懒得打\(\LaTeX\)了,重点也不是这个,证明就不写了)
可以直接 BSGS 求解这玩意喵。
原根
我超,原
若 \(m\in \mathbb{N}_+,g\in \mathbb{Z}\),若 \(\gcd(g,m)=1\) 且 \(\delta_m(g)=\varphi(m)\),则称 \(g\) 是模 \(m\) 的原根。
为什么要这玩意呢?我也不知道。
因为这个东西的 \(0\sim m-1\) 次幂 \(\bmod\;m\) 可以取遍 \(0\sim m-1\),那么就可以把一些乘的东西换成指数上的加。(好像在求解高次剩余相关东西的时候有用?)
可以直接用定义去求原根。
考虑如何判定一个数 \(a\) 是不是 \(m\) 的原根,等价于判定 \(a\) 的所有 \(k\) 次幂模 \(m\) 均不等于 \(1\),其中 \(k\) 为 \(\varphi(m)\) 的真因数。
但是直接枚举 \(k\) 肯定不行啊,复杂度是 \(O(2^d)\) 的,考虑如何优化。
由 \(a^x\equiv 1\pmod m\Rightarrow \delta_m(a)|x\) 可知,只需要考虑 \(k\) 是不是 \(\delta_m(a)\) 的倍数,那么就只要考虑 \(\varphi(m)\) 除以它的一个质因子 \(p\) 是否为 \(a\) 的阶的倍数,因为显然 \(\frac{\varphi(m)}{p}\) 取遍了所有真因数的倍数。
那么就可以得到一个定理——原根判定定理:对于 \(m\ge 3,a\perp m\),\(a\) 是 \(m\) 的原根的充要条件为对于任意的 \(\varphi(m)\) 的质因子 \(p\),有 \(a^{\frac{\varphi(m)}{p}}\not\equiv 1\pmod {m}\)。
还有一个原根存在定理(一个数 \(m\) 存在原根的充要条件为 \(m=2,4,p^a,2p^a\),其中 \(p\) 为奇质数),一个原根个数定理(若一个数 \(m\) 存在原根,那么它的原根个数为 \(\varphi(\varphi(m))\))。懒得写证明哩,可以当结论记喵。
有大佬证明了素数 \(p\) 的最小原根 \(g_p=O(n^{0.25+\epsilon})\) 的,这就说明可以直接暴力求。
p
没有,不知道挂啥。
没有,还是不知道挂啥。
有了,挂个逆天的不知道啥。