首页 > 编程语言 >二次剩余和 Cipolla 算法

二次剩余和 Cipolla 算法

时间:2024-01-19 17:33:57浏览次数:30  
标签:剩余 frac pmod 定理 算法 个解 Cipolla omega equiv

首先是素数模同余方程的相关理论。

下设 $p\in $ 是质数,\(f(x)=\sum_{i=0}^n a_ix^i\),\(x\in \Z_p,p\not\mid a_n\)。

引理 1

如果 \(f(x)\equiv 0\pmod p\) 具有解 \(x_1\sim x_k\),且 \(k\le n\)。则

\[f(x)\equiv g(x)\prod (x-x_i)\pmod p \]

其中 \(\deg g=n-k,[x^{n-k}]g(x)=a_n\)。

归纳法不难证明此命题。

可以推出威尔逊定理。

定理 1 Lagrange 定理

\[f(x)\equiv 0\pmod p \]

至多具有 \(n\) 个不同解。

证明:

设其具有解 \(x_1\sim x_{n+1}\),则有

\[f(x)\equiv a_n\prod_{i=1}^n (x-x_i)\pmod p \]

取 \(x=x_{n+1}\),右侧任何数都不整除 \(p\)。

推论:如果有超过 \(n\) 个解,那么所有系数整除 \(p\)。

定理 2

设 \(n\le p\),则首一多项式 \(f(x)\equiv 0\pmod p\) 有 \(n\) 个解,当且仅当:

存在整系数多项式 \(q(x),r(x)\),且 \(\deg r<n\),满足:

\[x^p-x=f(x)q(x)+pr(x) \]

证明:

首先证明必要性。若 \(f(x)\equiv 0\pmod p\) 有 \(n\) 个解,那么考虑 \(r_1(x)=x^p-x-f(x)q(x)\),应该有 \(n\) 个解。而 \(n>\deg r_1\),故 \(r_1\) 的系数整除 \(p\)。那么 \(r_1(x)=pr(x)\)。

充分性:首先 \(x^p-x=f(x)q(x)+pr(x)\equiv 0\pmod p\) 有 \(p\) 个解,根据费马小定理。设 \(f(x)\equiv 0\pmod p\) 有 \(s\) 个解,显然 \(s\le n\)。

而 \(q(x)\equiv 0\) 有至多 \(p-n\) 个解,又因为 \(\{x\mid f(x)q(x)\equiv 0\}=\{x\mid f(x)\equiv 0\}\cup \{x\mid q(x)\equiv 0\}\),\(p\le (p-n)+s\),即 \(s\ge n\)。则 \(s=n\),证毕。

接下来依托定理 \(2\),二(\(k\))次剩余存在的条件可以被证明。

定理 3

设 \(n\not\mid p-1,p\not\in a\)。

\[x^n\equiv a\pmod p \]

则此方程有解当且仅当

\[a^{\frac{p-1}n}\equiv 1\pmod p \]

若有解,有 \(n\) 个解。

证明:

必要性显然。

充分性是某个 WF 选手不会的

\[x^p-x=x(x^{p-1}-a^{\frac{p-1}n})+x(a^{\frac{p-1}n}-1)\\ =xP(x)(x^n-a)+(a^{\frac{p-1}n}-1)x\\ =xP(x)(x^n-a)+0\\ \]

其中 \(P(x)\) 是整系数多项式。\(xP(x)\) 当然也是。根据以上定理,存在 \(n\) 个解。

对于二次剩余:

\[a^p-1=(a^{\frac{p-1}2}+1)(a^{\frac{p-1}2}-1)\equiv0\pmod p\\ \]

所以 \(a\) 是非二次剩余当且仅当 \(a^{\frac{p-1}2}\equiv -1\pmod p\)。

Cipolla

不难发现 \(\dfrac{p-1}2\) 个数有二次剩余,同样多的数没有。

考虑求解

\[x^2\equiv c\pmod p \]

所以,可以随机出 \(a\) 使得 \(a^2-c\) 不是二次剩余。此时有 \((a^2-c)^{\frac{p-1}2}\equiv -1\pmod p\)。

对 \(\Z_p\) 环进行代数扩张,变为 \(\C_p\),虚根 \(\omega\) 认为是 \(\omega^2\equiv a^2-c\pmod p\)。

不难发现 \(\omega^p=-\omega\)。

下面证明:\(c=(a+\omega)^{p+1}\)。

根据升幂引理,\((a+\omega)^{p+1}=(a^p+\omega^p)(a+\omega)=(a-\omega)(a+\omega)=c\)。

证毕!

标签:剩余,frac,pmod,定理,算法,个解,Cipolla,omega,equiv
From: https://www.cnblogs.com/british-union/p/17975207/cipolla

相关文章

  • PA0:关于剩余练习2
    32、双向链表在多数时候都优于单向链表,双向链表意味着它可以方便地访问自己的前驱节点和后继节点,代价只是多占用一点空间给指针。此外,作者也对应配了头指针和尾指针,在作者的例子里还有pop和push,那双指针就显得很重要了,单链表配单指针,会让pop和push变得更耗时间。 先看头文件部......
  • 基于协同过滤的音乐推荐算法实现
    基于协同过滤的音乐推荐算法实现导入相关模块importpandasaspdimportnumpyasnp#importtimeimportsqlite3读取、清洗数据#读取数据triplet_dataset=pd.read_csv(filepath_or_buffer=data_home+'train_triplets.txt',sep='\t'......
  • 【计算机算法设计与分析】罗密欧与朱丽叶的迷宫问题(C++_回溯法)
    文章目录题目描述测试样例算法原理算法实现参考资料题目描述罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个mxn的迷宫中,如图所示。每一个方恪表示迷宫中的一个房间。这mxn个房间中有一些房间是封闭的。不允任何人进入。在迷宫中任何位置均可沿8个方向进入未封闭的房间。罗密......
  • RSA加密算法实现
    一、实验目的深度理解RSA算法的工作原理,查阅欧几里得扩展算法计算模运算的逆元,并编程序实现。学会生成不同大小的素数,体会模指数运算的困难性和模指数运算的快速算法。二、实验器材pycharm+python3.11三、实验内容1.实验要求:自己配置python环境,编写RSA算法实现程序,运行RSA程......
  • TSP 的遗传算法
    省流:不如模拟退火打OI的时候一直对乱搞很感兴趣,只是没时间学,现在算是弥补一下吧旅行商问题(TravelingSalesmanProblem,TSP):求无向图边权和最小的哈密顿回路#include<bits/stdc++.h>usingnamespacestd;constdoubleeps=1e-8;mt19937mt(20050827);intrnd(in......
  • DES加密算法实现
    实验要求:编写DES算法实现程序,运行DES程序,演示DES加密与解密的过程。在加密时显示明文和密钥,在加密过程中在每一轮执行完毕后显示该轮的输出。(话不多说,直接上代码!!!)实验代码:点击查看代码importbinascii****<details><summary>点击查看代码</summary></details>****class......
  • 基于矩阵分解的协同过滤算法
    引言随着互联网、大数据等新技术的迅速发展,人们的生活变得更加便捷,但同时也导致网络数据爆炸式增长。为了快速帮助用户找到感兴趣的内容,越来越多的研究者致力于推荐算法的研究,以提高推荐质量,向用户推荐更符合其喜好的内容。然而,目前的推荐算法仍存在数据稀疏性、隐私保护和冷启动......
  • java相似度算法计算
     publicclassCompareStrSimUtil{privatestaticintcompare(Stringstr,Stringtarget,booleanisIgnore){intd[][];//矩阵intn=str.length();intm=target.length();inti;//遍历str的intj;//遍历......
  • 文心一言 VS 讯飞星火 VS chatgpt (182)-- 算法导论13.4 6题
    六、用go语言,Skelton和Baron教授担心在RB-DELETE-FIXUP的情况1开始时,结点x.p可能不是黑色的。如果这两位教授是对的,则第5~6行就是错的。证明:x.p在情况1开始时必是黑色的,从而说明这两位教授没有担心的必要。文心一言:首先,我们需要理解RB-DELETE-FIXUP的情况1开始时,节点x.p......
  • 安防监控平台LntonAIServer视频汇聚平台明烟明火识别 烟火算法检测告警
    LntonAIServer视频汇聚平台是一款基于人工智能技术的安防监控平台。它能够实时监控和分析视频数据,通过烟火算法检测告警,为我们提供及时、准确的安全信息。无论是在家庭、办公室,还是在公共场所,都能使用LntonAIServer。明烟明火识别是LntonAIServer视频汇聚平台的一大亮......