二次剩余
边看数论概论边写,同时参考(\(\color{red}\text{明明就是照搬啊喂!}\))了九阳哥的博客 Nine_Suns
定义
全文中,无特殊说明,我们令 \(p\) 为奇素数。
若存在 \(x\) 使得 \(x^2\equiv a\pmod p\),且 \(p\nmid a\),则称 \(a\) 是模 \(p\) 的二次剩余(\(\text{QR}\)),否则称 \(a\) 是模 \(p\) 的二次非剩余(\(\text{NR}\))。若 \(a\equiv 0\pmod p\) 时,\(a\) 既不是 \(\text{QR}\),也不是 NR。
对称性
证明:\((p-a)^2\equiv p^2-2ap+a^2 \equiv a^2 \pmod p\).
这说明了 \(1^2(\bmod p),2^2(\bmod p)\dots (\dfrac{p-1}{2})^2(\bmod p)\) 包含了模 \(p\) 的所有二次剩余。
与此同时,\(1^2(\bmod p),2^2(\bmod p)\dots (\dfrac{p-1}{2})^2(\bmod p)\) 这些模 \(p\) 的二次剩余互不相同。
证明:假设有 \(1\le b_1,b_2\le \dfrac{p-1}{2}\),且 \(b_1^2\equiv b_2^2\pmod p\)
则有:
也就是:
由于 \(1\le b_1,b_2\le \dfrac{p-1}{2}\),则有 \(2\le b_1+b_2\le p-1\),则必有 \(p\nmid b_1+b_2\)。
于是有:
但因为 \(0\le |b_1-b_2|< \dfrac{p-1}{2}\),所以必有 \(b_1=b_2\)。证毕。
这说明,\(1\le x\le p-1\) 中刚好有 \(\dfrac{p-1}{2}\) 个 \(\text{QR}\),\(\dfrac{p-1}{2}\) 个 \(\text{NR}\)。
乘法法则
三句话:\(\text{QR}\times \text{QR}=\text{QR}\;,\;\text{QR}\times \text{NR}=\text{NR}\;,\;\text{NR}\times \text{NR}=\text{QR}\)。
我们分别证明:
- \(\text{QR}\times \text{QR}=\text{QR}\)
设有两个 \(\text{QR}\):\(a_1\equiv b_1^2 \pmod p\;,\;a_2\equiv b_2^2\pmod p\),则有:
故 \(a_1a_2\) 也是 \(\text{QR}\)。
- \(\text{QR}\times \text{NR}=\text{NR}\)
设有 \(\text{QR}\):\(a_1\equiv b_1^2\pmod p\),NR:\(a_2\),我们假设它们的积 \(a_1a_2\equiv b_3^2\pmod p\) 为 \(\text{QR}\) 并推出矛盾。我们有:
我们记 \(b_1\) 的逆元为 \(c_1\),即 \(b_1c_1\equiv 1\pmod p\),令上式左右同时乘以 \(c_1^2\),得:
则 \(a_2\equiv(c_1b_3)^2\pmod p\) 为一个 \(\text{QR}\),与 \(a_2\) 是 \(\text{NR}\) 矛盾,故命题成立。
- \(\text{NR}\times \text{NR}=\text{QR}\)
设有 \(\text{NR}\) \(a\)。我们知道:
恰好为 \(1,2\dots p-1\) 的重排。
又由于 \(1,2\dots p-1\) 中刚好有 \(\dfrac{p-1}{2}\) 个 \(\text{QR}\),\(\dfrac{p-1}{2}\) 个 \(\text{NR}\),且 \(a\) 为 \(\text{NR}\)。
根据乘法法则 \(\text{QR}\times \text{NR}=\text{NR}\),我们知道 \(a\) 与这 \(\dfrac{p-1}{2}\) 个 \(\text{QR}\) 的乘积刚好对应了这 \(\dfrac{p-1}{2}\) 个 \(\text{NR}\)。
理所应当地,\(a\) 与剩下的 \(\dfrac{p-1}{2}\) 个 \(\text{NR}\) 的乘积,对应了 \(\dfrac{p-1}{2}\) 个 \(\text{QR}\)。
所以命题成立。
勒让德(Legendre)符号
\(a\) 模 \(p\) 的勒让德符号是:
这样的话,乘法法则可以用下列方式表示:
欧拉准则
证明:
1.\(a\) 为 \(\text{QR}\)
设 \(a\equiv b^2\pmod p\),由费马小定理可知:
而因为\(a\) 为 \(\text{QR}\),所以 \(\left(\dfrac{a}{p}\right)=1\)。
所以\(a^{\textstyle\frac{p-1}{2}}\equiv \left(\dfrac{a}{p}\right)\pmod p\),得证。
2.\(a\) 为 \(\text{NR}\)
由我们刚才证的东西,我们对于如下方程:
每一个模 \(p\) 的 \(\text{QR}\) 都可以作为一个解。
而由拉格朗日定理可知,这个方程至多由 \(\dfrac{p-1}{2}\) 个不同解,所以这些不同的解构成的集合,刚好和模 \(p\) 的 \(\text{QR}\) 构成的集合相同。
回到我们原本的命题,我们由费马小定理,有:
第一个因子模 \(p\) 余 \(0\) 的解都是二次剩余,而 \(a\) 不是二次剩余,所以第一个因子肯定模 \(p\) 不余 \(0\)。
所以第二个因子模 \(p\) 必余 \(0\),即:
也就是:
而因为\(a\) 为 \(\text{NR}\),所以 \(\left(\dfrac{a}{p}\right)=-1\)。
所以\(a^{\textstyle\frac{p-1}{2}}\equiv \left(\dfrac{a}{p}\right)\pmod p\),得证。
综上,欧拉准则得证。
二次互反律
对于奇素数 \(p\) 和 \(q\),满足:
当然也有广义二次互反律,即 \(p\) 和 \(q\) 为正奇数时上式也成立,不过此时的符号就是更加广义的雅可比符号,不做展开说明。
证明:
\(\mathfrak{A}\) 部分
由欧拉准则,有:
1.\(p\equiv 1 \pmod 4\)
令 \(p=4k+1\),则:
故:
而由于勒让德符号只能取 \(1\) 或 \(-1\),故 \(\left(\dfrac{-1}{p}\right)=1\),得证。
2.\(p\equiv 3 \pmod 4\)
令 \(p=4k+3\),则:
故:
而由于勒让德符号只能取 \(1\) 或 \(-1\),故 \(\left(\dfrac{-1}{p}\right)=-1\),得证。
综上,二次互反律 \(\mathfrak{A}\) 部分得证。
\(\mathfrak{B}\) 部分
\(\mathfrak{C}\) 部分
\(\color{red}\text{咕咕咕咕咕咕咕}\)
奇波拉 Cipolla 算法
给定 \(n,p\),其中 \(p\) 为奇素数,求解:
根据欧拉准则,如果 \(n^{\textstyle\frac{p-1}{2}}\equiv -1\pmod p\),意味着 \(\Big(\dfrac{n}{p}\Big)=-1\),即 \(n\) 为 \(\text{NR}\),故无解。
考虑随出来一个数 \(a\),满足 \(a^2-n\equiv -1\pmod p\),即 \(a^2-n\) 为一个 \(\text{NR}\)(检验是否为二次剩余可以借助欧拉准则)。
尽管 \(a^2-n\) 是 \(\text{NR}\),但我们可以仿照虚数 \(i\) 的定义,定义这么一个神奇的玩意:
即 \(i\) 为模 \(p\) 意义下的虚数单位!神奇!
此时我们插入两个引理:
引理1
证明:
我们有公式:
故当 \(0<j<p\) 时,\(C_p^j\) 的分母中没有 \(p\),即 \(p\mid C_p^j\).
所以有:
得证。
注意,引理一,对 \(a\) 和 \(b\) 的取值没有要求,也就是说完全可以带入一个模意义下的虚数 \(i\)。
引理2
证明:
而由于 \(a^2-n\) 是个 \(\text{NR}\),有:
所以:
得证。
有了以上两个引理,我们就可以证出一个神奇的东西:
证明:
由费马小定理 \(a^p\equiv a\pmod p\)和引理二 \(i^p\equiv -i\pmod p\)得:
证毕。
此时 \((a+i)^{\tfrac{p+1}{2}}\equiv x\pmod p\) 即为原方程的解。
但我们仍需要证 $(a+i)^{\tfrac{p+1}{2}} $ 不含带 \(i\) 的项。
反证法:
我们设:\((a+i)^{\tfrac{p+1}{2}}\equiv A+Bi\),其中 \(B\neq 0\)。
则:
即:
因为左边的虚部为 \(0\),故 \(-2AB=0\),又 \(B\neq 0\),有 \(A=0\)。
所以:
也就是 \(B^2(a^2-n)\equiv n\pmod p\)
我们知道,\(B^2\) 是个 \(\text{QR}\),\(a^2-n\) 是个 \(\text{NR}\),而 \(n\) 是个 \(\text{QR}\)。
这个式子表达了 \(\text{QR}\times \text{NR}=\text{QR}\),与乘法法则相悖,故假设不成立。
证毕。
于是,我们在代码实现中,只需要实现一个复数类,计算 \(a+i\) 的 \(\frac{p+1}{2}\) 次幂就行了。
而复数乘法:\((a+bi)(c+di)=ac+bdi^2+adi+bci=ac+bd(a^2-n)+(ad+bc)i\)
这样就做完了。