二次剩余
引入
如 \(x^2\equiv n\pmod{p}\),如果存在这样的实数 \(x\),称 \(n\) 为二次剩余;反之,称 \(n\) 为非二次剩余
解的个数
答案是:\(2\)
证明:
-
如果存在 \(x_0\not=x_1\),满足 \(x_0^2\equiv x_1^2\pmod p\)
-
则有 \(x_0^2-x_1^2\equiv (x_0+x_1)(x_0-x_1)\equiv0\pmod p\)
-
因为 \(x_0\not =x_1\),所以 \(x_0-x_1\not= 0,x_0=p-x_1\)
-
也就是说,\(x_0\) 与 \(x_1\) 在 \(\pmod p\) 的意义下互为相反数
-
又因为 \(p\) 为 奇素数,所以 \(x_0\not= p-x_1\)
综上,如果 \(n\) 为二次剩余,则有且仅有 \(2\) 个解
我们也可以看出,\(p\) 一共有 \(\frac{p-1}{2}\) 个二次剩余
欧拉准则
如何判断一个数 \(n\) 是否为二次剩余?当且仅当:
证明:
-
由费马小定理,得 \(n^{p-1}\equiv 1\pmod p\)
-
所以有 \(n^{\frac{p-1}{2}}\equiv \pm 1\pmod p\)
-
如果 \(n\) 是二次剩余,则有 \((x^2)^{\frac{(p-1)}{2}}\equiv x^{p-1}\equiv 1\pmod p\)
必要性证毕
-
设 \(g\) 为 \(p\) 的原根,令 \(n\equiv g^k\pmod p\)
-
如果 \(n^{\frac{p-1}{2}}\equiv 1\pmod p\),有 \(g^{k\frac{p-1}{2}}\equiv 1\pmod p\)
-
也就是说 \(p-1|k\times \frac{p-1}{2}\),即 \(k\) 为偶数
-
因此有 \(n\) 必有一根 \(x=g^\frac{k}{2}\),也就是说 \(n\) 是二次剩余
充分性证毕
同时可以说明,当 \(n^{\frac{p-1}{2}}\equiv -1\pmod p\),那么 \(n\) 就是非二次剩余
Cipolla
会判断了,我们就要学会怎么求根
我们先找出一个 \(a\) 满足 \(a^2-n\) 为非二次剩余(因为非二次剩余有 \(\frac{p-1}{2}\) 个,所以通过 rand()
可以较快找出满足条件的 \(a\))
再定义复数 \(z\) 满足 \(z^2\equiv a^2-n\),其他数都可以用 \(z\) 表示为 \(A+Bz\),\(A,B\in R\),类似于复数的实虚部
那么 \(n\) 的其中一个根就为 \((a+z)^{\frac{p+1}{2}}\)
证明:\((a+z)^{p+1}=n\)
-
- \(z^p\equiv -z\pmod p\)
- \(z^p\equiv z(a^2-n)^{\frac{p-1}{2}}\equiv -z\pmod p\)
-
2, \((x+y)^p\equiv x^p + y^p\pmod p\)
- 根据二项式定理展开,因为 \(\forall 0<i<p,\ C_p^i\equiv 0\pmod p\),所以上述式子成立
-
根据以上两个定理,就有
证毕
当然,还有个问题,就是 \((a+z)^{\frac{p+1}{2}}\) 的虚部一定是 \(0\) 吗
证明:考虑使用反证法
-
如果存在 \((A+Bz)^2\equiv n\pmod p,\ A,B\in R,\ B\not = 0\)
-
那么有 \(A^2+2ABz+B^2z^2\equiv n\pmod p\),即 \(A^2+B^2(a^2-n)-n\equiv -2ABz\pmod p\)
-
显然左式虚部为 \(0\),又因为 \(B\not = 0\),则 \(A=0\)
-
所以应该有 \((Bz)^2\equiv n\pmod p\),即 \(z^2\equiv nB^{-2}\)
-
因为 \(B^2\) 显然是二次剩余,那么 \(B^{-2}\) 也显然是二次剩余,\(nB^{-2}\) 也就是二次剩余
-
但 \(z^2\) 并不是二次剩余,与上述结论矛盾
-
综上,\(n\) 的根一定是实数
证毕