原根小记
定义
-
阶:对于 \(a\perp m\),定义阶 \(\delta_m(a)\) 表示最小的 \(i\) 满足 \(a^i \equiv 1 \pmod m\)。
-
原根:对于 \(a\perp m\),\(a\) 是 \(n\) 的原根当且仅当 \(\delta_m(a) = \varphi(m)\)。
性质:
-
\(a,a^2,a^3,...,a^{\delta_m(a)}\) 互不相同。
-
\(a^i\equiv 1 \pmod m \Leftrightarrow \delta_m(a)|i\)
-
\(\delta_n(a) | \varphi(m)\)
-
\(\forall a,b \in \mathbb N^+\),若 \(\delta_m(a)\perp \delta_m(b)\),那么 \(\delta_m(ab) = \delta_m(a)\delta_m(b)\)
-
\(\delta_m(a^k) = \dfrac {\delta_m(a)}{\gcd(\delta_m(a), k)}\)
原根判定
判定 \(a\) 是否为 \(m\) 的原根,即判定 \(\delta_m(a) = \varphi(m)\)。
当 \(a\not\perp m\) 时显然。
由费马小定理,\(a^{\varphi(m)} \equiv 1 \pmod m\)。由性质 1/2,若 \(a\) 不为 \(m\) 的原根,那么 \(\exists i | \varphi(m)\) 满足 \(a^i \equiv 1 \pmod m\)。
枚举 \(\varphi(m)\) 的约数即可判定。当然也有更好的方法,设 \(\varphi(m) = p_1^{c_1}p_2^{c_2}...p_k^{c_k}\),令 \(b_i = \dfrac {\varphi(m)}{p_i}\),如果 \(a\) 不是原根,那么有 \(\exists i\in [1, k],\ \delta_m(a)|b_i\)。
由性质 1,可得 \(a^{b_i} \equiv 1 \pmod m\)。因此,我们可以对 \(\varphi(m)\) 质因数分解,枚举每个 \(b_i\) 并判定。
存在性
设 \(p\) 为奇质数,当 \(m = 1,2,4,p^k,2p^k\) 时有原根。
环形理解
设 \(g\) 为 \(m\) 的原根。取出 \(1\sim m\) 中所有与 \(m\) 互质的点,对于点 \(x\),连边 \(x\to xg \bmod m\)。从任意一个点开始走,一共走 \(\varphi(m)\) 步后回到原点。
此时这 \(\varphi(m)\) 个点构成了一个环。
离散对数与剩余
- 定义离散对数 \(\text{ind}_a(b) = \min \{i | a^i \equiv b \pmod m\}\)。
在环上,对于 \(a\perp m\),\(\text{ind}_g(a)\) 实际上是从 \(1\) 开始最少走多少步到达点 \(a\)。
- 对于 \(a\),若存在 \(x\) 满足 \(x^k\equiv a \pmod m\),则称 \(x\) 为 \(a\) 的 \(k\) 次剩余。
求剩余:待补