现充|junyu33

如何构造一个阶为 p^3 的非阿贝尔群

最近在做 Silverman 的 Abstract Algebra: An Integrated Approach 第六章习题时,遇到了这样一个挑战题。

6.16 (d): Challenge Problem. Construct a non-abelian group of order p3 for every prime p.

初探

我们知道,当 p=2 时,可以立刻想到两个例子:D4,Q8。但对于其他的素数 p——这似乎并不显然(至少对于第一次接触这道题的同学来说)。题目的难点在于,这个“非阿贝尔”的条件非常刁钻,而目前我没有什么趁手的工具来解决它。

于是我回忆起——学校课本的一道习题:

设集合 G={(a,b)a,bRa0},规定 (a,b)(c,d)=(ac,ad+b),证明:G 对于所规定的运算构成群。

稍微验证一下得知,这个运算确实不满足交换律。因此是一个R2上非交换群,单位元是 (1,0)。但这里的定义域是 R2,如何将其“改装到”阶为 p3 呢?

一个直接的想法是令 aCp2,bCp,运算照搬课本,然而这并不成立,原因是有些元素没有逆元。举一个例子,你找不到元素 (0,0) 的逆元,因为 (0,0)(c,d)=(0,b)(1,0),因此这种构造不构成一个群。

因此我的探究陷入了困境,我们可能需要给 a,b 的定义域做出一些额外的限制,但具体怎么构造——这似乎也并不显然。于是这条路走到了死胡同。

半直积法

于是在我某一天瞎翻 Silverman 后续内容时,瞥见了一个新符号:——学名为“半直积”,这个符号看上去就像一个普通的直积被“扭了一下”,构成的群应该是非交换的。

于是我尝试去构造 Cp2Cp,但具体的构造方法是什么呢?课本的话罗里吧嗦太长懒得看,于是我问 GPT 半直积的构造方法,得到以下回答:

φ:HAut(N)NφH:(n1,h1)(n2,h2)=(n1φ(h1)(n2),h1h2)

Aut(N) 这个符号,我刚刚才在 sylow 定理的习题 6.26 里第一次碰到,好像是“自同构”的意思,然后接着还要证明 Aut(Cn)(Z/nZ)× 同构。于是我搞清楚了 Aut 其实是一系列映射构成的集合,对象是“映射”而不是“元素”,然后要求这个映射是同构的。

然后直觉想了一下,对于循环群 Cn,假设其生成元为 g,如果 g 被映射到了 gd(其中 d|n),那么所有原来的 gk 都会被映射到 gkd,而形如 gkd 的元素只有 n/d 个,因此肯定不是双射,也自然不会同构。那么一个自然的结论就是 gcd(d,n)=1,这刚好就一一对应了 (Z/nZ)× 的元素。

我们现在回到 Aut(N),也就是 Aut(Cp2) 本身,我们可以马上如法炮制,得到 |Aut(Cp2)|=(p1)p,对应的元素为 {ϕk:ggkgcd(k,p2)=1}.

接下来的问题是,我们要让 HAut(N) 这个同态成立,而同态的像 Image(H)Aut(N) 的子群;而同时根据第一同构定理,|Image(H)||H|,因此 |Image(H)|gcd(|H|,|Aut(N)|)=p,也就是 Image(H) 只有 eCp 两种可能。前者显然是平凡映射 id,对应直积,不符合非交换群的要求。因此我们只能考虑如何构造 Aut(N) 的子群同构于 Cp.

我们重述一下现在的目标,也就是我们要在集合 {ϕk:ggkgcd(k,p2)=1} 中,选取 p 个元素,使得这些元素构成阶为 p 的循环群。

直接观察似乎不太容易,我为了尝试找到一点直觉,取 p=3,那么 Aut(C32)={gg,gg2,gg4,gg5,gg7,gg8}. 首先 gg 一定在子群里,然后剩下的两个元素是 ggkg(gk)k=gk2. 列举一下是否满足封闭性:

于是我们可以发现对于 p=3,合法的映射对应的指数为 {1,4,7},于是聪明的小伙伴可以大胆猜想对于任意 p,这个值应该是 {1,p+1,2p+1,,p(p1)+1}。我们来验证一下这是否成立——也就是等价于下面的一个经典数论结论:

(1+p)k1+kp(modp2)

证明也很简单,根据二项式定理:

(1+p)k=1+kp+(k2)p2+1+kp(modp2)

因此,我们就找到了一个合法的同态 φ:HAut(N),满足:

φ(h1)(n2)=n21+h1p

代入到原来的半直积式子可得:

(n1,h1)(n2,h2)=(n1φ(h1)(n2),h1h2)=(n1n21+h1p,h1h2)

但其实这样写有一点问题,因为 h1p 是群元素和整数的操作,这种操作并没有被定义。所以我们需要显式规定 nZ/p2Z,hZ/pZ,把原先的乘法换成加法,乘方换成乘法即可说通:

(a,b)(c,d)=(a+c(1+bp),b+d)

验证一下结合律是否成立(你可以使用计算机代数系统减少手算的痛苦),可以发现无论左结合还是右结合,结果 (x,y)(a,b)(c,d)=(x+a(1+yp)+c(1+yp+bp),y+b+d).

而对于交换律,(0,1)(1,0)=(1+p,1),(1,0)(0,1)=(1,1),并不相等,所以群非交换。

然后容易得到单位元为 (0,0)。至于逆元,我们要找到一组 (x,y),满足(a,b)(x,y)=(0,0). y=b 是显然的,然后我们有 a+x(1+bp)=0(modp2),这里由于 (1+bp) 不能被 p 整除,所以模 p2 的逆元存在,故 x=a(1+bp)1(modp2).

综上,我们便成功构造了一个阶为 p3 的非交换群。

与课本的关系

虽然做出了这道题,但我依然好奇课本那条路究竟是否是死胡同。其实如果仔细观察的话,课本的运算结构其实和我的答案有一定的相似之处,我们尝试对课本的运算进行一定变形:

(a,b)(c,d)=(ac,ad+b)

x=b,y=a,u=d,v=c,则等式替换为:

(x,y)(u,v)=(yu+x,yv)

这样至少证实跟我们先前推出来的 (a+c(1+bp),b+d) 有一点相似了,但具体细节还有些区别:比如说那个 y 元素可能得变形一下,还有右边的 yv 怎么变成加法形式。

注意到我们的运算是在 Cp2Cp 进行的,也就是 x,uZ/p2Z。那 y,v 又怎么办呢?我们可以尝试把之前的那个同态 φ(h1)(n2)=n21+h1p 转换成加法形式,也就是令:

φ(h1)=1+h1p(modp2)

之前证明过,所有 1+h1p 构成了一个 (Z/p2Z)× 的子群,大小为 p。因此我们可以令 U={1+kp(modp2):kZ/pZ}Cp,同时 y,vU,这样就是一个合法的 p3 阶非交换群了。

总结一下,目前的情况就是:

当然这还没有结束,为了最终化简成与我们先前答案一样的形式,我们需要将 U 重新参数化为 Cp。于是我们再做一次变量替换,令:

y=1+bp,v=1+dp,b,dZ/pZ

从而:

yu+x=(1+bp)u+xyv=(1+bp)(1+dp)1+(b+d)p(modp2)

而后者同构于 b+d(modp),因此实际上原式已经变形为:

(x,b)(u,d)=(x+(1+bp)u,b+d)

最后代回 x=a,u=c 即可得到:

(a,b)(c,d)=(a+(1+bp)c,b+d)

恰好就是上一节推出来的结果。GPT 给出的评价是:

你那个 p3 阶群,是课本“仿射型”群公式在一个特定 p-阶作用子群上的特化;两种写法只是坐标顺序和参数化不同。

还有其他的吗?

实际上对于奇素数 p,阶为 p3 的群只有5种,其中有三个交换的:

Cp3,Cp2×Cp,Cp×Cp×Cp

和两个非交换的。也就是 Heisenberg 群 H

H={(1ac01b001):a,b,cFp}

和我们构造出来的:

Cp2Cp:(a,b)(c,d)=(a+c(1+bp),b+d)

我们可以证明对于奇素数 pHCp2Cp 不同构,原因是 Cp2Cp 有阶为 p2 的元 (1,0),现在取 XH,考虑 X 的阶,令:

N=(0ac00b000)

则:

Xp=(I+N)p=I+(p1)N+(p2)N2+(p3)N3+

注意到对于 k3Nk=0,也就是 (p3)N3 及其之后的项可以删去。而 (p1)=p0(modp),也就是我们可以得到:

Xp=I+(p2)N2

由于 (p2)=p(p1)2,当且仅当 p>2 时,p(p1)20(modp),此时 Xp=I,说明 HCp2Cp 不同构。

最后一点,那么 p=2 的情况又如何呢?可以证明,无论是 H,还是 C22C2 都同构于本文开头提到的 D4,再加上 Q8,其实仍然是五种类型。这说明其实 Q8 是一个 outlier,不能用最朴素的半直积直觉一眼看出来。