数论:二次剩余

二次剩余

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

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

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

x2a(modp)

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

1. 剩余系判别法

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

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

a12,22,,(p121)2 或 (p12)2(modp)

即若 ai2(modp)1ip12,则 a 为模 p 的二次剩余。

则对于奇素数 p,模 p 意义下的二次剩余和二次非剩余均有 p12 个。

2. Euler 判别法

设整数 a,p 互质,则

ap12{1(modp),\existxZ,x2a(modp),1(modp),otherwise.

Euler 判别法说明:a 是模 p 的二次剩余当且仅当 ap121(modp)

3. Legendre 符号

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

(ap)={0,pa,1,(ps)(\existxZ,x2a(modp)),1,otherwise.

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

Legendre 符号有以下性质:

(i)

ap12(ap)(modp)

(ii)

(1p)=1

(1p)=(1)p12={1,p1(mod4),1,p3(mod4).

(iii)

a1a2(modp)(a1p)=(a2p)

(iv) Legendre 符号完全积性

(a1a2p)=(a1p)(a2p)

(v)

(ap)=(a+pp)

(vi) 对整数 a,bab

(ab2p)=(ap)

4. 二次互反律

设奇素数 pq

(pq)(qp)=(1)p12q12

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

(pq)=(1)p12q12(qp)

Gauss 引理 设整数 a,p(a,p)=1,对整数 k1kp12,令 rk 表示 akp 的最小非负剩余,设 m 为所有 rk 中大于 p2 的个数,则

(ap)=(1)m

定理 4.1 对奇素数 p

(2p)=(1)p218={1,p±1(mod8),1,p±3(mod8).

5. Jacobi 符号

对奇数 P 和整数 aP=p1p2ptpi 是素数,定义 Jacobi 符号

(aP)=(ap1)(ap2)(apt)

其中 (api) 表示 Legendre 符号。容易发现,当 p 为奇素数时,Jacobi 符号就是 Legendre 符号。

Jacobi 符号有以下性质:

(i)

(1P)=1

(ii)(a,P)>1

(aP)=0

(iii)(a,P)=1

(aP)=±1

(iv) Jacobi 符号完全积性

(a1a2P)=(a1P)(a2P)

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

(aP1P2)=(aP1)(aP2)

(vi)

(aP)=(a+PP)

(vii)(a,P)=1

(a2P)=(aP2)=1

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

(PQ)(QP)=(1)P12Q12

(ix) 见定理 4.1

(2P)=(1)P218

6. Kronecker 符号

对整数 D3 或 1(mod8),任意整数 n,定义 Kronecker 符号

(Dn)

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

(i)(D,n)>1

(Dn)=0

(ii)

(D1)=1

(iii)D 为奇数

(Dn)=(n|D|)

后者是 Jacobi 符号。

7. 求解奇素数模数二次剩余

以下算法求解同余方程 x2a(modp)p 为奇素数,ap 的二次剩余。

可以通过 Euler 判别法处理 ap 的二次非剩余的情况。

1. Cipolla 算法

找到整数 r 使得 r2ap 的二次非剩余。该操作期望时间复杂度为 O(logn)

类比实数集到复数集的推广,定义 ir2a(modp) 为虚部单位。可以将每个数表示为 A+Bi 的形式。

引理 7.1.1

ipi(modp)

证明  ipi(i2)p12i(r2a)p12i(modp)

引理 7.1.2A,BR

(A+B)pAp+Bp(modp)

证明 二项式定理展开后,因为 p 为素数,所以除 Cp0,Cpp 之外项的系数都是 p 的正整数倍,在模 p 意义下消去得到 Ap+Bp

定理 7.1.1

(r+i)p+1a(modp)

证明

(r+i)p+1(r+i)(r+i)p(r+i)(rp+ip)(r+i)(ri)     ( Fermat's little theorem rpr(modp))r2i2r2r2+aa

综上所述,x±(r+i)p+12(modp) 是同余方程的两根。可以证明其虚部一定为 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=α1β1α2β2αtβt

要求解 x2a(modp),只需求解二次剩余方程组

{x12a(modα1β1)x22a(modα2β2)xt2a(modαtβt)

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

{xx1(modα1β1)xx2(modα2β2)xxt(modαtβt)

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

参考资料

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

9. 求解高次剩余

求解 xna(modp)

考虑 p 的唯一分解 p=p1α1p2α2ptαt。等价变换得

(9.0.1){x1na(modp1α1)x2na(modp2α2)xtna(modptαt)

(9.0.2){xx1(modp1α1)xx2(modp2α2)xxt(modptαt)

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

(9.0.3)xna(modpα)

1. 判别有解

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

(9.1.4)ap1n1(modp)

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

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

(9.1.5)aφ(m)(n,φ(m))1(modm)

以下推导有谬误

如果 am,由同余性质,同余方程 (9.1.3) 等价于

(9.1.6)xna0(moda)

其解集为 {xx=ak,1k<α}{0}

如果 maa=0,同余方程 (9.1.3) 亦等价于同余方程 (9.1.6)

谬误结束

注意到条件为 m 有原根,接下来讨论一种 m 不一定有原根的情形:p=2

2. 当 p=2

欲求解

(9.2.1)xna(mod2α)

这时 2α 不一定有原根,不适用前文讨论的判定方法。

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

定理 9.2.1 α>2 时,有

(9.2.2)52α32α1+1(mod2α)

证明
数学归纳法。
α=3 时命题成立。
假设 α=t 时命题成立,有

(9.2.3)52t32t1+1(mod2t)

推出(原理

(9.2.4)52t32t1+1(mod2t+1)

(9.2.5)52t32t+2t1+1(mod2t+1)

(9.2.4)(9.2.5) 平方,得

(9.2.6)52t222t2+22t1+12t+1(mod2t+1)

(9.2.7)52t222t+22t2+1+22t2t1+22t1+22t22t+22t2+1+22t+2t+2t+12t+1(mod2t+1)

所以命题对 α=t+1 成立,推出其对所有 α>2 成立。
Q.E.D.

定理 9.2.2 52α 的阶为 2α2

证明
由欧拉定理

(9.2.8)5φ(2α)1(mod2α)

根据欧拉函数的定义

φ(2α)=2α1

k=δ2α(5),必定有 k2α1
因为若 5μ1(mod2α),则对于 νμ5ν1(mod2α),根据 (9.2.2)k>2α3
(9.2.2) 平方,得

(9.2.9)52α22α+22α1+11(mod2α)

所以 k2α2
综上所述:k=2α2
Q.E.D.

定理 9.2.3 关于 a,b 的方程

3. 当 a=0

4. 当 (a,pα)>1

参考资料

高次剩余学习笔记 / P5668 - 【模板】N次剩余 题解 - ycx060617 - 博客园
模意义下高次方程:从开门到入门 - Sya_Resory - 博客园
任意模数 n 次剩余 - bestwyj - 博客园

推荐阅读

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

posted @   bluewindde  阅读(1137)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示