二次剩余学习笔记
勒让德符号
对于一个奇质数且,定义勒让德符号为,其中
如何计算勒让德符号?
这样就可以快速幂计算了。
Cipolla 算法
简要描述
要求解方程,首先判断是否是二次剩余。
然后随机一个使得不是二次剩余,那么设并扩域,则。
勒让德符号只能判断一个数是否是二次剩余。接下来我们介绍 Cipolla 算法以用于具体计算二次剩余。
考虑方程。首先判断它是不是二次剩余。如果不是就不用求了。
考虑随机一个使得不是意义下的二次剩余。那么设。显然在域()下是不存在的,我们称它是虚数单位元。我们对其扩域,这样得到一个新的域。也就是说
我们类比复数域,定义它的加法和乘法运算。那么是否满足域的所有性质呢?容易证明是满足的。这其中可能乘法逆元要难证一点。考虑,则变成
然后发现这个方程在域下是有解的。因此就证明了乘法逆元的存在。
此外,我们还可以知道
定理 1:。
证明:因为不是二次剩余,所以。
定理 2:(是质数)。
证明:二项式定理。
那么一通操作猛如虎:
因此。是另一个解。并且算出来虚部的系数一定是。
时间复杂度。随机的复杂度就忽略不计了。
修订记录
- 2020年5月19日 创建文章