幂电枢与幂剩余

幂电枢:幂函数绕法的规律

1. 幂电枢的定义

线性电枢研究 ktktkt 的绕法,指数电枢研究 ata^tat 的绕法。除此之外,还可以研究幂函数 tat^ata 的绕法。

设电枢有 nnn 个槽,槽号为

0,1,2,...,n−1. 0,1,2,\ldots,n-1. 0,1,2,...,n−1.

固定正整数 aaa,定义幂电枢的绕法为

f(t)=ta(modn) \boxed{f(t)=t^a\pmod n} f(t)=ta(modn)

其绕线序列为

0a mod n, 1a mod n, 2a mod n, ... 0^a\bmod n,\ 1^a\bmod n,\ 2^a\bmod n,\ \ldots 0amodn, 1amodn, 2amodn, ...

每一步将 tat^ata 除以 nnn,以余数作为实际落槽位置。

例如,取 n=12, a=2n=12,\ a=2n=12, a=2,则平方电枢的绕线序列为

0,1,4,9,4,1,0,1,4,9,4,1,... 0,1,4,9,4,1,0,1,4,9,4,1,\ldots 0,1,4,9,4,1,0,1,4,9,4,1,...

因此,平方电枢只会到达槽 0,1,4,90,1,4,90,1,4,9。

幂电枢的核心问题是:幂函数将各个槽映射到哪里?哪些槽会汇聚到同一个位置?不同的幂指数是否会产生相同的绕法?

2. 幂电枢的周期

定理 1:周期为 nnn

对于任意非负整数 ttt 和正整数 aaa,有

(t+n)a≡ta(modn). (t+n)^a\equiv t^a\pmod n. (t+n)a≡ta(modn).

因此,幂电枢的绕线序列以 nnn 为一个周期,即

f(t+n)=f(t) \boxed{f(t+n)=f(t)} f(t+n)=f(t)

这里的周期不一定是最小周期,最小周期可能小于 nnn。

例如,取 n=8, a=2n=8,\ a=2n=8, a=2,有

0,1,4,1,0,1,4,1,... 0,1,4,1,0,1,4,1,\ldots 0,1,4,1,0,1,4,1,...

该序列的最小周期为 444,小于 n=8n=8n=8。

所以,幂电枢总是周期性的,但其最小周期需要进一步研究。

3. 幂电枢的可达集

定义幂电枢的可达集为

Pa(n)={ta mod n∣0≤t<n} \boxed{ P_a(n)=\{t^a\bmod n\mid 0\le t<n\} } Pa(n)={tamodn∣0≤t<n}

可达集是指绕法能够到达的所有不同槽位的集合。

定义可达数为

Ra(n)=∣Pa(n)∣ \boxed{R_a(n)=|P_a(n)|} Ra(n)=∣Pa(n)∣

其中 ∣Pa(n)∣|P_a(n)|∣Pa(n)∣ 表示集合中不同元素的个数。

例如,取 n=12, a=2n=12,\ a=2n=12, a=2,逐一计算:

02≡0(mod12),12≡1(mod12),22≡4(mod12),32≡9(mod12),42≡4(mod12),52≡1(mod12),62≡0(mod12). \begin{aligned} 0^2&\equiv0\pmod{12},\\ 1^2&\equiv1\pmod{12},\\ 2^2&\equiv4\pmod{12},\\ 3^2&\equiv9\pmod{12},\\ 4^2&\equiv4\pmod{12},\\ 5^2&\equiv1\pmod{12},\\ 6^2&\equiv0\pmod{12}. \end{aligned} 02122232425262≡0(mod12),≡1(mod12),≡4(mod12),≡9(mod12),≡4(mod12),≡1(mod12),≡0(mod12).

继续计算剩余槽位,可得

P2(12)={0,1,4,9} \boxed{P_2(12)=\{0,1,4,9\}} P2(12)={0,1,4,9}

因此

R2(12)=4 \boxed{R_2(12)=4} R2(12)=4

虽然电枢有 121212 个槽,但平方绕法只能到达其中 444 个不同的槽位。

这表明,幂电枢具有一种特殊规律:多个不同的起始槽位可能经过幂函数映射后汇聚到同一个槽位。

4. 幂电枢的同值集

对于给定槽位 rrr,定义其同值集为

Fa,n(r)={t∣ta≡r(modn)} \boxed{ F_{a,n}(r)=\{t\mid t^a\equiv r\pmod n\} } Fa,n(r)={t∣ta≡r(modn)}

同值集表示所有能够映射到槽位 rrr 的输入槽位。

例如,取 n=12, a=2n=12,\ a=2n=12, a=2,则

F2,12(4)={2,4,8,10}. F_{2,12}(4)=\{2,4,8,10\}. F2,12(4)={2,4,8,10}.

因为

22≡42≡82≡102≡4(mod12). 2^2\equiv4^2\equiv8^2\equiv10^2 \equiv4\pmod{12}. 22≡42≡82≡102≡4(mod12).

同理,

F2,12(1)={1,5,7,11}, F_{2,12}(1)=\{1,5,7,11\}, F2,12(1)={1,5,7,11},

F2,12(0)={0,6}, F_{2,12}(0)=\{0,6\}, F2,12(0)={0,6},

F2,12(9)={3,9}. F_{2,12}(9)=\{3,9\}. F2,12(9)={3,9}.

这四个同值集将全部槽位划分成互不相交的组:

{0,6},{1,5,7,11},{2,4,8,10},{3,9}. \begin{aligned} \{0,6\},\quad \{1,5,7,11\},\\ \{2,4,8,10\},\quad \{3,9\}. \end{aligned} {0,6},{1,5,7,11},{2,4,8,10},{3,9}.

每一组中的槽位都被平方电枢映射到同一个结果。

因此,幂电枢不仅可以研究可达集,还可以研究槽位的同值分类。

5. 素数模数下的幂电枢公式

当电枢槽数为素数 ppp 时,幂电枢具有更简洁的规律。

定理 2:可达数公式

设 ppp 为素数,aaa 为正整数,则

Ra(p)=1+p−1gcd⁡(a,p−1) \boxed{ R_a(p)=1+\frac{p-1}{\gcd(a,p-1)} } Ra(p)=1+gcd(a,p−1)p−1

这里 gcd⁡(a,p−1)\gcd(a,p-1)gcd(a,p−1) 表示 aaa 与 p−1p-1p−1 的最大公约数。

证明

当 t=0t=0t=0 时,必有

0a≡0(modp). 0^a\equiv0\pmod p. 0a≡0(modp).

对于非零槽位,由于 ppp 是素数,非零剩余类在模 ppp 的乘法下构成一个阶为 p−1p-1p−1 的循环群。

在这个循环群中,映射

x⟼xa x\longmapsto x^a x⟼xa

的像集大小为

p−1gcd⁡(a,p−1). \frac{p-1}{\gcd(a,p-1)}. gcd(a,p−1)p−1.

再加上零元素,得到

Ra(p)=1+p−1gcd⁡(a,p−1). R_a(p)=1+\frac{p-1}{\gcd(a,p-1)}. Ra(p)=1+gcd(a,p−1)p−1.

证毕。

例 1:模 777 的平方电枢

取 p=7, a=2p=7,\ a=2p=7, a=2,则

R2(7)=1+6gcd⁡(2,6)=4. R_2(7)=1+\frac{6}{\gcd(2,6)}=4. R2(7)=1+gcd(2,6)6=4.

实际可达集为

P2(7)={0,1,2,4}. \boxed{P_2(7)=\{0,1,2,4\}}. P2(7)={0,1,2,4}.

例 2:模 777 的立方电枢

取 p=7, a=3p=7,\ a=3p=7, a=3,则

R3(7)=1+6gcd⁡(3,6)=3. R_3(7)=1+\frac{6}{\gcd(3,6)}=3. R3(7)=1+gcd(3,6)6=3.

实际可达集为

P3(7)={0,1,6}. \boxed{P_3(7)=\{0,1,6\}}. P3(7)={0,1,6}.

例 3:模 777 的六次幂电枢

取 p=7, a=6p=7,\ a=6p=7, a=6,则

R6(7)=1+6gcd⁡(6,6)=2. R_6(7)=1+\frac{6}{\gcd(6,6)}=2. R6(7)=1+gcd(6,6)6=2.

实际可达集为

P6(7)={0,1}. \boxed{P_6(7)=\{0,1\}}. P6(7)={0,1}.

由此可见,素数模数下,幂电枢的可达数由 aaa 与 p−1p-1p−1 的最大公约数决定。

6. 幂电枢的同绕指数类

不同的幂指数可能产生相同的可达集。

定义幂电枢的同绕指数类为

Ea(n)={b∈Z>0∣Pb(n)=Pa(n)} \boxed{ \mathcal E_a(n) =\{b\in\mathbb Z_{>0}\mid P_b(n)=P_a(n)\} } Ea(n)={b∈Z>0∣Pb(n)=Pa(n)}

也就是说,如果两个指数 a,ba,ba,b 满足

Pa(n)=Pb(n), P_a(n)=P_b(n), Pa(n)=Pb(n),

则称它们具有相同的幂可达集,或者称它们的幂电枢在可达集意义下同绕。

需要注意:可达集相同,不一定意味着两个序列在每一步到达同一个槽位。因此,这里定义的是可达集意义下的同绕,并不自动表示两个绕线序列逐项相同。

定理 3:素数模数下指数的周期等价

设 ppp 为素数,a,ba,ba,b 为正整数。如果

a≡b(modp−1), a\equiv b\pmod{p-1}, a≡b(modp−1),

那么

ta≡tb(modp) \boxed{t^a\equiv t^b\pmod p} ta≡tb(modp)

对所有非负整数 ttt 成立。

证明

当 t=0t=0t=0 时,两边均为 000。

当 p∤tp\nmid tp∤t 时,由费马小定理,

tp−1≡1(modp). t^{p-1}\equiv1\pmod p. tp−1≡1(modp).

由于 a≡b(modp−1)a\equiv b\pmod{p-1}a≡b(modp−1),两指数相差 p−1p-1p−1 的整数倍,所以

ta≡tb(modp). t^a\equiv t^b\pmod p. ta≡tb(modp).

证毕。

因此,模素数 ppp 时,只要指数在模 p−1p-1p−1 意义下相同,就能得到完全相同的绕线序列。

例如,模 777 时,

t7≡t(mod7). t^7\equiv t\pmod7. t7≡t(mod7).

所以七次幂电枢与一次幂电枢的绕线序列完全相同。

但是,反过来,仅仅知道两个幂电枢的可达集相同,并不能直接推出两个指数模 p−1p-1p−1 同余。

7. 幂电枢与其他电枢的统一

前面已经研究了线性电枢、指数电枢,现在又引入幂电枢。

电枢类型 绕法函数 主要研究对象
线性电枢 f(t)=kt mod nf(t)=kt\bmod nf(t)=ktmodn 步长、最大公约数、循环周期
指数电枢 f(t)=at mod nf(t)=a^t\bmod nf(t)=atmodn 乘法阶、循环子群、离散对数
幂电枢 f(t)=ta mod nf(t)=t^a\bmod nf(t)=tamodn 幂剩余、可达集、同值集

三类电枢都可以用统一框架描述。

设

f:Z⟶Z/nZ, f:\mathbb Z\longrightarrow\mathbb Z/n\mathbb Z, f:Z⟶Z/nZ,

则定义其可达集为

Pf(n)={f(t) mod n∣t∈Z} \boxed{ P_f(n)=\{f(t)\bmod n\mid t\in\mathbb Z \} } Pf(n)={f(t)modn∣t∈Z}

当 fff 在模 nnn 下具有周期时,只需在一个周期内取值即可。

不同绕法可以按照可达集相等进行分类,也可以进一步按照序列逐项相等、最小周期相等等更严格的条件进行分类。

8. 结论与后续研究

幂电枢 f(t)=ta mod nf(t)=t^a\bmod nf(t)=tamodn 具有以下基本规律:

  1. 周期性: 其序列以 nnn 为周期,但最小周期可能小于 nnn。
  2. 可达性: 幂函数将槽位映射到有限的可达集 Pa(n)P_a(n)Pa(n)。
  3. 同值性: 多个不同槽位可以映射到同一个槽位。
  4. 素数公式: 当模数为素数 ppp 时,可达数满足
    Ra(p)=1+p−1gcd⁡(a,p−1). R_a(p)=1+\frac{p-1}{\gcd(a,p-1)}. Ra(p)=1+gcd(a,p−1)p−1.
  5. 指数等价: 当 a≡b(modp−1)a\equiv b\pmod{p-1}a≡b(modp−1) 时,模素数 ppp 下两个幂电枢的绕线序列完全相同。

接下来可以继续研究:

  • 合数模数下的幂电枢可达数公式;
  • 幂电枢的最小周期;
  • 幂电枢的同值集大小;
  • 不同幂指数之间的同绕关系;
  • 幂电枢与二次剩余、高次剩余及中国剩余定理之间的联系。

由此,幂电枢可以成为电枢绕法理论中与线性电枢、指数电枢并列的一类研究对象。

相关推荐
优化Henry1 小时前
5G站点AAS-3设备故障排查与处理
运维·学习·5g·信息与通信
andrsted2 小时前
练题簿在线免费刷题:个人备考,从练新题到模拟自测怎么用?
学习·微信小程序·小程序·学习方法·刷题
m0_646429972 小时前
BCrypt 与 JWT 认证流程学习笔记
笔记·学习
apple_692658852 小时前
QX 效率启动器安装包:开源生产力工具,快捷键统一入口Raycast免费开源平替版来啦
学习·开源·办公
一直C3 小时前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
我命由我123453 小时前
5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)
java·开发语言·后端·python·学习·java-ee·学习方法
撩得Android一次心动13 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
dadaobusi14 小时前
学习:灵犀指令集
学习
xhyu6115 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉