gap> Factors(24);
[ 2, 2, 2, 3 ]
由Sylow第一定理可知24阶群必然存在2、2^2、2^3、3阶子群。
Sylow第一定理:当群的阶可以表示为一个“素数的方幂”与一个与这个素数互素的数的乘积时,可以确定这个群一定含有这个“素数的某些方幂”阶的子群。
四次对称群S_4有1个1阶元,9个2阶元,8个3阶元,6个4阶元,0个6阶元,0个8阶元,0个12阶元,0个24阶元
S_4没有8阶元,|Syl_2(S_4)|=8、Syl_2(S_4)=GAP4[8,3]=D_4!=C_8=GAP4[8,1]
GAP4[8,3]:1个1阶元,5个2阶元,2个4阶元,0个8阶元,
gap> for n in [1..15] do g:=SmallGroup(24,n);;gid:=StructureDescription(g);Print(gid,"是否超可解:",IsSupersolvableGroup(g));s:=Elements(g);;sl2:=SylowSubgroup(g,2);;Print(IdGroup(sl2),IsSubnormal(g,sl2));sl3:=SylowSubgroup(g,3);;Print(IdGroup(sl3),IsSubnormal(g,sl3),"\n");od;
C3 : C8是否超可解:true[ 8, 1 ]false[ 3, 1 ]true
C24是否超可解:true[ 8, 1 ]true[ 3, 1 ]true
SL(2,3)是否超可解:false[ 8, 4 ]true[ 3, 1 ]false
C3 : Q8是否超可解:true[ 8, 4 ]false[ 3, 1 ]true
C4 x S3是否超可解:true[ 8, 2 ]false[ 3, 1 ]true
D24是否超可解:true[ 8, 3 ]false[ 3, 1 ]true
C2 x (C3 : C4)是否超可解:true[ 8, 2 ]false[ 3, 1 ]true
(C6 x C2) : C2是否超可解:true[ 8, 3 ]false[ 3, 1 ]true
C12 x C2是否超可解:true[ 8, 2 ]true[ 3, 1 ]true
C3 x D8是否超可解:true[ 8, 3 ]true[ 3, 1 ]true
C3 x Q8是否超可解:true[ 8, 4 ]true[ 3, 1 ]true
S4是否超可解:false[ 8, 3 ]false[ 3, 1 ]false
C2 x A4是否超可解:false[ 8, 5 ]true[ 3, 1 ]false
C2 x C2 x S3是否超可解:true[ 8, 5 ]false[ 3, 1 ]true
C6 x C2 x C2是否超可解:true[ 8, 5 ]true[ 3, 1 ]true
下列的叙述在有限群中均为等价,表现出一个幂零性的有用性质:
G为一幂零群。
若H为G的纯子群,则H为N(H)(G内H之正规化子)的纯正规子群。
每一个G的最大纯子群均为正规的。
G为其西洛子群的直积。
gap> for n in [1..15] do G:=SmallGroup(24,n);sl2:=SylowSubgroup(G,2);;sl3:=SylowSubgroup(G,3);;idn:=IdGroup(G);Print(idn);Print(":");L:=List(Elements(G),Order);;M:=[1,2,3,4,6,8,12,24];;for i in M do Print(Size(Positions(L,i)),","); od;sl2sl3:=DirectProduct(sl2,sl3);;Print(IdGroup(sl2),"×",IdGroup(sl3),"=",IdGroup(sl2sl3),"是否幂零:",IsNilpotentGroup(G),",",StructureDescription(G),"\n");od;
[ 24, 1 ]:1,1,2,2,2,12,4,0,[ 8, 1 ]×[ 3, 1 ]=[ 24, 2 ]是否幂零:false,C3 : C8
[ 24, 2 ]:1,1,2,2,2,4,4,8,[ 8, 1 ]×[ 3, 1 ]=[ 24, 2 ]是否幂零:true,C24
[ 24, 3 ]:1,1,8,6,8,0,0,0,[ 8, 4 ]×[ 3, 1 ]=[ 24, 11 ]是否幂零:false,SL(2,3)
[ 24, 4 ]:1,1,2,14,2,0,4,0,[ 8, 4 ]×[ 3, 1 ]=[ 24, 11 ]是否幂零:false,C3 : Q8
[ 24, 5 ]:1,7,2,8,2,0,4,0,[ 8, 2 ]×[ 3, 1 ]=[ 24, 9 ]是否幂零:false,C4 x S3
[ 24, 6 ]:1,13,2,2,2,0,4,0,[ 8, 3 ]×[ 3, 1 ]=[ 24, 10 ]是否幂零:false,D24
[ 24, 7 ]:1,3,2,12,6,0,0,0,[ 8, 2 ]×[ 3, 1 ]=[ 24, 9 ]是否幂零:false,C2 x (C3 : C4)
[ 24, 8 ]:1,9,2,6,6,0,0,0,[ 8, 3 ]×[ 3, 1 ]=[ 24, 10 ]是否幂零:false,(C6 x C2) : C2
[ 24, 9 ]:1,3,2,4,6,0,8,0,[ 8, 2 ]×[ 3, 1 ]=[ 24, 9 ]是否幂零:true,C12 x C2
[ 24, 10 ]:1,5,2,2,10,0,4,0,[ 8, 3 ]×[ 3, 1 ]=[ 24, 10 ]是否幂零:true,C3 x D8
[ 24, 11 ]:1,1,2,6,2,0,12,0,[ 8, 4 ]×[ 3, 1 ]=[ 24, 11 ]是否幂零:true,C3 x Q8
[ 24, 12 ]:1,9,8,6,0,0,0,0,[ 8, 3 ]×[ 3, 1 ]=[ 24, 10 ]是否幂零:false,S4
[ 24, 13 ]:1,7,8,0,8,0,0,0,[ 8, 5 ]×[ 3, 1 ]=[ 24, 15 ]是否幂零:false,C2 x A4
[ 24, 14 ]:1,15,2,0,6,0,0,0,[ 8, 5 ]×[ 3, 1 ]=[ 24, 15 ]是否幂零:false,C2 x C2 x S3
[ 24, 15 ]:1,7,2,0,14,0,0,0,[ 8, 5 ]×[ 3, 1 ]=[ 24, 15 ]是否幂零:true,C6 x C2 x C2
http://world.std.com/~jmccarro/math/SmallGroups/g24.4.html
http://escarbille.free.fr/group.php
http://www.weddslist.com/groups/building/sdp.html
半直积的例子1:
C_3⋊C_2
Aut(C_3)=C_2,C_2到C_2的同态有2个:f_1(非平凡同态,双射),f_2(平凡同态,C_2
{<}ker(f_2))
我们考虑f_1,那么C_3⋊C_2=D_3
半直积的例子2:
K_4⋊C_3
Aut(K_4)=D_3,
D_3有子群C_3,所以C_3到D_3的同态有2个:f_1(非平凡同态,单射),f_2(平凡同态,
此时半直积就是直积K_4×C_3)
我们考虑f_1,那么K_4⋊C_3=A_4
G24_1=C_24有1个1阶元,1个2阶元,2个3阶元,2个4阶元,2个6阶元,4个8阶元,4个12阶元,8个24阶元
G24_2=C_6×C_4有1个1阶元,3个2阶元,2个3阶元,4个4阶元,6个6阶元,0个8阶元,8个12阶元,0个24阶元
G24_3=C_6×K_4有1个1阶元,7个2阶元,2个3阶元,0个4阶元,14个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_4有1个1阶元,1个2阶元,2个3阶元,2个4阶元,2个6阶元,12个8阶元,4个12阶元,0个24阶元
G24_5=SL_2(F_3)有1个1阶元,1个2阶元,8个3阶元,6个4阶元,8个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_6=Q_24有1个1阶元,1个2阶元,2个3阶元,14个4阶元,2个6阶元,0个8阶元,4个12阶元,0个24阶元
G24_7=S_3×C_4=D_3×C_4有1个1阶元,7个2阶元,2个3阶元,8个4阶元,2个6阶元,0个8阶元,4个12阶元,0个24阶元
G24_8=D_12有1个1阶元,13个2阶元,2个3阶元,2个4阶元,2个6阶元,0个8阶元,4个12阶元,0个24阶元
G24_9=Q_12×C_2有1个1阶元,3个2阶元,2个3阶元,12个4阶元,6个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_10有1个1阶元,9个2阶元,2个3阶元,6个4阶元,6个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_11=D_4×C_3有1个1阶元,5个2阶元,2个3阶元,2个4阶元,10个6阶元,0个8阶元,4个12阶元,0个24阶元
G24_12=Q_8×C_3有1个1阶元,1个2阶元,2个3阶元,6个4阶元,2个6阶元,0个8阶元,12个12阶元,0个24阶元
G24_13=S_4有1个1阶元,9个2阶元,8个3阶元,6个4阶元,0个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_14=A_4×C_2有1个1阶元,7个2阶元,8个3阶元,0个4阶元,8个6阶元,0个8阶元,0个12阶元,0个24阶元
G24_15!=S_4有1个1阶元,15个2阶元,2个3阶元,0个4阶元,6个6阶元,0个8阶元,0个12阶元,0个24阶元
----24阶非交换群S_3×K_4=D_6×C_2群元的阶----
//1个1阶元,15个2阶元,2个3阶元,6个6阶元
GAP[24,1]=G24_4=C_3⋊C_8=U_24=U_6*4=<a,x|a^3=x^8=e,xax^(-1)=a^(-1)>:有6,8,12阶元
N和H相对于非平凡群同态φ : H → Aut(N)的半直积N⋊H=H:N=C_3⋊C_8=C_8:C_3=GAP[24,1]
gap> H:=CyclicGroup(IsPermGroup,8);;N:=CyclicGroup(IsPermGroup,3);;A:=AutomorphismGroup(N);;elts := Elements(A);sigma := elts[2];sigma^2;map := GroupHomomorphismByImages(H, A, GeneratorsOfGroup(H), [sigma]);SDP := SemidirectProduct(H, map,N);IdGroup(SDP);List(elts,Order);IdGroup(DirectProduct(H,N));
[ [ (1,2,3) ] -> [ (1,2,3) ], [ (1,2,3) ] -> [ (1,3,2) ] ]
[ (1,2,3) ] -> [ (1,3,2) ]
[ (1,2,3) ] -> [ (1,2,3) ]
[ (1,2,3,4,5,6,7,8) ] -> [ [ (1,2,3) ] -> [ (1,3,2) ] ]
Group([ (9,10,11), (1,2,3,4,5,6,7,8)(10,11) ])
[ 24, 1 ]
[ 1, 2 ]
[ 24, 2 ]
平凡群同态的情形:
gap> H:=CyclicGroup(IsPermGroup,8);;N:=CyclicGroup(IsPermGroup,3);;A:=AutomorphismGroup(N);;elts := Elements(A);sigma := elts[1];sigma^2;map := GroupHomomorphismByImages(H, A, GeneratorsOfGroup(H), [sigma]);SDP := SemidirectProduct(H, map,N);IdGroup(SDP);List(elts,Order);IdGroup(DirectProduct(H,N));
[ [ (1,2,3) ] -> [ (1,2,3) ], [ (1,2,3) ] -> [ (1,3,2) ] ]
[ (1,2,3) ] -> [ (1,2,3) ]
[ (1,2,3) ] -> [ (1,2,3) ]
[ (1,2,3,4,5,6,7,8) ] -> [ [ (1,2,3) ] -> [ (1,2,3) ] ]
Group([ (9,10,11), (1,2,3,4,5,6,7,8) ])
[ 24, 2 ]
[ 1, 2 ]
[ 24, 2 ]
G24_10=V_24=<a,b|a^6=b^4=1,ba=a^(-1)b^(-1),b^(-1)a=a^(-1)b>:有6阶元,没有8,12阶元
G24_13=C_3⋊D_4=S_4:没有6,8,12阶元
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
vector<int> g_G24_4;
int g_G24_4Mul[24][24]={
0
};
// 未知24阶群的群元的阶
int getG24EOrder(int a)
{
if(a<0||a>=24)
return -1;
int t=0;
for(int i=1;i<=24;i++)
{
t=g_G24_4Mul[t][a];
if(t==0)
return i;
}
return -1;
}
int main(int argc, char* argv[])
{
int iElem;
int sum=0;
//ifstream fin("G24_4.txt");
ifstream fin("G24_5.txt");
while( !fin.eof() && sum<24*24) {
fin >> iElem;
sum++;
int i=(sum-1)/24;
int j=(sum-1)%24;
g_G24_4Mul[i][j]=iElem-1;
g_G24_4.push_back(iElem);
}
fin.close();
//ofstream fout("G24_4_ElementToOrder.txt");
ofstream fout("G24_5_ElementToOrder.txt");
int nOrders[8]={1,2,3,4,6,8,12,24};
int nCounts[25]={0};
for(int i=0;i<24;i++)
{
int ord=getG24EOrder(i);
printf("G24ElementToOrder(%d)=%d\n",i,ord);
fout<<"G24ElementToOrder("<<i<<")="<<ord<<endl;
nCounts[ord]=nCounts[ord]+1;
}
char sz[200]={0};
sprintf(sz,"G24_5有%d个1阶元,%d个2阶元,%d个3阶元,%d个4阶元,%d个6阶元,%d个8阶元,%d个12阶元,%d个24阶元",nCounts[nOrders[0]],nCounts[nOrders[1]],nCounts[nOrders[2]],nCounts[nOrders[3]],nCounts[nOrders[4]],nCounts[nOrders[5]],nCounts[nOrders[6]],nCounts[nOrders[7]]);
printf("%s\n",sz);
fout<<sz<<endl;
fout.close();
system("pause");
return 0;
}