学习笔记:勒让德(Legendre)符号
授课老师:ybx、chh。
授课时间:2024/3/8。
授课内容纲要:勒让德符号及其性质(欧拉准则,高斯引理,二次互反律)。
勒让德符号概括
好像在 OI 和 MO 当中都挺有用的。
勒让德符号的定义
假设 \(p\) 为奇质数,\(a\in U_p\)(\(U_p=\{1,2,\dots,p-1\}\)),则:
\]
勒让德符号的性质
欧拉准则
\]
证明:如果存在 \(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\),则:
\]
证明:假设 \(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\) 为不同的奇质数,则:
\]
证明:
根据高斯引理,\(|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)符号的更多相关文章
- 学习笔记DL001:数学符号、深度学习的概念
数学符号. 数和数组.
- [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- Sass学习笔记之入门篇
Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样 ...
- swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- Golang 语法学习笔记
Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...
- Theano 学习笔记(一)
Theano 学习笔记(一) theano 为什么要定义共享变量? 定义共享变量的原因在于GPU的使用,如果不定义共享的话,那么当GPU调用这些变量时,遇到一次就要调用一次,这样就会花费大量时间在数据 ...
- ASP.Net开发基础温故知新学习笔记
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...
随机推荐
- 提高Android Studio的编译速度(更快出包减少等待)
硬件和软件的准备 对于经常要出包而且一次要出多个渠道APK的同事来说,每次漫长的打包等待是一件消耗生命且无意义事情. google官方提高编译速度的文档:https://developer.andro ...
- python从新手到安装指南
说到python我是跟着官方文档自学入门,本文适用于windows 操作系统,基于Inter和amd的CPU(涵盖市面80%的电脑) 下载和安装python 对于window操作系统的初学者,进入 p ...
- github clone或访问慢
做技术的我们经常会访问github.com,有时出现github访问非常慢或者git clone速度很慢,git push也很慢 原因很简单:github被高高的墙屏蔽了. 所以解决方案就是手动把 c ...
- 全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性
全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性 1. 基本思想 大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们 ...
- python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
1.Python读取JSON报错:JSONDecodeError:Extra data:line 2 column 1 错误原因: JSON数据中数据存在多行,在读取数据时,不能够单单用open(), ...
- 单片机 IAP 功能基础开发篇之APP升级(一)
引言 目的 主要介绍单片机 IAP 开发的设计思路,如何不使用下载烧录器的方式对单片机的程序进行升级,升级区域包括 bootloader 和用户程序的升级,升级方式有 UASRT 通信.CAN 通信和 ...
- PostgreSQL-查询每个表的大小
1.查询数据库中单个表的大小(不包含索引) select pg_size_pretty(pg_relation_size('表名')); 2.查询所有表的大小并排序(包含索引) SELECT tabl ...
- CF739A Alyona and mex 题解
题目传送门 前置知识 贪心 | 构造 解法 从贪心的角度分析,最小的 \(\operatorname{mex}\) 仅会与长度最小的区间有关:另外为使得 \(\operatorname{mex}\) ...
- 【Android】使用Socket实现跨设备通讯
1 Socket 简介 Socket(套接字)是应用层与 TCP/IP 协议通信的中间软件抽象层,它是一组接口,用户只需面向 Socket 编程,即可实现跨设备(网络)通讯. Socket 是 ...
- spring boot读取json文件并实现接口查询
0.源码下载 https://download.csdn.net/download/IndexMan/84238085 1.说明 最近需要在spring boot项目启动时读取json文件并保存到Li ...