有限域乘法子群中元素同陪集的判定方法问询
大家好,我最近在研究有限域乘法群的陪集判定问题,遇到了实操上的麻烦,想请教下社区里的大佬们。
先铺垫下背景知识:对于有限域 $GF(q)$,它的乘法群 $GF(q)^\times$ 是阶为 $q-1$ 的循环群,同构于 $\mathbb{Z}_{q-1}$。循环群的非平凡子群可以将整个群划分成若干陪集,但我不想用枚举所有陪集元素这种繁琐的方式来判断元素的陪集归属,希望找到更高效的判定思路。
素域示例:$q=43$
$GF(43)^\times$ 是模43的乘法群,阶为42,可分解为 $\mathbb{Z}_{42} = \mathbb{Z}_2 \times \mathbb{Z}_3 \times \mathbb{Z}7$,它的本原元是3。现在考虑由4生成的7阶子群:
$$H={1,\ 4,\ 11,\ 16,\ 21,\ 35,\ 41}$$
对应的陪集划分是 $GF(43)^\times /\mathbb{Z}{7} ={H,2H,3H,6H,7H,9H}$,每个陪集的元素我已经枚举出来了,但实际应用中肯定不想这么做。
比如给定元素37和20,怎么快速判断它们是否在同一个陪集?或者拿到元素29,怎么直接确认它属于7H这个陪集呢?
非素域示例:$q=2^4=16$
$GF(16)=GF(2)[x]/(x^{4} +x+1)$,乘法群 $GF(16)^\times$ 是阶为15的循环群,同构于 $\mathbb{Z}_3 \times \mathbb{Z}_5$。这里我用十进制数表示域元素,比如 $x^2 +1$ 对应5,$x^3 +x^2 +1$ 对应13。取生成元为 $x^3 \equiv 8$,得到5阶子群:
$$H={1,8,10,12,15}$$
另外两个陪集是:
$$\begin{aligned}
2H & ={2,3,7,11,13}\
4H & ={4,5,6,9,14}
\end{aligned}$$
同样的问题:怎么快速判断3和11是否属于同一个陪集?
核心疑问
有没有适用于任意有限域的通用算法来判定两个元素是否属于某个子群的同一陪集?如果没有通用方法的话,至少对于 $GF(2^n)$(甚至是 $GF(2{2n})$ 这种特殊的有限域)有没有高效的判定思路?
备注:内容来源于stack exchange,提问作者Photon-gjq

