数论:二次剩余
二次剩余
本文介绍二次剩余的定义和一部分性质,介绍二次剩余的常用判别法,引入 Legendre 符号、Jacobi 符号、Kronecker 符号及其性质,并给出二次互反律。最后,我们将了解:对于模数为奇素数的情形,如何求解二次剩余,并将其推广到高次情形。
本文部分内容不完善,作者也不知道什么时候补完。
设整数 \(a, p\) 互质,若存在整数 \(x\),使得
则称 \(a\) 为模 \(p\) 的二次剩余,否则称 \(a\) 为模 \(p\) 的二次非剩余。
1. 剩余系判别法
详见《初等数论 第三版(潘承洞 潘承彪)》第四章第五节结论 1。
结论 1.1 设奇素数 \(p\),整数 \(a\) 是模 \(p\) 的二次剩余当且仅当
即若 \(a \equiv i^2 \pmod p\),\(1 \le i \le \dfrac{p - 1}{2}\),则 \(a\) 为模 \(p\) 的二次剩余。
则对于奇素数 \(p\),模 \(p\) 意义下的二次剩余和二次非剩余均有 \(\frac{p-1}{2}\) 个。
2. Euler 判别法
设整数 \(a, p\) 互质,则
Euler 判别法说明:\(a\) 是模 \(p\) 的二次剩余当且仅当 \(a^{\frac{p-1}{2}} \equiv 1 \pmod p\)。
3. Legendre 符号
对奇素数 \(p\) 和整数 \(a\),定义 Legendre 符号
对任意整数 \(a\),奇素数 \(p\),有以下结论:
Legendre 符号有以下性质:
(i)
(ii)
(iii)
(iv) Legendre 符号完全积性
(v)
(vi) 对整数 \(a, b\),\(a \nmid b\)
4. 二次互反律
设奇素数 \(p \ne q\)
推广 二次互反律可以变形,并用于判断两个 Legendre 符号是否相等
Gauss 引理 设整数 \(a, p\),\((a, p) = 1\),对整数 \(k\),\(1 \le k \le \dfrac{p - 1}{2}\),令 \(r_k\) 表示 \(ak\) 模 \(p\) 的最小非负剩余,设 \(m\) 为所有 \(r_k\) 中大于 \(\dfrac p 2\) 的个数,则
定理 4.1 对奇素数 \(p\)
5. Jacobi 符号
对奇数 \(P\) 和整数 \(a\),\(P = p_1 p_2 \dots p_t\),\(p_i\) 是素数,定义 Jacobi 符号
其中 \(\left(\dfrac{a}{p_i}\right)\) 表示 Legendre 符号。容易发现,当 \(p\) 为奇素数时,Jacobi 符号就是 Legendre 符号。
Jacobi 符号有以下性质:
(i)
(ii) 若 \((a, P) > 1\)
(iii) 若 \((a, P) = 1\)
(iv) Jacobi 符号完全积性
(v) Jacobi 符号完全积性之二
(vi)
(vii) 若 \((a, P) = 1\)
(viii) Jacobi 符号有类似 Legendre 符号的二次互反律成立:对奇数 \(P, Q\)
(ix) 见定理 4.1
6. Kronecker 符号
对整数 \(D \equiv 3 \text{ 或 } -1 \pmod 8\),任意整数 \(n\),定义 Kronecker 符号
Kronecker 符号有完全积性,这里不再赘述。
(i) 若 \((D, n) > 1\)
(ii)
(iii) 若 \(D\) 为奇数
后者是 Jacobi 符号。
7. 求解奇素数模数二次剩余
以下算法求解同余方程 \(x^2 \equiv a \pmod p\),\(p\) 为奇素数,\(a\) 为 \(p\) 的二次剩余。
可以通过 Euler 判别法处理 \(a\) 为 \(p\) 的二次非剩余的情况。
1. Cipolla 算法
找到整数 \(r\) 使得 \(r^2 - a\) 为 \(p\) 的二次非剩余。该操作期望时间复杂度为 \(O(\log n)\)。
类比实数集到复数集的推广,定义 \(\text i \equiv r^2 - a \pmod p\) 为虚部单位。可以将每个数表示为 \(A + B\text i\) 的形式。
引理 7.1.1
证明 \(~\text i^p \equiv \text i(\text i^2)^{\frac{p-1}{2}} \equiv \text i(r^2 - a)^{\frac{p-1}{2}} \equiv -\text i \pmod p\)
引理 7.1.2 对 \(A, B \in \mathbf{R}\)
证明 二项式定理展开后,因为 \(p\) 为素数,所以除 \(C_p^0, C_p^p\) 之外项的系数都是 \(p\) 的正整数倍,在模 \(p\) 意义下消去得到 \(A^p + B^p\)。
定理 7.1.1
证明
综上所述,\(x \equiv \pm(r + \text i)^{\frac{p+1}{2}} \pmod p\) 是同余方程的两根。可以证明其虚部一定为 \(0\)。
static inline int cipolla(int n) {
mt19937 rnd((unsigned)time(0));
if (qpow(n, (mod - 1) / 2) == mod - 1) {
return -1;
}
int a;
while (true) {
a = rnd() % mod;
II = (((a * a) % mod - n) % mod + mod) % mod;
if (qpow(II, (mod - 1) / 2) == mod - 1) {
break;
}
}
int x0 = qpow(complex(a, 1), (mod + 1) / 2).real();
return x0;
}
2. 其他算法
还有 Bostan–Mori 算法,Legendre 算法,Tonelli–Shanks 算法可以解决二次剩余。
咕咕咕。
8. 求解任意模数二次剩余
本条目无法保证其正确性,不提供详细介绍,可以通过参考资料了解详细。
如果模数为 \(2\),若 \(n\) 为奇数则有解 \(x = 1\),否则有解 \(x = 0\)。
1. 奇素数幂次模数
2. \(2\) 的幂次模数
3. 合数模数
对于合数模数 \(p\),考虑 \(p\) 的唯一分解 \(p = \alpha_1^{\beta_1}\alpha_2^{\beta_2}\dots\alpha_t^{\beta_t}\)。
要求解 \(x^2 \equiv a \pmod p\),只需求解二次剩余方程组
再用 CRT 合并,即可得到最终的解 \(x\)
综合上述情况,即可得到任意模数二次剩余。
参考资料
【模板】【证明】任意模数下的二次剩余求解_任意模数二次剩余-CSDN博客
二次剩余与扩域 - 知乎
9. 求解高次剩余
求解 \(x^n \equiv a \pmod p\)。
考虑 \(p\) 的唯一分解 \(p = p_1^{\alpha_1}p_2^{\alpha_2}\dots p_t^{\alpha_t}\)。等价变换得
问题转化为求解模数为素数的幂的一元 \(n\) 次同余方程,设为
1. 判别有解
定理 9.1.1 若 \((a, p) = 1\),\(p\) 为素数,\(\alpha = 1\),则同余方程 \((9.1.3)\) 有解的充要条件为
且有解时解数为 \(n\)。容易发现当 \(n = 2\) 时它就是 Euler 判别法。
推广 记 \(m = p^\alpha\),若 \((a, m) = 1\),\(m\) 有原根,,同余方程 \((9.1.3)\) 有解的充要条件为
以下推导有谬误
如果 \(a \mid m\),由同余性质,同余方程 \((9.1.3)\) 等价于
其解集为 \(\left\{x\mid x = a^k, 1 \le k < \alpha\right\} \cup \left\{0\right\}\)。
如果 \(m \mid a\) 或 \(a = 0\),同余方程 \((9.1.3)\) 亦等价于同余方程 \((9.1.6)\)。
谬误结束
注意到条件为 \(m\) 有原根,接下来讨论一种 \(m\) 不一定有原根的情形:\(p = 2\)。
2. 当 \(p = 2\) 时
欲求解
这时 \(2^\alpha\) 不一定有原根,不适用前文讨论的判定方法。
有一种 递推构造方法,但是已经被卡。
定理 9.2.1 \(\alpha > 2\) 时,有
证明
数学归纳法。
\(\alpha = 3\) 时命题成立。
假设 \(\alpha = t\) 时命题成立,有\[5^{2^{t - 3}} \equiv 2^{t - 1} + 1 \pmod {2^t} \tag{9.2.3} \]推出(原理)
\[5^{2^{t - 3}} \equiv 2^{t - 1} + 1 \pmod {2^{t + 1}} \tag{9.2.4} \]或
\[5^{2^{t - 3}} \equiv 2^t + 2^{t - 1} + 1 \pmod {2^{t + 1}} \tag{9.2.5} \]对 \((9.2.4)\) 和 \((9.2.5)\) 平方,得
\[5^{2^{t - 2}} \equiv 2^{2t - 2} + 2 \cdot 2^{t - 1} + 1 \equiv 2^t + 1 \pmod {2^{t + 1}} \tag{9.2.6} \]\[\begin{aligned} 5^{2^{t - 2}} &\equiv 2^{2t} + 2^{2t - 2} + 1 + 2 \cdot 2^t \cdot 2^{t - 1} + 2 \cdot 2^{t - 1} + 2 \cdot 2^t \\ &\equiv 2^{2t} + 2^{2t - 2} + 1 + 2^{2t} + 2^t + 2^{t+1} \\ &\equiv 2^t + 1 \pmod {2^{t + 1}} \end{aligned} \tag{9.2.7} \]所以命题对 \(\alpha = t + 1\) 成立,推出其对所有 \(\alpha > 2\) 成立。
Q.E.D.
定理 9.2.2 \(5\) 模 \(2^\alpha\) 的阶为 \(2^{\alpha - 2}\)。
证明
由欧拉定理\[5^{\varphi(2^\alpha)} \equiv 1 \pmod {2^\alpha} \tag{9.2.8} \]根据欧拉函数的定义
\[\varphi(2^\alpha) = 2^{\alpha - 1} \]设 \(k = \delta_{2^\alpha}(5)\),必定有 \(k \mid 2^{\alpha - 1}\)。
因为若 \(5^\mu \equiv 1 \pmod {2^\alpha}\),则对于 \(\nu \ge \mu\),\(5^\nu \equiv 1 \pmod {2^\alpha}\),根据 \((9.2.2)\),\(k > 2^{\alpha - 3}\)。
对 \((9.2.2)\) 平方,得\[5^{2^{\alpha - 2}} \equiv 2^\alpha + 2 \cdot 2^{\alpha - 1} + 1 \equiv 1 \pmod {2^\alpha} \tag{9.2.9} \]所以 \(k \le 2^{\alpha - 2}\)。
综上所述:\(k = 2^{\alpha - 2}\)。
Q.E.D.
定理 9.2.3 关于 \(a, b\) 的方程
3. 当 \(a = 0\) 时
4. 当 \((a, p^\alpha) > 1\) 时
参考资料
高次剩余学习笔记 / P5668 - 【模板】N次剩余 题解 - ycx060617 - 博客园
模意义下高次方程:从开门到入门 - Sya_Resory - 博客园
任意模数 n 次剩余 - bestwyj - 博客园
推荐阅读
潘承洞 潘承彪《初等数论》