二次剩余
二次同余式
二次同余式是关于未知数的二次多项式的同余方程。即:
此外,称
一般的,通过配方,可以把一个一般的二次同余方程转化为一个最简二次同余式
接下来只需要讨论最简二次同余式。
二次剩余
前置概念、定理即证明:#
-
有正整数
,奇质数 ,且 ,若存在一个正整数 ,使得 ,则称 为 的二次剩余。 -
勒让德符号
,若 为 的二次剩余,则该值为 ,若不是则该值为 ,若 ,则该值为 。
定理 :#
-
证明:设
为 的原根,易证当 时, 两两不同,所以存在唯一的 ,满足 ,有以下引理:存在一个 ,满足:现在证明上面的引理:
- 充分性:设
,则 ,那么有 ,而 是偶数,所以 是偶数。 - 必要性:令
即可。
首先如果
,则显然 。否则,我们先证明
,我们有:而因为
,得证。若
为 的二次剩余,则:否则,我们有:
- 充分性:设
-
同时,经过上面的推导,我们可以看出若方程最简二次同余式有解的充要条件是
定理 :#
-
中有 个二次剩余。 -
证明:
设 ,则 由于有 ,所以必定是 ,即 这说明如果 为 的二次剩余,并且一个解是 ,则另一个解一定是 。而 ,所以一共只有 个二次剩余。
求解最简二次同余式
-
算法:在
中随机生成一个数 ,另 ,若 ,那么 是 的一个解。 -
证明:显然有
,因此, (注明:以上是二项式定理),根据费马小定理,有 所以有 根据定理 , ,因此有 。而 。故有 ,所以 为原方程的一个解。可以证明答案不会出现 。 -
这里严谨的证明需要证明代数系统是一个环,留坑待填。
二次互反律
设
-
证明:
-
这里引用
年的最新证明,被称作历代以来最短的证明。 -
这里引用 Jacobi 和,定义:
也就是把
进行 元拆分,注意这里认为 互不相同。而且这 项及其它们的加法都是 意义下的。
接下来我们研究一下上面这个数的性质。对于 ,我们有:当
是奇数的时候,我们代入 可以得到:注:这里第三行是因为
是一个奇数。当
时,代入上边的式子可以得到 ,这是因为 恒成立,由于 。接下来我们从定理出发得到:
注:
时的项为 恒为 。注意到
一定是 的二次剩余,所以我们有: ,所以我们又可以得到:又因为
有一半是 的二次剩余,所以有:于是:
所以我们可以得到:
整个证明的关键在于写出
为奇数时的表达式,首先,对于 为奇数,我们有以下恒等式:证明这个式子只需要回归定义,对于所有的
,我们按照前 项的和划分成若干集合,设前 项和为 的集合为 ,而 相当于是枚举了 里面的每一个元素。注:不要忘记勒让德符号具有完全积性。
所以我们有:
于是我们可以从
递推 ,可以得到:令
等于奇素数 ,运用欧拉准则我们又可以得到:接下来考虑
的 元拆分右循环 位的结果,因为 是一个质数,所以循环节要么是 要么是 。所以要么这些数都一样,要么这 个右循环结果互不相同。对于互不相同的情况,对
的贡献应该是 ,所以我们可以得到:注:满足
的 在 意义下只有一个。
最后一步的推导好像不是很显然,实际上若 是 的二次剩余,设 ,那么我们有 ,而由于 是素数,对于 , 一定存在。故两个勒让德符号是相等的。于是我们整理一下可以得到:
而两边只有符号的区别,所以同余号就无关紧要了,我们就可以得到:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律