初等数论–二次剩余与二次同余方程–二次互反律「建议收藏」

初等数论–二次剩余与二次同余方程–二次互反律「建议收藏」信息安全数学基础–二次剩余与二次同余方程–雅可比符号Jacobisymbol博主是初学信息安全数学基础(整除+同余+原根+群环域),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。…

初等数论–二次剩余与二次同余方程–二次互反律

博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。
我整理成一个系列:初等数论,方便检索。

  • 设 p , q p,q p,q是两个不同的奇素数,则 ( q p ) ( p q ) = ( − 1 ) ( p − 1 2 ) ⋅ ( q − 1 2 ) (\frac{q}{p})(\frac{p}{q})=(-1)^{(\frac{p-1}{2})·(\frac{q-1}{2})} (pq​)(qp​)=(−1)(2p−1​)⋅(2q−1​)

证明:高斯引理+巧妙发现规律
上一章证明了高斯引理 ( a p ) = ( − 1 ) m (\frac{a}{p})=(-1)^m (pa​)=(−1)m,同理,我们考虑 ( q p ) = ( − 1 ) m , (\frac{q}{p})=(-1)^m, (pq​)=(−1)m,即 p − 1 2 \frac{p-1}{2} 2p−1​个数 : q , 2 q , … … p − 1 2 q :q,2q,……\frac{p-1}{2}q :q,2q,……2p−1​q中有 m m m个最小正因数 > p 2 , >\frac{p}{2}, >2p​,我们假设这 m m m个 > p 2 >\frac{p}{2} >2p​的最小正因数分别为: α 1 , α 2 , … … α m , < p 2 \alpha_1,\alpha_2,……\alpha_m,<\frac{p}{2} α1​,α2​,……αm​,<2p​的最小正因数为: β 1 , β 2 , … … β n , \beta_1,\beta_2,……\beta_n, β1​,β2​,……βn​,上一章我们已经证过 p − α 1 , p − α 2 … … p − α m , β 1 , β 2 , … … β n , p-\alpha_1,p-\alpha_2……p-\alpha_m,\beta_1,\beta_2,……\beta_n, p−α1​,p−α2​……p−αm​,β1​,β2​,……βn​,共 p − 1 2 \frac{p-1}{2} 2p−1​个数,大小在 1 ∼ p − 1 2 1\sim\frac{p-1}{2} 1∼2p−1​之间,且两两模 p p p不同余。

  • 对于 p − 1 2 \frac{p-1}{2} 2p−1​个数 : q , 2 q , … … p − 1 2 q , :q,2q,……\frac{p-1}{2}q, :q,2q,……2p−1​q,有带余除法: k q = [ k q p ] ⋅ p + r k , 0 ≤ r k < p 。 kq=[\frac{kq}{p}]·p+r_k,0\le r_k<p。 kq=[pkq​]⋅p+rk​,0≤rk​<p。(这里 [ ] [] []是取下整数的意思)

  • 计算 ∑ k = 1 p − 1 2 k \sum_{k=1}^{\frac{p-1}{2}}k ∑k=12p−1​​k(我个人觉得能想到计算这个是需要一定的数学基础的,还挺难的,我目前也不明白为什么会想到要计算这个,虽然后面可以通过这个找到m的某种表达形式,但是在这一步真的想不明白)

∑ k = 1 p − 1 2 k = ∑ i = 1 m ( p − α i ) + ∑ j = 1 n β j = ∑ i = 1 m p − ∑ i = 1 m α i + ∑ j = 1 n β j = m p − 2 ∑ i = 1 m α i + ∑ i = 1 m α i + ∑ j = 1 n β j = m p − 2 ∑ i = 1 m a i + ∑ k = 1 p − 1 2 r k \sum_{k=1}^{\frac{p-1}{2}}k\\ =\sum_{i=1}^{m}(p-\alpha_i)+\sum_{j=1}^{n}\beta_j\\=\sum_{i=1}^{m}p-\sum_{i=1}^{m}\alpha_i+\sum_{j=1}^{n}\beta_j\\=mp-2\sum_{i=1}^{m}\alpha_i+\sum_{i=1}^{m}\alpha_i+\sum_{j=1}^{n}\beta_j\\=mp-2\sum_{i=1}^{m}a_i+\sum_{k=1}^{\frac{p-1}{2}}r_k ∑k=12p−1​​k=∑i=1m​(p−αi​)+∑j=1n​βj​=∑i=1m​p−∑i=1m​αi​+∑j=1n​βj​=mp−2∑i=1m​αi​+∑i=1m​αi​+∑j=1n​βj​=mp−2∑i=1m​ai​+∑k=12p−1​​rk​ (1)

  • 乘以 q q q,计算带余除法 k q = [ k q p ] ⋅ p + r k , 0 ≤ r k < p 。 kq=[\frac{kq}{p}]·p+r_k,0\le r_k<p。 kq=[pkq​]⋅p+rk​,0≤rk​<p。
    ∑ k = 1 p − 1 2 k ⋅ q = ∑ k = 1 p − 1 2 [ k q p ] ⋅ p + ∑ k = 1 p − 1 2 r k \sum_{k=1}^{\frac{p-1}{2}}k·q\\=\sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}]·p+\sum_{k=1}^{\frac{p-1}{2}}r_k ∑k=12p−1​​k⋅q=∑k=12p−1​​[pkq​]⋅p+∑k=12p−1​​rk​ (2)

  • (2)-(1):
    ∑ k = 1 p − 1 2 k ⋅ ( q − 1 ) = ( ∑ k = 1 p − 1 2 [ k q p ] − m ) ⋅ p + 2 ∑ i = 1 m a i \sum_{k=1}^{\frac{p-1}{2}}k·(q-1)=(\sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}]-m)·p+2\sum_{i=1}^{m}a_i ∑k=12p−1​​k⋅(q−1)=(∑k=12p−1​​[pkq​]−m)⋅p+2∑i=1m​ai​

  • 同时mod 2:(这一步也挺神奇的)
    m = ∑ k = 1 p − 1 2 [ k q p ] m=\sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}] m=∑k=12p−1​​[pkq​]

同理, n = ∑ l = 1 q − 1 2 [ l p q ] n=\sum_{l=1}^{\frac{q-1}{2}}[\frac{lp}{q}] n=∑l=12q−1​​[qlp​]

  • 我们要计算的 ( q p ) ( p q ) = ( − 1 ) m ⋅ ( − 1 ) n = ( − 1 ) m + n , (\frac{q}{p})(\frac{p}{q})=(-1)^m·(-1)^n=(-1)^{m+n}, (pq​)(qp​)=(−1)m⋅(−1)n=(−1)m+n,即我们现在要计算的是 m + n = ∑ k = 1 p − 1 2 [ k q p ] + ∑ l = 1 q − 1 2 [ l p q ] m+n=\sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}]+\sum_{l=1}^{\frac{q-1}{2}}[\frac{lp}{q}] m+n=∑k=12p−1​​[pkq​]+∑l=12q−1​​[qlp​]

这一步计算我觉得也有点难,用图形化来思考这个问题:在这里插入图片描述

  • 整体计算:这个矩形里的整数点共有 ( p − 1 2 ) ⋅ ( q − 1 2 ) (\frac{p-1}{2})·(\frac{q-1}{2}) (2p−1​)⋅(2q−1​)个
  • 分开上下三角形计算:把变化中的纵坐标 y y y用 L L L表示:
    上三角形: x L ≤ p q , 1 ≤ L ≤ q − 1 2 , \frac{x}{L}\le\frac{p}{q},1\le L\le \frac{q-1}{2}, Lx​≤qp​,1≤L≤2q−1​,即 x ≤ L p q , x\le\frac{Lp}{q}, x≤qLp​,点个数一共有 ∑ l = 1 q − 1 2 [ L p q ] \sum_{l=1}^{\frac{q-1}{2}}[\frac{Lp}{q}] ∑l=12q−1​​[qLp​]
    下三角形:同理,点个数一共有 ∑ k = 1 p − 1 2 [ k q p ] \sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}] ∑k=12p−1​​[pkq​]
  • 即 ( p − 1 2 ) ⋅ ( q − 1 2 ) = ∑ k = 1 p − 1 2 [ k q p ] + ∑ l = 1 q − 1 2 [ L p q ] (\frac{p-1}{2})·(\frac{q-1}{2})=\sum_{k=1}^{\frac{p-1}{2}}[\frac{kq}{p}]+\sum_{l=1}^{\frac{q-1}{2}}[\frac{Lp}{q}] (2p−1​)⋅(2q−1​)=∑k=12p−1​​[pkq​]+∑l=12q−1​​[qLp​]

证毕。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215559.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pymssql for linux[通俗易懂]

    pymssql for linux[通俗易懂]linux连接SQLServer,pymssql安装包下载,链接:https://pan.baidu.com/s/1zXyhvatpoaFRpcptmv0reA密码:y3w1安装如下:yuminstallpython-devel-ytarzxfpytz-2018.4.tar.gzcdpytz-2018.4pythonsetup.pyinstallcdta…

    2022年6月19日
  • NSGA2 算法Matlab实现「建议收藏」

    NSGA2 算法Matlab实现「建议收藏」为了能随时了解Matlab主要操作及思想。故本文贴上NSGA-Ⅱ算法Matlab实现(测试函数为ZDT1)。更多内容访问omegaxyz.comNSGA-Ⅱ就是在第一代非支配排序遗传算法的基础上改进而来,其改进主要是针对如上所述的三个方面:①提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了

    2022年5月19日
  • Linux查看端口占用情况的几种方式「建议收藏」

    Linux查看端口占用情况的几种方式「建议收藏」概述测试环境为Centos7.9,本文简单给出了几种检测端口的例子。一、查看本机端口占用1、netstat#安装netstatyum-yinstallnet-tools#检测端口占用netstat-npl|grep”端口”2、lsof#安装lsofyum-yinstalllsof#检测端口占用lsof-i:端口号二、查看对方端口是否开放1、nc(netcat)#安装ncyum-yinstallnc#查看对方端口是否开放nc-vz对

    2022年7月27日
  • JavaScript正则表达式(完整版)

    JavaScript正则表达式(完整版)JavaScript正则表达式1.构建正则表达式字面量创建varreg=/正则表达式/修饰符构造函数创建varreg=newRegExp(‘正则表达式’,’修饰符’)修饰符​ i:ignoreCase,匹配忽视大小写​ m:multiline,多行匹配​ g:global,全局匹配2.正则表达式调用(实例方法)1.exec​ 匹配字符串和正则表达式的方法,​ 匹配成功:​ 返回一个数组[匹配内容,index:匹配的起始位置,

    2022年10月25日
  • visifire笔记「建议收藏」

    visifire笔记「建议收藏」visifire是silverlight下很不错的一套开源组件,最近其发布了2.0beta版本,本文将主要记录一些这个版本跟以前版本不同的地方.昨天初步把1.55版本移植到了2.0beta,没有遇到太大的麻烦,不过确实还是进行一些细节的修改,这些更改看上去更合理了,很多东西都不用往children下硬塞,直接类似Serise.Add或者Titles.Add就可以了.由于visifir…

    2022年7月21日
  • sigaction信号处理

    sigaction信号处理1.sigactionintsigaction(intsignum,conststructsigaction*act,structsigaction*oldact);signum:可以指定SIGKILL和SIGSTOP以外的所有信号2.structsigactionstructsigaction{void(*sa_handler)(int);

    2022年5月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号