二次剩余

给定y和奇质数p,求x,使得\(x^2≡y(mod p)\)

勒让德符号(legendre symbol)

以前看视频的截图
求解\(x^2\equiv a(mod\ p)\)时,我们可用勒让德符号来判定他是否有解
(前提,p必须为奇素数)
\(\begin{pmatrix} \frac{a}{p} \end{pmatrix}=\begin{cases}0 (a\equiv 0(mod\ p))\\1(a\%p意义下是二次剩余)\\-1(a\%p意义下是二次非剩余)\end{cases}\)
有时为了印刷上的方便,会写成\((a|p)\)
0认为是特殊情况,这里不过分讨论

这里只说明第ii条,因为其他的都很显然(或者看完ii条之后),iii说明只他是个完全积性函数

公式\((a|p)=a^{\frac{p-1}{2}}(mod\ p)\)

也许还可以叫欧拉判别法
首先证明\(a^{\frac{p-1}{2}}(mod\ p)=1或-1\)
\(a^{p-1}-1=(a^{\frac{p-1}{2}}+1)(a^{\frac{p-1}{2}}-1)\equiv 0 (mod\ p)\)
显然,\(a^{\frac{p-1}{2}}(mod\ p)只有=1或-1\)时,才可能成立

a为%p意义下的二次剩余时\(a^{\frac{p-1}{2}}\equiv 1(mod\ p)\)
\(x^{2}\equiv a(mod\ p)\)也可以说为\(x\equiv a^{\frac{1}{2}}\equiv x^{p-1}(mod\ p)\)
而费马小定理又可以得到\(x^{p-1}\equiv 1(mod\ p)\)
存在x

a为%p意义下的二次非剩余时\(a^{\frac{p-1}{2}}\equiv -1(mod\ p)\)
也就是\(x^{p-1}\equiv -1(mod\ p)\)
而费马小定理又可以得到\(x^{p-1}\equiv 1(mod\ p)\)
所以不存在x

结论1

1到\(p-1\)中有\(\frac{p-1}{2}\)个勒让德符号为1,\(\frac{p-1}{2}\)个勒让德符号为-1
在%p意义下,a,P−a平方的结果是一样的,1 到 P−1的平方就会有\(\frac{p-1}{2}\)个互不相同的数,剩下的就不是二次剩余

结论 2

\((a+b)^p≡a^p+b^p (Mod p)\)
证明:直接展开二项式定理,因为p是质数,除了i=0和p项,其他项分子的p分母都消不掉,会被模成0,剩下\(a^p+b^p\)

Cipolla's Algorithm.

求解\(x^2≡y(mod p)\)时
不断随机a,使得\(\begin{pmatrix} \frac{a^2-y}{p} \end{pmatrix}=-1\)
结论1可以知道,随机一两次就能找到
令\(w=\sqrt{a^2-y},x=(a+w)^{\frac{p+1}{2}}\)

结论3 \(w^p\equiv -w\)

证明:\(w^p\equiv w^{p-1}*w\equiv (a^2-y)^{\frac{p-1}{2}}*w\equiv -w\)
\(x^2\equiv (a+w)^{p+1}\)
\(\ \ \ \ \equiv (a+w)^{p}(a+w)\)
结论2可知
\(\ \ \ \ \equiv (a^p+w^p)(a+w)\)
结论3又知
\(\ \ \ \ \equiv(a^{p-1}*a+w^{p-1}*w)(a+w)\)
\(\ \ \ \ \equiv(a-w)(a+w)\)
\(\ \ \ \ \equiv a^2-w^2\)
\(\ \ \ \ \equiv y\)
可w这个虚部咋计算,根据拉格朗日定理,虚部系数为0

代码

咕咕

end

太多摘抄qwq
主要参考https://blog.csdn.net/L_0_Forever_LF/article/details/79052135
wiki的图片很棒
附带一个题,不过没大有联系
求1000位数是否是完全平方数,yes or no
用几个模数多试几次,再勒让德符号判定一下是否有解

二次剩余&&Cipolla的更多相关文章

  1. 二次剩余Cipolla算法学习笔记

    对于同余式 \[x^2 \equiv n \pmod p\] 若对于给定的\(n, P\),存在\(x\)满足上面的式子,则乘\(n\)在模\(p\)意义下是二次剩余,否则为非二次剩余 我们需要计算的 ...

  2. 二次剩余-Cipolla

    二次剩余 \(Cipolla\) 算法 概述 大概就是在模 \(p\) 意义下开根号,如求解方程\(x^2\equiv n(mod\ p)\). 这里只考虑 \(p\) 为素数的情况.若 \(p=2\ ...

  3. 二次剩余 Cipolla算法

    欧拉准则 \(a\)是\(p\)的二次剩余等价于\(a^{\frac{p-1}{2}}\equiv 1\pmod p\),\(a\)不是\(p\)的二次剩余等价于\(a^{\frac{p-1}{2}} ...

  4. 【模板】【数论】二次剩余Cipolla算法,离散对数BSGS 算法

    Cipolla LL ksm(LL k,LL n) { LL s=1; for(;n;n>>=1,k=k*k%mo) if(n&1) s=s*k%mo; return s; } n ...

  5. URAL 1132 Square Root(二次剩余定理)题解

    题意: 求\(x^2 \equiv a \mod p\) 的所有整数解 思路: 二次剩余定理求解. 参考: 二次剩余Cipolla's algorithm学习笔记 板子: //二次剩余,p是奇质数 l ...

  6. xgzc— math 专题训练(二)

    费马小定理&欧拉定理 费马小定理: 如果\(p\)是一个质数,而整数\(a\)不是\(p\)的倍数,\(a^{p-1}\equiv1\pmod p\) 欧拉定理: 当\(a\)与\(n\)互质 ...

  7. 二次剩余定理及Cipolla算法入门到自闭

    二次剩余定义: 在维基百科中,是这样说的:如果q等于一个数的平方模 n,则q为模 n 意义下的二次剩余.例如:x2≡n(mod p).否则,则q为模n意义下的二次非剩余. Cipolla算法:一个解决 ...

  8. 二次剩余的判定及Cipolla算法

    二次剩余 ppp是奇素数.所有的运算都是在群Zp∗Z_{p}^{*}Zp∗​中的运算.方程x2=a≠0x^2=a \neq 0x2=a̸​=0问是否有解,以及解是什么?若有解,aaa就是模ppp的二次 ...

  9. 二次剩余从csdn

    欧拉准则 模\(p\)意义下,\(a\)是二次剩余等价于\(a^{\frac{p-1}{2}}\equiv 1\),\(a\)不是二次剩余等价于\(a^{\frac{p-1}{2}}\equiv -1 ...

随机推荐

  1. Git branch 分支与合并分支

    Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一 ...

  2. Shader1.0学习笔记之SetTexture

    1.语法 SetTexture [TextureName] {Texture Block} 2.Texture block combine 命令 combine src1 *  src2 越乘越暗 c ...

  3. Sitecore CMS中更改项目的模板

    如何在Sitecore CMS中创建项目后更改项目的模板. 在创建项目时选择了错误的模板,或者创建了新模板并将现有项目更新为新模板时,这非常有用.   警告! 更改模板时要小心.如果原始模板具有不在新 ...

  4. sitecore系统教程之媒体库

    您可以管理媒体库中的所有媒体项目,例如要嵌入网页的图像或供访问者下载的图像.媒体库包含所有媒体项目,例如图像,文档,视频和音频文件. 在媒体库中,您可以: 将所有媒体文件保存在一个位置,并将其组织在与 ...

  5. 【转】LoadRunner--Analysis各项指标详解

    转载:https://blog.csdn.net/liangfengchang/article/details/45070321 一.常用到的性能测试术语1.事务(Transaction) 在web性 ...

  6. Spark学习之路 (四)Spark的广播变量和累加器

    一.概述 在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本.这些变量会被复制到每台机器上 ...

  7. ExtJS5入门

    https://www.cnblogs.com/xiaoliu66007/p/7988060.html

  8. Android获取全局Context的方法

    Android获取全局Context的方法 Android--应用全局获取Context - 超宇的博客 - CSDN博客https://blog.csdn.net/chaoyu168/article ...

  9. HDU 2176 取(m堆)石子游戏 (尼姆博奕)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176 m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎 ...

  10. mysql安装登录

    接下来就开始安装mysql 下载地址:http://dev.mysql.com/downloads/mysql/  选择 dmg格式 下载完毕后,双击打开dmg文件,双击 “mysql-5.7.9-o ...