【抽象代数】Mathematica怎么分析s4?

2025-10-26 02:29:46

1、列举S4的所有元素:

S4 = GroupElements[SymmetricGroup[4]]

这个群有24个元素。

【抽象代数】Mathematica怎么分析s4?

2、求出这个群的最小生成元集合:

s4 = SymmetricGroup[4];

GroupGenerators[s4]

【抽象代数】Mathematica怎么分析s4?

3、给出生成元的矩阵表示:

a = {{0, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}};

b = {{0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}, {1, 0, 0, 0}};

容易验证,a可以代表Cycles[{{1, 2}}],{{1,2,3,4}}与矩阵a的乘积,表示把第一个元素和第二个元素轮换位置,其余位置的元素不变;

b可以代表Cycles[{{1, 2, 3, 4}}],{{1,2,3,4}}与矩阵b的乘积,表示四个元素轮换一个位置。

【抽象代数】Mathematica怎么分析s4?

4、根据a和b,并使用矩阵乘积,就可以算出s4的矩阵表示。

先算出a生成的子群A:

A = MatrixPower[a, #] & /@ Range[24] // Union

并且证明了,a是2阶元素。

【抽象代数】Mathematica怎么分析s4?

5、b生成一个四阶子群B:

B = MatrixPower[b, #] & /@ Range[24] // Union

【抽象代数】Mathematica怎么分析s4?

6、子群A和子群B的乘积:

CC = (Table[aa.bb, {aa, A}, {bb, B}] // Flatten[#, 1] &) // Union

读者可以自行验证,看看CC是不是群,是否满足群的基本定义。

【抽象代数】Mathematica怎么分析s4?

7、集合CC与CC的乘积,就得到s4的矩阵表示:

DD = (Table[aa.bb, {aa, CC}, {bb, CC}] // Flatten[#, 1] &) // Union;

恰好24个不同的4阶矩阵。

【抽象代数】Mathematica怎么分析s4?

8、为了证明DD是群,只需要验证DD=DD×DD即可:

DD == ((Table[aa.bb, {aa, DD}, {bb, DD}] // Flatten[#, 1] &) // Union)

【抽象代数】Mathematica怎么分析s4?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢