阶(multiplicative order)

\(\textbf{Def.}\):\(\delta_m(a)\) 为最小的 \(n\) 使得 \(a^n\equiv 1\pmod m\),其中 \((a,m)=1\)。

Observation 1:\(\boxed{a^0\not\equiv a^1\not\equiv\dots\not\equiv a^{\delta_m(a)-1}\pmod m}\)。

\(\textbf{Proof}\):若 \(\exists i,j,s.t.0\leqslant i<j<\delta_m(a),a^i\equiv a^j\pmod m\),则 \(a^{i-j}\equiv 1\pmod m\),又 \(i-j<\delta_m(a)\),矛盾。

\(\blacksquare\)

Observation 2:\(\boxed{\delta_m(a)\mid\varphi(m)}\)。

\(\textbf{Proof}\):由欧拉定理: \(a^{\varphi(m)}\equiv 1\pmod m\),因为 \(1^x=1\),所以如果存在 \(x_0\) 使得 \(a^{x_0}\equiv 1\pmod m\),那么 \(x_0\) 倍数也一定可以,也就是说存在周期性,所以 \(\delta_m(a)\mid\varphi(m)\)。BTW,同时也有若 \(a^n\equiv 1\pmod m\),则 \(\delta_m(a)\mid n\)。

\(\blacksquare\)

顺便可以知道若 \(a^p\equiv a^q\pmod m\),则 \(p\equiv q\pmod{\delta_m(a)}\)。

Lemma 1:设 \(m\in\mathbb{N}^*\),\(a,b\in\mathbb{Z}\),\((a,m)=(b,m)=1\),则 \(\boxed{\delta_m(ab)=\delta_m(a)\delta_m(b)}\) 的重要条件是 \((\delta_m(a),\delta_m(b))=1\)。

\(\textbf{Proof}\):略,具体见此处。

Lemma 2:设 \(k\in\mathbb{N}\),\(m\in\mathbb{N}^*\),\(a\in\mathbb{Z}\),\((a,m)=1\),则 \(\boxed{\delta_m(a^k)=\frac{\delta_m(a)}{(\delta_m(a),k)}}\)。

\(\textbf{Proof}\):略,具体见此处。

原根(primitive root)

\(\textbf{Def.}\):对于 \((a,m)=1\),若 \(\delta_m(a)=\varphi(m)\),则称 \(a\) 是模 \(m\) 的原根。

Lemma 1(判定定理):设 \(m\geqslant3\),\((a,m)=1\),则 \(a\) 为模 \(m\) 的原根当且仅当 \(\boxed{\forall p\in\mathbb{P},p\mid\varphi(m),a^{\frac{\varphi(m)}{p}}\not\equiv1\pmod m}\)。

\(\textbf{Proof}\):必要性显然,充分性证明见此处。

Lemma 2(数量定理):若 \(m\) 存在原根,则其原根数量为 \(\boxed{\varphi(\varphi(m))}\)。

\(\textbf{Proof}\):略,具体见此处。

Lemma 3(存在定理):\(m\) 存在原根当且仅当 \(\boxed{m=2,4,p^\alpha,2p^\alpha}\),其中 \(p\) 为奇素数,\(a\in\mathbb{N}^*\)。

\(\textbf{Proof}\):略,具体见此处。

若 \(m\) 存在原根,则最小原根 \(\leqslant m^\frac{1}{4}\)。

「note」原根照抄的更多相关文章

  1. 「NOTE」常系数齐次线性递推

    要不是考到了,我还没发现这玩意我不是很会-- # 前置 多项式取模: 矩阵快速幂. # 常系数齐次线性递推 描述的是这么一个问题,给定数列 \(c_1,c_2,\dots,c_k\) 以及数列 \(f ...

  2. Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门

      进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...

  3. 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

  4. 「USACO16OPEN」「LuoguP3147」262144(区间dp

    P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...

  5. Python文字转换语音,让你的文字会「说话」,抠脚大汉秒变撒娇萌妹

    作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) APP 也有文字转换为语音的功能,虽然听起来很别扭,但是基本能解决长辈们看不清文字或者眼睛疲劳,通过文字转换为 ...

  6. Ubuntu「一键」设置全局代理

    Ubuntu「一键」设置代理 sonictl note: the DNS problem may be still there. Except proxychains. WSL (Windows Su ...

  7. 「数据结构」Link-Cut Tree(LCT)

    #1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...

  8. 「译」JUnit 5 系列:条件测试

    原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...

  9. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  10. JavaScript OOP 之「创建对象」

    工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...

随机推荐

  1. 使用镜像加速 Rtools 下载与安装

    在 windows 使用 R,尤其是安装 R 包的时候,经常会遇到一些 Rtools 的问题,今天聊一下. Rtools 是什么 Rtools 作用很大,但我们一般不怎么会直接使用. Rtools p ...

  2. 800名科学家Nature联名发文主张废除p值!

    每年,全球有数百万学生修读统计学课程.随着世界上的数据量越来越大,统计学已成为越来越受欢迎的话题.如果大多数学生都从这门课中记住一点,那可能就是"统计显著性"和"p 值& ...

  3. P8933 [JRKSJ R7] 技巧性的块速递推 题解

    题目传送门 题意: 简单来说就是一个涂色游戏. 有一个 n×m 的棋盘需要涂色. 每格只能涂黑色或白色两种颜色. 横.竖.斜连续 3 格颜色不能相同. 横.竖.斜连续 4 格颜色不能有 3 个相同颜色 ...

  4. Nginx使用Lua脚本连接Redis验证身份并下载文件

    目录 安装Nginx 下载 解压安装包 安装依赖 安装 启动 测试访问 安装LuaJIT 安装ngx_devel_kit 安装lua-nginx-module 在已安装的Nginx中添加Lua模块 L ...

  5. 【转载】Linux虚拟化KVM-Qemu分析(十一)之virtqueue

    转载自: 作者:LoyenWang 出处:https://www.cnblogs.com/LoyenWang/ 公众号:LoyenWang 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者 ...

  6. Swithch反汇编(四种)

    ------------恢复内容开始------------ Switch语法格式 Switch(表达式) { case 常量表达式1: 语句; break; case 常量表达式2: 语句; bre ...

  7. mysql:EXPLAIN

    推荐阅读原文:EXPLAIN用法和结果分析 语法:EXPLAIN SELECT * FROM t1 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句 ...

  8. 2023-7-27 WPF自定义命名空间在xaml中的使用

    xaml自定义命名空间 [作者]长生 为啥要用自定义命名空间 这是常见的几种命名空间 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/ ...

  9. 代码随想录算法训练营第四天|力扣24.两两交换链表节点、力扣19.删除链表的倒数第N个结点、力扣面试02.07链表相交、力扣142.环形链表

    两两交换链表中的节点(力扣24.) dummyhead .next = head; cur = dummyhead; while(cur.next!=null&&cur.next.ne ...

  10. 《深入理解Java虚拟机》读书笔记:HotSpot虚拟机对象探秘

    基于实用优先的原则,以常用的虚拟机HotSpot和常用的内存区域Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配.布局和访问的全过程.以下是本节内容的脑图. HotSpot虚拟机对象 ...