较为冷门(?)的数论知识,但在解决一些特殊问题上有着重要的作用。

整数的阶

根据欧拉定理有正整数 \(n\) 和一个与 \(n\) 互素的整数 \(a\),那么有 $a^{\phi(n)} \equiv 1 \pmod{n} $。因此至少存在一个整数满足这个方程。并且由良序原理可得一定存在一个最小正整数满足这个方程。、

定义:设 \(a\) 和 \(n\) 是互素的整数,\(a\not = 0\),\(n > 0\),使得 \(a^x\equiv 1 \pmod n\) 的最小正整数称之为 **\(a\) 模 \(n\) 的阶 **,记作 \(\mathrm{ord}_na\)。

定理1

如果 \(a\) 和 \(n\) 为互素的整数,且 \(a\not = 0\)、\(n>0\),那么正整数 \(x\) 是同余方程 \(a^x\equiv 1 \pmod n\) 的一个解当且仅当 $ \mathrm{ord}_na \mid x$。

证明:

假设 \(a^x\equiv 1 \pmod n\),并将 \(x\) 表示为:

\[x=k\times \mathrm{ord}_na + r\ \ \ (0\le r< \mathrm{ord}_na)
\]

得:

\[a^x=a^{k\times \mathrm{ord}_na + r}=(a^{k\times \mathrm{ord}_na})^r\equiv a^r\pmod n
\]

因为 \(a^x\equiv 1 \pmod n\),所以 \(a^r\equiv 1 \pmod n\),又因为 \(\mathrm{ord}_na\) 为使得该同余方程右边为 \(1\) 的最小正整数,所以 \(r=0\),所以有 \(x=k\times \mathrm{ord}_na\),固有 $ \mathrm{ord}_na \mid x$。

推论1.1

如果 \(a\) 和 \(n\) 为互素的整数,且 \(n>0\),那么 \(\mathrm{ord}_na \mid \phi(n)\)。

根据定理1不难得证。

定理2

如果 \(a\) 和 \(n\) 为互素的整数,且 \(n>0\),那么 \(a^i\equiv a^j \pmod n\) 当且仅当 \(i \equiv j \pmod {\mathrm{ord}_na}\)。\(i\) 和 \(j\) 均为非负整数。

证明:

假设 \(a^i\equiv a^j \pmod n\) 且 \(j\le i\)。因为 \(a \equiv 1 \pmod {n}\),所以 \(a^j \equiv 1 \pmod n\)。那么可列出下面狮子:

\[a^i \equiv a^j \equiv a^ja^{i-j} \pmod n
\]

约掉 \(a^j\) 则有:

\[a^{i-j} \equiv 1 \pmod n
\]

由定理1可得 \(\mathrm{ord}_na \mid i-j\),换个形式:\(i \equiv j \pmod {\mathrm{ord}_na}\)。得证。

这条性质非常重要,换个说法就是当 \(a\) 的指数小于 \(\mathrm{ord}_na\) 的时候所有模后的数都是不相等的。接下来说明原根的性质时还会提到类似的这一点。这可以把某些程序的复杂度 \(\mathcal{O}(n)\) 压缩到 \(\mathcal{O}(\mathrm{ord}_na)\)。是一个很大的优化。

原根

定义:如果 \(r\) 和 \(n\) 是互素的整数且 \(n>0\),那么当 \(\mathrm{ord}_nr=\phi(n)\) 时,称 \(r\) 是 \(n\) 的原根。

某个整数的阶是一定存在的,但原根可不是什么整数都有的。考虑哪些正整数有原根。一个整数存在原根当且仅当他为 \(2,4,p^k,2p^k\),其中 \(p\) 为奇素数,\(k\) 为正整数。

定理3

如果正整数\(r\) 和 \(n\) 互素,并且 \(n>0\), 如果 \(r\) 是 \(n\) 的一个原根,那么下列整数

\[r^1,r^2,\dots,r^{\phi(n)}
\]

构成了模 \(n\) 的既约剩余系。

没写完呢~

不太好理解。破译过来就是,这些整数模 \(n\) 的值在指数为 \(1\) 到 \(\phi(n)\) 的时候是互不相等的,并且这些整数模 \(n\) 的值只有这些,也就是取尽了整个值域。并且他们每 \(\phi(n)\) 个一循环。

[学习笔记] 阶 & 原根 - 数论的更多相关文章

  1. [学习笔记]NTT——快速数论变换

    先要学会FFT[学习笔记]FFT——快速傅里叶变换 一.简介 FFT会爆精度.而且浮点数相乘常数比取模还大. 然后NTT横空出世了 虽然单位根是个好东西.但是,我们还有更好的东西 我们先选择一个模数, ...

  2. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  3. JavaScript学习笔记(十)——高阶函数之map,reduce,filter,sort

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  4. 五一DAY1数论学习笔记

    by ruanxingzhi 整除性 如果a能把b除尽,也就是没有余数,则我们称a整除b,亦称b被a整除.(不是除以,是整除!!) 记作:\(a|b\) |这个竖杠就是整除符号 整除的性质 自反性 对 ...

  5. [学习笔记] 多项式与快速傅里叶变换(FFT)基础

    引入 可能有不少OIer都知道FFT这个神奇的算法, 通过一系列玄学的变化就可以在 $O(nlog(n))$ 的总时间复杂度内计算出两个向量的卷积, 而代码量却非常小. 博主一年半前曾经因COGS的一 ...

  6. 快速傅里叶变换(FFT)学习笔记(其二)(NTT)

    再探快速傅里叶变换(FFT)学习笔记(其二)(NTT) 目录 再探快速傅里叶变换(FFT)学习笔记(其二)(NTT) 写在前面 一些约定 前置知识 同余类和剩余系 欧拉定理 阶 原根 求原根 NTT ...

  7. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  8. 「学习笔记」FFT 之优化——NTT

    目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NT ...

  9. 初等数论学习笔记 III:数论函数与筛法

    初等数论学习笔记 I:同余相关. 初等数论学习笔记 II:分解质因数. 1. 数论函数 本篇笔记所有内容均与数论函数相关.因此充分了解各种数论函数的名称,定义,符号和性质是必要的. 1.1 相关定义 ...

  10. BZOJ 2120 数颜色&2453 维护队列 [带修改的莫队算法]【学习笔记】

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 3665  Solved: 1422[Submit][Status][Discuss] ...

随机推荐

  1. 有点儿神奇,原来vue3的setup语法糖中组件无需注册因为这个

    前言 众所周知,在vue2的时候使用一个vue组件要么全局注册,要么局部注册.但是在setup语法糖中直接将组件import导入无需注册就可以使用,你知道这是为什么呢?注:本文中使用的vue版本为3. ...

  2. 解决Vue中使用history路由模式出现404的问题

    背景 vue中默认的路由模式是hash,会出现烦人的符号#,如http://127.0.0.1/#/. 改为history模式可以解决这个问题,但是有一个坑是:强刷新.回退等操作会出现404. Vue ...

  3. Windows10在WSL中运行GUI应用

    0. 首先在WSL装X11相关环境 需要安装x11和桌面环境, 在这里装的是xfce4   sudo apt install x11-apps sudo apt install xfce4 有两种显示 ...

  4. Linux OpenGrok搭建

    目录 一.目的 二.环境 三.相关概念 3.1 OpenGrok 3.2 CTags 3.3 Tomcat 四.OpenGrok搭建 4.1 安装jdk 4.2 安装ctags依赖 4.3 安装uni ...

  5. 算法金 | Transformer,一个神奇的算法模型!!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在现代自然语言处理(NLP)领域,Transformer 模型的出现带 ...

  6. java --面试题大全

            J2EE面试题   文档版本号:V2.0                   2016年11月 目 录 1. Java基础部分 8 1.1. 一个".java"源文 ...

  7. (Java)常用类库

    Spring 常用工具类 Spring作为常用的开发框架,在Spring框架应用中,排在ApacheCommon.Guava.Huool等通用库后,第二优先级可以考虑使用Spring-core-xxx ...

  8. Java开发框架演变过程

    JavaWeb开发简史 Java框架创始人 Java框架说明 Spring: 把应用程序中的bean统一交给Spring进行管理控制,简化了我们的代码操作,和降低了代码的耦合度,Spring框架基本上 ...

  9. css3 html5

    vscode的使用 什么是HTML5? HTML5新增语义化标签 多媒体标签 <audio>音频标签 谷歌浏览器 把autoplay属性给我们禁用. 两种音频格式的播放 视频标签<v ...

  10. Solo 开发者周刊 (第7期):Sora出世,或许又一行业将会消失?

    这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 sor ...