Welcome to the NightCity|

XiaoLe_MC

园龄:1年2个月粉丝:3关注:9

[学习笔记] 阶 & 原根 - 数论

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

整数的阶

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

定义:设 an 是互素的整数,a0n>0,使得 ax1(modn)最小正整数称之为 **an 的阶 **,记作 ordna

定理1

如果 an 为互素的整数,且 a0n>0,那么正整数 x 是同余方程 ax1(modn) 的一个解当且仅当 ordnax

证明:

假设 ax1(modn),并将 x 表示为:

x=k×ordna+r   (0r<ordna)

得:

ax=ak×ordna+r=(ak×ordna)rar(modn)

因为 ax1(modn),所以 ar1(modn),又因为 ordna 为使得该同余方程右边为 1 的最小正整数,所以 r=0,所以有 x=k×ordna,固有 ordnax

推论1.1

如果 an 为互素的整数,且 n>0,那么 ordnaϕ(n)

根据定理1不难得证。

定理2

如果 an 为互素的整数,且 n>0,那么 aiaj(modn) 当且仅当 ij(modordna)ij 均为非负整数。

证明:

假设 aiaj(modn)ji。因为 a1(modn),所以 aj1(modn)。那么可列出下面狮子:

aiajajaij(modn)

约掉 aj 则有:

aij1(modn)

由定理1可得 ordnaij,换个形式:ij(modordna)。得证。

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

原根

定义:如果 rn 是互素的整数且 n>0,那么当 ordnr=ϕ(n) 时,称 rn 的原根。

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

定理3

如果正整数rn 互素,并且 n>0, 如果 rn 的一个原根,那么下列整数

r1,r2,,rϕ(n)

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

没写完呢~

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

本文作者:XiaoLe_MC

本文链接:https://www.cnblogs.com/xiaolemc/p/18328067

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   XiaoLe_MC  阅读(34)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起