授课老师:ybx、chh。

授课时间:2024/3/8。

授课内容纲要:勒让德符号及其性质(欧拉准则,高斯引理,二次互反律)。

勒让德符号概括

好像在 OI 和 MO 当中都挺有用的。

勒让德符号的定义

假设 \(p\) 为奇质数,\(a\in U_p\)(\(U_p=\{1,2,\dots,p-1\}\)),则:

\[\left(\dfrac ap\right)=\begin{cases}1&\text{exist } x\in U_p,x^2\equiv a\pmod p \\-1& \text{otherwise}\end{cases}
\]

勒让德符号的性质

欧拉准则

\[\left(\dfrac ap\right)\equiv a^{\frac{p-1}{2}}\pmod p
\]

证明:如果存在 \(x^2\equiv a\pmod p\),那么 \(a^{\frac{p-1}{2}}\equiv x^{p-1}\equiv 1\pmod p\)。我们知道 \(a^{\frac{p-1}{2}}\equiv 1\pmod p\) 这个方程在 \(\bmod p\) 意义下只有 \(\dfrac{p-1}{2}\) 个根,刚好就是所有的 \(x^2\pmod p\)。

QED。

通过欧拉准则,在 OI 中可以使用 \(\mathcal O(\log p)\) 的算法来解勒让德符号,但是欧拉准则使用情况在 MO 中并不是太理想。

【例题】求解 \(\left(\dfrac{-1}{p}\right)\)。

解答:\(\left(\dfrac{-1}{p}\right)\equiv(-1)^{(p-1)/2}\)。所以如果 \(p\equiv 1\pmod 4\) 那么 \(-1\) 是二次剩余,如果 \(p\equiv3\pmod 4\) 那么不是。

【例题】证明 \(4n+1\) 型质数是无穷的。

解答:反之,记为 \(p_1,p_2,\dots,p_n\)。取 \(m=(2p_1p_2\dots p_n)^2+1\),取 \(m\) 任意质因子 \(p\)。

由于 \(p|m\),得到 \(-1\equiv (2p_1p_2\dots p_n)^2\pmod p\),也就是 \(-1\) 为 \(\bmod p\) 意义下的二次剩余,得到 \(p\equiv1\pmod 4\)。然而 \(p\not\in\{p_1,p_2,\dots,p_n\}\),矛盾!


在进入高斯引理之前先引入几个记号:

定义 \(P_p=\{1,2,\dots,\dfrac{p-1}{2}\}\),\(N_p=\{-1,-2,\dots,-\dfrac{p-1}{2}\}\)。定义集合的数乘,据此定义得到 \(N_p=(-1)P_p\)。

高斯引理

假设 \(p\) 为奇质数,\(a\in U_p\),则:

\[\left(\dfrac ap\right)=(-1)^\mu,\mu=|aP\cap N|
\]

证明:假设 \(x\not = y\in P\),得到 \(xa\not\equiv±ya\pmod p\),进而:\(aP\) 可以表示成二元集合 \(\{±1\},\{±2\},\dots,\{±\dfrac{p-1}{2}\}\),每个集合选一个元素的集合。

形式化的,\(aP=\{\epsilon_ii|i\in P,\epsilon_i\in\{-1,1\}\}\)。

考虑算两次 \(\prod_{i\in aP}i\)。

第一次:\(\prod_{i\in aP}i=\prod_{i\in P}ai=a^{\frac{p-1}{2}}\left(\dfrac{p-1}{2}\right)!\)。

第二次:\(\prod_{i\in aP}i=\prod\epsilon_i\times\left(\dfrac{p-1}{2}\right)\)。

得到 \(\prod \epsilon_i\equiv a^{\frac{p-1}{2}}\pmod p\)。

显然 \(\prod \epsilon_i\) 是 \(1\) 还是 \(-1\) 取决于其中 \(-1\) 的数量,也就是 \(\mu\) 的奇偶性。

QED。

通过欧拉准则,我们可以简单的手膜 \(a\) 比较小的二次剩余。

【例题】证明 \(\left(\dfrac 2p\right)=(-1)^{\frac{p^2-1}{8}}\)。也就是 \(2\) 是 \(\bmod p\) 的二次剩余当且仅当 \(p\equiv ±1\pmod 4\)。

把 \(aP\) 算一下就可以了。


二次互反律

假设 \(p,q\) 为不同的奇质数,则:

\[\left(\dfrac pq\right)\left(\dfrac qp\right)=(-1)^{\frac{(p-1)(q-1)}{4}}
\]

证明:

根据高斯引理,\(|pP_q\cap N_q|\) 意义就是满足下述条件的 \(x\) 的数量:\(x\in P_q,px\in N_q\)。

即 \(0<x<\dfrac q2\) 且存在整数 \(y\) 使得 \(-\dfrac q2<px-qy<0\)。这里一个 \(x\) 只会对应一个 \(y\),也就是对 \(x\) 计数等价于给合法的 \((x,y)\) 对计数。

根据不等式右边容易推出 \(y>0\),根据左边得到 \(qy<px+\dfrac q2<\dfrac{pq}2+\dfrac q2\),也就是 \(y<\dfrac{p+1}{2}\)。

也就是我们要对 \(0<x<\dfrac q2,0<y<\dfrac p2\),且 \(-\dfrac q2<px-qy<0\) 的 \((x,y)\) 对计数。

我们考虑对 \(\left(\dfrac qp\right)\) 使用同样的操作,同样的化简可以得到是等价于:

  • 对 \(0<x<\dfrac q2,0<y<\dfrac p2\),且 \(0<px-qy<\dfrac p2\) 的 \((x,y)\) 对计数。

由于我们计算的是上面两个东西的即,我们只需要把满足这两个情况之一的 \((x,y)\) 对计数即可。

注意到 \(px-qy\not=0\),也就是可以换成 \(-\dfrac q2<px-qy<\dfrac p2\)。搬一张图大概长这样:

其中 \(A,B\) 部分是不满足的,中间长条部分是满足的。

经过计算不难发现 \(A,B\) 是全等的,也就是满足条件的 \((x,y)\) 对的奇偶性等价于这个矩形内部的整点个数 \(\dfrac{p-1}{2}\dfrac{q-1}{2}\)。

QED。

这种方式,我们可以解决 \(\left(\dfrac 3p\right)\) 之类的问题。

学习笔记:勒让德(Legendre)符号的更多相关文章

  1. 学习笔记DL001:数学符号、深度学习的概念

    数学符号. 数和数组.

  2. [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  4. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  5. Sass学习笔记之入门篇

    Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样 ...

  6. swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  7. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  8. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  9. Theano 学习笔记(一)

    Theano 学习笔记(一) theano 为什么要定义共享变量? 定义共享变量的原因在于GPU的使用,如果不定义共享的话,那么当GPU调用这些变量时,遇到一次就要调用一次,这样就会花费大量时间在数据 ...

  10. ASP.Net开发基础温故知新学习笔记

    申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...

随机推荐

  1. 🛠 开源即时通讯(IM)项目OpenIM源码部署指南

    OpenIM的部署涉及多个组件,并支持多种方式,包括源码.Docker和Kubernetes等.这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异.确实,这些都是复杂的问题,涉及到 ...

  2. c++基础之函数

    距离上次更新又过了一周,又该更新新的读书笔记了.本次更新的主要是c++中函数部分的内容 c++ 中的函数与c语言中的函数大致用法或者语法是一样的,这里就不就这点详细展开了.需要注意的是c/c++中并没 ...

  3. 大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解

    大语言模型的预训练[2]:GPT.GPT2.GPT3.GPT3.5.GPT4相关理论知识和模型实现.模型应用以及各个版本之间的区别详解 1.GPT 模型 1.1 GPT 模型简介 在自然语言处理问题中 ...

  4. 从github上下载代码到本地

    相关链接: 码云(gitee)配置SSH密钥 码云gitee创建仓库并用git上传文件 git 上传错误This oplation equires one of the flowi vrsionsot ...

  5. MySQL【五】与python交互

    1.安装pymysql 安装pymysql pip install pymysql 2.游标(cursor)的使用 cursor,就是一个标识,用来标识数据可以理解成数组中的下标  . 一.声明一个游 ...

  6. 【4】 VScode最全面最实用的插件推荐,用了你就爱上了!

    相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...

  7. 6.1 C/C++ 封装字符串操作

    C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...

  8. Tire树 学习笔记

    定义与基本求法 定义 又称字典树,用边表示字母,从根节点到树上某一节点路径形成一个字符串. 例如 \(charlie:\) 基本求法 廷显然的,往树中存就行了,查询也是显然的,通过一道例题来理解吧: ...

  9. easyexcel只通过表名来动态查询并动态导出数据

    EasyExcel动态表头即动态数据生成 1️⃣ 业务需求 需要将数据库中的所有表放在一个下拉框中,下拉框支持模糊查询到相关的表,然后通过这个表名查询到数据库的数据,切换不同的表查询出来相关表的列和数 ...

  10. SecureCRT使用sftp上传较大文件意外暂停

    今天在一台跳转机使用SecureCRT的sftp上传较大文件时,发现中途会时常停止传输,给出提示如下: 如果此时选择Accept Once,会继续传输,但是过一段时间后,还是会停止并给出相同提示,如果 ...