n 以内与 n 互素的元素集合必然形成一个循环群
这个讨论有错!稍后更改!【8以内的与8互素的元素集合为{1,3,5,7},的确是一个乘法群,但它不是循环群】
前言:仅个人小记。一直知道 ,对于素数 p,Zp∗={1,2,...,p−1}Z_p^*=\{1,2,...,p-1\}Zp∗={1,2,...,p−1}是一个循环群,并且一直在使用这个性质(比如欧拉定理,费马定理,生成元的使用),但却不知道 Zp∗Z_p^*Zp∗为什么是一个循环群。Zp∗Z_p^*Zp∗ 是由素数 p 形成的特例,而本文的证明是直接针对具有普遍性质的数字 n 来实施证明的。
注意: {1,2,...,p−1}\{1,2,...,p-1\}{1,2,...,p−1} 中元素个数为 p-1 ,不是素数,所以不能用“素数阶群必然是循环群”来证明它会形成一个循环群。
前要知识和约定
- 整数的标准分解式,整数 D 的标准分解式为 D=q1α1q2α2...qkαk,其中q1,q2,...,qk皆为素数D=q_1^{\alpha_1}q_2^{\alpha_2}...q_k^{\alpha_k},其中q_1,q_2,...,q_k皆为素数D=q1α1q2α2...qkαk,其中q1,q2,...,qk皆为素数比如,27000=23∗32∗53比如,27 000 =2^3*3^2*5^3比如,27000=23∗32∗53
- 最小公倍数与标准分解式论
- ord(xa)=ord(x)(ord(x),a)ord(x^a)=\frac{ord(x)}{(ord(x),a)}ord(xa)=(ord(x),a)ord(x),证明参看 https://blog.csdn.net/qq_25847123/article/details/101050414
- 如果 ord(x1),ord(x2),...,ord(xk)ord(x_1),ord(x_2),...,ord(x_k)ord(x1),ord(x2),...,ord(xk)之间互素,则ord(x1x2...xk)=ord(x1)ord(x2)...ord(xk)ord(x_1x_2...x_k)=ord(x_1)ord(x_2)...ord(x_k)ord(x1x2...xk)=ord(x1)ord(x2)...ord(xk)
- n 以内与 n 互素的元素个数为 φ(n)\varphi(n)φ(n),这本身就是欧拉函数的定义。
- 群 G 中存在阶等于群阶的元素,则该元素为原根。群中存在原根等价于该群为循环群。
- Zn={0,1,...,n−1}Z_n=\{0,1,...,n-1\}Zn={0,1,...,n−1}
- 若正整数a,b互素,则必然存在b以内的正整数k,使得ak%b=1
- 群论中的拉格朗日定理,元素的阶必然能整除群阶。
- 模 n 同余式有 k 个不同的解,则该同余式的最高次数必然大于 k.[???]
证明内容
记 n 以内与 n 互素的元素形成集合为
G={x1,x2,...,xφ(n)},∀i∈{1,2,...,φ(n)},xi⊥nG=\{x_1,x_2,...,x_{\varphi(n)}\},\forall i\in\{1,2,...,\varphi(n)\},x_i\perp nG={x1,x2,...,xφ(n)},∀i∈{1,2,...,φ(n)},xi⊥n证明 G 必然形成一个乘法模循环群。
证明开始
第一部分(证明 G 是一个群)
1.封闭性。 ∀a,b∈G,有a⊥n,b⊥n,所以ab⊥n,所以ab(modn)⊥n,又因为ab(modn)∈Zn\forall a,b \in G,有a\perp n,b\perp n,所以 ab\perp n,所以 ab(mod\ n)\perp n,又因为 ab(mod\ n) \in Z_n∀a,b∈G,有a⊥n,b⊥n,所以ab⊥n,所以ab(mod n)⊥n,又因为ab(mod n)∈Zn所以ab(modn)∈Gab(mod\ n) \in Gab(mod n)∈G,所以满足封闭性。
2. 结合律,显然成立。
3. 存在幺元为 1。
4. 因为 a⊥na\perp na⊥n,所以根据前要知识8,必然 a 的逆元存在。
综上4点,得出 G 必然是一个群,且显然群 G 的阶为 φ(n)\varphi(n)φ(n)。
第二部分 (找出一个原根,进而证明 G 是循环群)
证明元素阶的最小公倍数必定就是群阶
已知 G 是一个群,记群中元素 xix_ixi的阶 di=ord(xi),xidi≡1(modn)d_i=ord(x_i),{x_i}^{d_i}\equiv1(mod \ n)di=ord(xi),xidi≡1(mod n),则根据前要知识9,必然有 di∣φ(n)d_i|\varphi(n)di∣φ(n)。所有元素的阶的最小公倍数记为
D=[d1,d2,...,dφ(n)]D=[d_1,d_2,...,d_{\varphi(n)}]D=[d1,d2,...,dφ(n)]则必然有 D∣φ(n)D|\varphi(n)D∣φ(n),则必然 D≤φ(n)D\leq\varphi(n)D≤φ(n)。
对于模 p 同余式 xD−1≡0(modn)x^D-1\equiv0(mod \ n)xD−1≡0(mod n)因为 D 是 did_idi的最小公倍数,所以必然 ∀i∈{1,2,...,φ(n)},xiD−1≡0(modn)成立\forall i \in \{1,2,...,\varphi(n)\},{x_i}^D-1\equiv0(mod \ n)成立∀i∈{1,2,...,φ(n)},xiD−1≡0(mod n)成立所以同余式 xD−1≡0(modn)x^D-1\equiv 0(mod \ n)xD−1≡0(mod n)至少有 φ(n)\varphi(n)φ(n)个解,进而根据前要知识10,知道必然 D≥φ(n)D\geq\varphi(n)D≥φ(n),又因上述 D≤φ(n)D\leq\varphi(n)D≤φ(n),所以必然D=φ(n)D=\varphi(n)D=φ(n)
找出原根
根据前要知识1,整数 D 的标准分解式为
D=q1α1q2α2...qkαk,其中q1,q2,...,qk皆为素数D=q_1^{\alpha_1}q_2^{\alpha_2}...q_k^{\alpha_k},其中q_1,q_2,...,q_k皆为素数D=q1α1q2α2...qkαk,其中q1,q2,...,qk皆为素数再根据前要知识2,知道,
∀j∈{1,2,...,k},∃di,使得qjαj∣di成立\forall j \in \{1,2,...,k\},\exist d_i,使得{q_j}^{\alpha_j}|d_i成立∀j∈{1,2,...,k},∃di,使得qjαj∣di成立记 aj=diqjαj,aj是一个整数a_j=\frac{d_i}{{q_j}^{\alpha_j}},a_j是一个整数aj=qjαjdi,aj是一个整数,则根据前要知识3,得知
ord(xiaj)=ord(xi)(ord(xi),aj)=qjαjord({x_i}^{a_j})=\frac{ord(x_i)}{(ord(x_i),a_j)}={q_j}^{\alpha_j}ord(xiaj)=(ord(xi),aj)ord(xi)=qjαj综上,对于任何一个 j ,都存在一个 xix_ixi使得
ord(xiaj)=qjαjord({x_i}^{a_j})={q_j}^{\alpha_j}ord(xiaj)=qjαj因为 j∈{1,2,...,k}j\in\{1,2,...,k\}j∈{1,2,...,k},所以也有对应的 k 个 xix_ixi,把这 k 个 xix_ixi重新记为
y1,y2,...,yky_1,y_2,...,y_ky1,y2,...,yk相应对应为ord(yiai)=qiαiord({y_i}^{a_i})={q_i}^{\alpha_i}ord(yiai)=qiαi因为
q1,q2,...,qk为素数q_1,q_2,...,q_k为素数q1,q2,...,qk为素数所以必然
i≠j时,qiαi⊥qjαj,进而ord(yiai)⊥ord(yjaj)i\neq j时,{q_i}^{\alpha_i}\perp{q_j}^{\alpha_j},进而ord({y_i}^{a_i})\perp ord({y_j}^{a_j})i=j时,qiαi⊥qjαj,进而ord(yiai)⊥ord(yjaj)
引入
Y=∏i=1kyiaiY=\prod_{i=1}^{k}{y_i}^{a_i}Y=i=1∏kyiai因为 G 是一个群,根据封闭性,必然
Y∈GY\in GY∈G再根据前要知识4,则必然有
ord(Y)=∏i=1kord(yiai)=∏i=1kqiαi=D=φ(n)ord(Y)=\prod_{i=1}^{k}ord({y_i}^{a_i})=\prod_{i=1}^{k}q_i^{\alpha_i}=D=\varphi(n)ord(Y)=i=1∏kord(yiai)=i=1∏kqiαi=D=φ(n)即出现群G中的元素 Y 的阶等于群 G 的阶,所以 Y 是群 G 的一个原根,所以群 G 是一个循环群。证毕!
n 以内与 n 互素的元素集合必然形成一个循环群相关推荐
- 假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。(算法导论第十一章11.1-1)
假设一动态集合S用一个长度为m的直接寻址表T来表示.请给出一个查找S中最大元素的过程.你所给的过程在最坏情况下的运行时间是多少. (算法导论第十一章11.1-1) #include "Key ...
- 封装一个方法,找出数组中重复数大于n的元素集合
例如 [1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4],封装一个数组原型上的方法,方法返回 重复数目大于2 的子元素集合,结果为[1, 2, 3] 初看并不难,循环一下就可以搞 ...
- html item 左右滑动,拖动Html元素集合 Drag and Drop any item
拖动Html元素集合 Drag and Drop any item 更新时间:2006年12月22日 00:00:00 作者: li { MARGIN-BOTTOM: 10px } ul { MA ...
- jQuery学习笔记——筛选元素集合
filter(expression) 方法 利用传入的选择器表达式或筛选函数,从集合中筛选元素. expression为选择器表达式 e.g. 对所有标签<a>中title包含文本spec ...
- 使用链表(LinkedList) 二叉搜索树(BST) 实现不重复元素集合(Set)
不重复元素集合Set接口定义如下 public interface Set<E> {void add(E e);boolean contains(E e);void remove(E e) ...
- 快速找出List集合的相同与不同元素集合
今天来比较一下两个list,然后分别找出相同元素和不同元素的集合. 先上一个简单的示例:(注:因为测试数据量比较小,用ArrayList,如果涉及到百万数据的插入移除操作的话,用LinkedList) ...
- c语言从集合中随机选取一个值,从集合中挑选一个随机元素
使用a ArrayList和a HashMap:[element - > index] 快速解决Java问题. 动机:我需要一组具有RandomAccess属性的项目,尤其是从集合中选择一个随机 ...
- scala通过mkString方法把一个集合转化为一个字符串
Problem 如果你想要把集合元素转化为字符串,可能还会添加分隔符,前缀,后缀. Solution 使用mkString方法来打印一个集合内容,下面给一个简单的例子: scala> val a ...
- css找某个元素的下个子元素,CSS可以检测一个元素有多less个子元素?
注:这个解决scheme将返回一定长度的子集,而不是你所要求的父元素. 希望它仍然有用. 安德烈·路易斯提出了一个方法: http : //lea.verou.me/2011/01/styling-c ...
最新文章
- jQuery带缩略图的宽屏焦点图插件
- 深度系统linux deepin如何按装,U盘快速安装深度操作系统Deepin详细过程 体验不一样的桌面系统...
- POJ :3614-Sunscreen
- 安装配置rabbitmq
- 第1章 Ext JS开发基本环境准备与项目创建[3/4]
- 对IO设备的控制方式
- 南阳师范计算机与信息技术学院,刘军(计算机与信息技术学院)老师 - 南阳师范学院 - 院校大全...
- Android简历 模板
- 【samba】Wodows同步Linux文件|搭建共享文件服务器——在windows上映射网络驱动器...
- 2020-10-23
- DAX :表值函数 ADDCOLUMNS 和 SELECTCOLUMNS
- 计算机视觉检测外观,大米外观品质计算机视觉检测的研究
- Win10下取消U盘/移动硬盘“写保护”的方法
- android开发中绕过检测,[原创] 某加固软件的一些检测点以及绕过方法,欢迎补充...
- 国外电子工程师们国内电子工程师火拼(转)
- 西门子PLC模拟量输入数据类型变换
- .io域名在申请SSL证书时被坑
- 谈谈面试题之BeanFactory和ApplicationContext有什么区别?
- 男人“杀死”女人的30句话(zt)
- uniapp图片无法显示
热门文章
- cad角度怎么画_软件CAD | 直线amp;构造线
- 大数据薪水大概多少_大数据工程师工资一般多少钱
- Unity Scroll View在Clamped模式下无法移动
- Design Compiler工具学习笔记(5)
- 基于阿里云的API简介
- 预产期计算器在线计算生男生女计算机,预产期计算器生男生女在线查询-预产期计算器及天数计算时间软件2017版-腾牛安卓网...
- kali 安装 netspeed 扩展
- HashMap、ConcurrentHashMap原理分析
- 失传千年AE特效真经(三)
- 第一篇Blog,随便写一点吧:)