算法

元素阶:把最小周期变成整除

用幂的阶公式、循环群计数和直积周期,处理竞赛中的最小正周期与阶分布。

本页目录6 节

遇到“重复多少次第一次回到原状”,先确认操作是否可逆、状态是否组成群。元素的阶描述的是最小正周期,不能把任意一个可用周期当成答案。

速查 #

以下设 gg 的有限阶为 mm,单位元记为 ee

要求结论条件
判断 gk=eg^k=emkm\mid kkk 为整数
gkg^k 的阶m/gcd(m,k)m/\gcd(m,k)gcd(m,0)=m\gcd(m,0)=m
CmC_m 中数阶恰为 dd 的元素φ(d)\varphi(d)dmd\mid m;否则为零
CmC_m 中数 xk=ex^k=e 的解gcd(m,k)\gcd(m,k)kk 为正整数
求直积元素 (a,b)(a,b) 的阶lcm(ord(a),ord(b))\operatorname{lcm}(\operatorname{ord}(a),\operatorname{ord}(b))两个元素均有限阶

在有限群中,Lagrange 定理只给出元素阶整除群大小,不能反过来断言每个因子都对应某个元素的阶。循环群中才有上表的精确计数。

为什么幂的阶要除以 gcd #

先把最小周期写成整除判据。若 gk=eg^k=e,作带余除法 k=qm+rk=qm+r0r<m0\le r<m,则 gr=eg^r=e。由 mm 的最小性,r=0r=0,所以 mkm\mid k

d=gcd(m,k)d=\gcd(m,k)。对正整数 tt

(gk)t=e    mkt    mdkdt    mdt.(g^k)^t=e \iff m\mid kt \iff \frac{m}{d}\mid \frac{k}{d}t \iff \frac{m}{d}\mid t.

最后一步用到两个商互素,因此最小的 tt 正是 m/dm/d。例如 m=18,k=12m=18,k=12 时,g12g^{12} 的阶是 33,而不是 661818

典型例题:循环群里数元素 #

C12=gC_{12}=\langle g\rangle 中,求阶恰为 44 的元素。

每个元素唯一写作 gjg^j0j<120\le j<12。由幂的阶公式,

ord(gj)=4    gcd(12,j)=3.\operatorname{ord}(g^j)=4 \iff \gcd(12,j)=3.

只有 j=3,9j=3,9,对应 g3,g9g^3,g^9,数量为 φ(4)=2\varphi(4)=2。一般地,若 dmd\mid m,令 j=(m/d)uj=(m/d)u,阶恰为 dd 等价于 uu 在模 dd 下与 dd 互素,所以数量是 φ(d)\varphi(d)

若改问 x6=ex^6=e,条件成为 126j12\mid6j,即 jj 为偶数,得到 66 个解。阶恰为 6阶整除 6 是不同问题。

Trick:先数整除,再求精确数量 #

GG 为有限群,所有元素的阶均为同一素数 qq 的非负整数次幂。对整数 k0k\ge0,记 F(k)F(k) 为阶整除 qkq^k 的元素数。则 F(0)=1F(0)=1;对 k1k\ge1,阶恰为 qkq^k 的元素数为 F(k)F(k1)F(k)-F(k-1)

这个相邻差分不能直接套到任意整数阶上:例如阶整除 66 的集合与阶整除 55 的集合并不形成包含关系。一般情形应按约数关系计数,而不是按整数大小作相邻相减。

对有限直积 Cqb1××CqbrC_{q^{b_1}}\times\cdots\times C_{q^{b_r}},其中 bib_i 为非负整数,各坐标独立,因此对整数 k0k\ge0

F(k)=qimin(k,bi).F(k)=q^{\sum_i\min(k,b_i)}.

E · Exponent将这个计数进一步转成元素阶的加权和,给出完整推导和 C++17 实现

两个周期合起来为什么不是相乘 #

在直积中,(a,b)t=(e,e)(a,b)^t=(e,e) 当且仅当两个分量都回到单位元,因此 tt 必须同时被它们的阶整除。最小值是最小公倍数。例如阶为 661010 的两个分量,合起来的阶为 3030,不是 6060

只有分量的阶互素时才可相乘。这个条件正是 单位群拆分中需要再次按素数分组的原因。

继续阅读与来源 #

返回个人知识手册 · 第二场记录

讨论

评论

正在加载评论…

输入关键词开始搜索。