数论:二次剩余

二次剩余

本文介绍二次剩余的定义和一部分性质,介绍二次剩余的常用判别法,引入 Legendre 符号、Jacobi 符号、Kronecker 符号及其性质,并给出二次互反律。最后,我们将了解:对于模数为奇素数的情形,如何求解二次剩余,并将其推广到高次情形。

本文部分内容不完善,作者也不知道什么时候补完。

设整数 \(a, p\) 互质,若存在整数 \(x\),使得

\[x^2 \equiv a \pmod p \]

则称 \(a\) 为模 \(p\) 的二次剩余,否则称 \(a\) 为模 \(p\) 的二次非剩余。

1. 剩余系判别法

详见《初等数论 第三版(潘承洞 潘承彪)》第四章第五节结论 1。

结论 1.1 设奇素数 \(p\),整数 \(a\) 是模 \(p\) 的二次剩余当且仅当

\[a \equiv 1^2, 2^2, \dots, \left(\dfrac{p - 1}{2} - 1\right)^2 \text{ 或 } \left(\dfrac{p - 1}{2}\right)^2 \pmod 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\) 互质,则

\[a^{\frac{p - 1}{2}} \equiv \begin{cases} 1 \pmod p, & \exist x \in \mathbb{Z}, x^2 \equiv a \pmod p, \\ -1 \pmod p, & \text{otherwise.} \end{cases} \]

Euler 判别法说明:\(a\) 是模 \(p\) 的二次剩余当且仅当 \(a^{\frac{p-1}{2}} \equiv 1 \pmod p\)

3. Legendre 符号

对奇素数 \(p\) 和整数 \(a\),定义 Legendre 符号

\[\left(\dfrac{a}{p}\right) = \begin{cases} 0, & p \mid a, \\ 1, & (p \nmid s) \land (\exist x \in \mathbb{Z}, x^2 \equiv a \pmod p), \\ -1, & \text{otherwise.} \end{cases} \]

对任意整数 \(a\),奇素数 \(p\),有以下结论:

Legendre 符号有以下性质:

(i)

\[a^{\frac{p-1}{2}} \equiv \left(\dfrac{a}{p}\right) \pmod p \]

(ii)

\[\left(\dfrac{1}{p}\right) = 1 \]

\[\left(\dfrac{-1}{p}\right) = (-1)^{\frac{p-1}{2}} = \begin{cases} 1, & p \equiv 1 \pmod 4, \\ -1, & p \equiv 3 \pmod 4.\end{cases} \]

(iii)

\[a_1 \equiv a_2 \pmod p \Longleftrightarrow \left(\dfrac{a_1}{p}\right) = \left(\dfrac{a_2}{p}\right) \]

(iv) Legendre 符号完全积性

\[\left(\dfrac{a_1a_2}{p}\right) = \left(\dfrac{a_1}{p}\right) \cdot \left(\dfrac{a_2}{p}\right) \]

(v)

\[\left(\dfrac{a}{p}\right) = \left(\dfrac{a + p}{p}\right) \]

(vi) 对整数 \(a, b\)\(a \nmid b\)

\[\left(\dfrac{ab^2}{p}\right) = \left(\dfrac{a}{p}\right) \]

4. 二次互反律

设奇素数 \(p \ne q\)

\[\left(\dfrac p q\right) \cdot \left(\dfrac q p\right) = (-1)^{\frac{p-1}{2}\frac{q-1}{2}} \]

推广 二次互反律可以变形,并用于判断两个 Legendre 符号是否相等

\[\left(\dfrac p q\right) = (-1)^{\frac{p-1}{2}\frac{q-1}{2}} \cdot \left(\dfrac q p\right) \]

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\) 的个数,则

\[\left(\dfrac a p\right) = (-1)^m \]

定理 4.1 对奇素数 \(p\)

\[\left(\dfrac{2}{p}\right) = (-1)^{\frac{p^2-1}{8}} = \begin{cases} 1, & p \equiv \pm 1 \pmod 8, \\ -1, & p \equiv \pm 3 \pmod 8.\end{cases} \]

5. Jacobi 符号

对奇数 \(P\) 和整数 \(a\)\(P = p_1 p_2 \dots p_t\)\(p_i\) 是素数,定义 Jacobi 符号

\[\left(\dfrac{a}{P}\right) = \left(\dfrac{a}{p_1}\right) \left(\dfrac{a}{p_2}\right) \dots \left(\dfrac{a}{p_t}\right) \]

其中 \(\left(\dfrac{a}{p_i}\right)\) 表示 Legendre 符号。容易发现,当 \(p\) 为奇素数时,Jacobi 符号就是 Legendre 符号。

Jacobi 符号有以下性质:

(i)

\[\left(\dfrac{1}{P}\right) = 1 \]

(ii)\((a, P) > 1\)

\[\left(\dfrac{a}{P}\right) = 0 \]

(iii)\((a, P) = 1\)

\[\left(\dfrac{a}{P}\right) = \pm 1 \]

(iv) Jacobi 符号完全积性

\[\left(\dfrac{a_1 a_2}{P}\right) = \left(\dfrac{a_1}{P}\right) \cdot \left(\dfrac{a_2}{P}\right) \]

(v) Jacobi 符号完全积性之二

\[\left(\dfrac{a}{P_1 P_2}\right) = \left(\dfrac{a}{P_1}\right) \cdot \left(\dfrac{a}{P_2}\right) \]

(vi)

\[\left(\dfrac{a}{P}\right) = \left(\dfrac{a + P}{P}\right) \]

(vii)\((a, P) = 1\)

\[\left(\dfrac{a^2}{P}\right) = \left(\dfrac{a}{P^2}\right) = 1 \]

(viii) Jacobi 符号有类似 Legendre 符号的二次互反律成立:对奇数 \(P, Q\)

\[\left(\dfrac{P}{Q}\right) \cdot \left(\dfrac{Q}{P}\right) = (-1)^{\frac{P - 1}{2} \frac{Q - 1}{2}} \]

(ix) 见定理 4.1

\[\left(\dfrac{2}{P}\right) = (-1)^{\frac{P^2-1}{8}} \]

6. Kronecker 符号

对整数 \(D \equiv 3 \text{ 或 } -1 \pmod 8\),任意整数 \(n\),定义 Kronecker 符号

\[\left(\dfrac{D}{n}\right) \]

Kronecker 符号有完全积性,这里不再赘述。

(i)\((D, n) > 1\)

\[\left(\dfrac{D}{n}\right) = 0 \]

(ii)

\[\left(\dfrac{D}{1}\right) = 1 \]

(iii)\(D\) 为奇数

\[\left(\dfrac{D}{n}\right) = \left(\dfrac{n}{|D|}\right) \]

后者是 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 \pmod p \]

证明 \(~\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}\)

\[(A + B)^p \equiv A^p + B^p \pmod p \]

证明 二项式定理展开后,因为 \(p\) 为素数,所以除 \(C_p^0, C_p^p\) 之外项的系数都是 \(p\) 的正整数倍,在模 \(p\) 意义下消去得到 \(A^p + B^p\)

定理 7.1.1

\[(r + \text i)^{p+1} \equiv a \pmod p \]

证明

\[\begin{aligned} (r + \text i)^{p+1} &\equiv (r + \text i)(r + \text i)^p \\ &\equiv (r + \text i)(r^p + \text i^p) \\ &\equiv (r + \text i)(r - \text i) ~~~~~ (\text{ Fermat's little theorem } r^p \equiv r \pmod p)\\ &\equiv r^2 - \text i^2 \\ &\equiv r^2 - r^2 + a\\ &\equiv a \end{aligned} \]

综上所述,\(x \equiv \pm(r + \text i)^{\frac{p+1}{2}} \pmod p\) 是同余方程的两根。可以证明其虚部一定为 \(0\)

P5491 【模板】二次剩余

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\),只需求解二次剩余方程组

\[\begin{cases} {x_1}^2 \equiv a \pmod{\alpha_1^{\beta_1}} \\ {x_2}^2 \equiv a \pmod{\alpha_2^{\beta_2}} \\ \dots \\ {x_t}^2 \equiv a \pmod{\alpha_t^{\beta_t}} \\ \end{cases} \]

再用 CRT 合并,即可得到最终的解 \(x\)

\[\begin{cases} x \equiv x_1 \pmod{\alpha_1^{\beta_1}} \\ x \equiv x_2 \pmod{\alpha_2^{\beta_2}} \\ \dots \\ x \equiv x_t \pmod{\alpha_t^{\beta_t}} \\ \end{cases} \]

综合上述情况,即可得到任意模数二次剩余。

参考资料

【模板】【证明】任意模数下的二次剩余求解_任意模数二次剩余-CSDN博客
二次剩余与扩域 - 知乎

9. 求解高次剩余

求解 \(x^n \equiv a \pmod p\)

考虑 \(p\) 的唯一分解 \(p = p_1^{\alpha_1}p_2^{\alpha_2}\dots p_t^{\alpha_t}\)。等价变换得

\[{ \begin{cases} {x_1}^n \equiv a \pmod{p_1^{\alpha_1}} \\ {x_2}^n \equiv a \pmod{p_2^{\alpha_2}} \\ \dots \\ {x_t}^n \equiv a \pmod{p_t^{\alpha_t}} \\ \end{cases} } \tag{9.0.1} \]

\[{ \begin{cases} x \equiv x_1 \pmod{p_1^{\alpha_1}} \\ x \equiv x_2 \pmod{p_2^{\alpha_2}} \\ \dots \\ x \equiv x_t \pmod{p_t^{\alpha_t}} \\ \end{cases} } \tag{9.0.2} \]

问题转化为求解模数为素数的幂的一元 \(n\) 次同余方程,设为

\[x^n \equiv a \pmod {p^\alpha} \tag{9.0.3} \]

1. 判别有解

定理 9.1.1\((a, p) = 1\)\(p\) 为素数,\(\alpha = 1\),则同余方程 \((9.1.3)\) 有解的充要条件为

\[a^{\frac{p-1}{n}} \equiv 1 \pmod p \tag{9.1.4} \]

且有解时解数为 \(n\)。容易发现当 \(n = 2\) 时它就是 Euler 判别法。

推广\(m = p^\alpha\),若 \((a, m) = 1\)\(m\) 有原根,,同余方程 \((9.1.3)\) 有解的充要条件为

\[a^{\frac{\varphi(m)}{(n, \varphi(m))}} \equiv 1 \pmod m \tag{9.1.5} \]

以下推导有谬误

如果 \(a \mid m\),由同余性质,同余方程 \((9.1.3)\) 等价于

\[x^n \equiv a \equiv 0 \pmod a \tag{9.1.6} \]

其解集为 \(\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\)

欲求解

\[x^n \equiv a \pmod {2^\alpha} \tag{9.2.1} \]

这时 \(2^\alpha\) 不一定有原根,不适用前文讨论的判定方法。

有一种 递推构造方法,但是已经被卡。

定理 9.2.1 \(\alpha > 2\) 时,有

\[5^{2^{\alpha - 3}} \equiv 2^{\alpha - 1} + 1 \pmod {2^\alpha} \tag{9.2.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 - 博客园

推荐阅读

潘承洞 潘承彪《初等数论》

posted @ 2024-03-27 22:49  bluewindde  阅读(963)  评论(0编辑  收藏  举报