zoukankan      html  css  js  c++  java
  • 二次剩余&&Cipolla

    二次剩余

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

    勒让德符号(legendre symbol)

    以前看视频的截图
    求解(x^2equiv a(mod p))时,我们可用勒让德符号来判定他是否有解
    (前提,p必须为奇素数)
    (egin{pmatrix} frac{a}{p} end{pmatrix}=egin{cases}0 (aequiv 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))也可以说为(xequiv 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,使得(egin{pmatrix} frac{a^2-y}{p} end{pmatrix}=-1)
    结论1可以知道,随机一两次就能找到
    (w=sqrt{a^2-y},x=(a+w)^{frac{p+1}{2}})

    结论3 (w^pequiv -w)

    证明:(w^pequiv w^{p-1}*wequiv (a^2-y)^{frac{p-1}{2}}*wequiv -w)
    (x^2equiv (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
    用几个模数多试几次,再勒让德符号判定一下是否有解

  • 相关阅读:
    斐波纳契数列
    实现刮刮乐的效果
    简易版美图秀秀
    js 宏任务和微任务
    作业3 阅读
    作业2 结对子作业
    做汉堡
    练习一
    Java设计模式十八:代理模式(Proxy)
    Java设计模式二十:适配器模式(Adapter)
  • 原文地址:https://www.cnblogs.com/dsrdsr/p/10354942.html
Copyright © 2011-2022 走看看