授课老师: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. 提高Android Studio的编译速度(更快出包减少等待)

    硬件和软件的准备 对于经常要出包而且一次要出多个渠道APK的同事来说,每次漫长的打包等待是一件消耗生命且无意义事情. google官方提高编译速度的文档:https://developer.andro ...

  2. python从新手到安装指南

    说到python我是跟着官方文档自学入门,本文适用于windows 操作系统,基于Inter和amd的CPU(涵盖市面80%的电脑) 下载和安装python 对于window操作系统的初学者,进入 p ...

  3. github clone或访问慢

    做技术的我们经常会访问github.com,有时出现github访问非常慢或者git clone速度很慢,git push也很慢 原因很简单:github被高高的墙屏蔽了. 所以解决方案就是手动把 c ...

  4. 全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性

    全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性 1. 基本思想 大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们 ...

  5. python读取json格式文件大量数据,以及python字典和列表嵌套用法详解

    1.Python读取JSON报错:JSONDecodeError:Extra data:line 2 column 1 错误原因: JSON数据中数据存在多行,在读取数据时,不能够单单用open(), ...

  6. 单片机 IAP 功能基础开发篇之APP升级(一)

    引言 目的 主要介绍单片机 IAP 开发的设计思路,如何不使用下载烧录器的方式对单片机的程序进行升级,升级区域包括 bootloader 和用户程序的升级,升级方式有 UASRT 通信.CAN 通信和 ...

  7. PostgreSQL-查询每个表的大小

    1.查询数据库中单个表的大小(不包含索引) select pg_size_pretty(pg_relation_size('表名')); 2.查询所有表的大小并排序(包含索引) SELECT tabl ...

  8. CF739A Alyona and mex 题解

    题目传送门 前置知识 贪心 | 构造 解法 从贪心的角度分析,最小的 \(\operatorname{mex}\) 仅会与长度最小的区间有关:另外为使得 \(\operatorname{mex}\) ...

  9. 【Android】使用Socket实现跨设备通讯

    1 Socket 简介 ​ Socket(套接字)是应用层与 TCP/IP 协议通信的中间软件抽象层,它是一组接口,用户只需面向 Socket 编程,即可实现跨设备(网络)通讯. ​ Socket 是 ...

  10. spring boot读取json文件并实现接口查询

    0.源码下载 https://download.csdn.net/download/IndexMan/84238085 1.说明 最近需要在spring boot项目启动时读取json文件并保存到Li ...