二次剩余
二次剩余
如果方程 \(x^2\equiv n\pmod p\) 有解,那么称 \(n\) 在模 \(p\) 意义下是二次剩余。只考虑 \(p\) 为奇素数的情况。
二次剩余判定-欧拉准则
首先定义 勒让德符号
欧拉准则 \(\left(\frac n p\right) \equiv n^{\frac {p-1} 2} \pmod p\)
证明
- 如果 \(n\equiv 0\pmod p\),那么结果显然
- 否则,根据费马小定理 \(n^{p-1}\equiv 1\pmod p\)
- 如果 $n^{\frac {p-1} 2}\equiv 1\pmod p$,$n$ 在模 $p$ 意义下是二次剩余
- 如果 $n^{\frac {p-1} 2}\equiv x^{p-1}\equiv -1$,根据费马小定理,不存在 $x$,此时$n$ 在模 $p$ 意义下不是二次剩余
二次剩余求解-Cipolla算法
首先要说,这个算法整个是一个神奇的构造,脑洞巨大。
对于 \(k\) 不存在二次剩余,可以定义 \(\omega=\sqrt k\)。并且定义一个新数域 \(\mathbb{F}_{p^2}\) ,数的形式为 \(a+b\omega\)。这是一个合法的域,详见维基。
在这个域中有一个特殊性质 \(\omega^p\equiv -\omega\pmod p\)
- 证明
再来证明一个定理 \((a+b)^n\equiv a^n+b^n\pmod n\ \textrm{n is prime}\)
- 证明
当 \(i\neq 1\) 或 \(n\),\({n\choose i}=\frac {n!} {i!(n-i)!}\) 中分子上的 \(n\) 不能消掉,所以为 \(0\)。
当 \(i=1\) 或 \(n\),值分别为 \(a^n\) 和 \(b^n\)。
在这个算法中,首先找到一个数 \(a\),满足 \(a^2-n\) 是非二次剩余,那么令上面讨论的 \(k=a^2-n, \omega=\sqrt{a^2-n}\)
要求的答案 \(x\equiv (a+\omega)^{\frac {p+1} 2} \pmod p\)
- 证明
求得 \(x\) 的相反数也是一个解。
最好要解决的一个问题:求得的解是在\(\mathbb{F}_{p^2}\)下,那么在\(\mathbb{F}_{p}\)下是否成立呢,即解的 \(\omega\) 的系数是否为 \(0\) ?
- 根据拉格朗日定理,\(x^2\equiv n\pmod p\) 最多有两个解,由于 \(\mathbb{F}_{p^2}\) 是从 \(\mathbb{F}_{p}\) 扩张来的,所以这两个解在 \(\mathbb{F}_{p^2}\) 一定成立。
而 \(\mathbb{F}_{p^2}\) 下只有两个解,所以这两个解就是在 \(\mathbb{F}_{p}\) 的解。
关于 \(a\) 的求法,随机几个数就好了,因为满足为 \(p\) 的二次剩余的数的个数为 \(\frac {p-1} 2\)。
- 证明
考虑所以 \(x^2\)。如果存在两个不同的数 \(u, v\) ,满足 \(u^2\equiv v^2\) ,所以 \(p\mid u^2-v^2\),即 \(p\mid (u-v)(u+v)\) ,因为 \(p\not\mid u-v\) ,可得 \(p\mid u+v\) ,即 \(u+v=p\)。所以共有 \(\frac {p-1} 2\) 个不同的平方,同时可得一个 \(n\) 对应了两个互为相反数的解。
二次互反律
设 \(p\) 和 \(q\) 为不同的两个奇素数,则\(\left(\frac p q\right)\left(\frac q p\right)=(-1)^{\frac {p-1} 2 \frac {q-1} 2}\)