11种4阶环、9阶环、25阶环、49阶环,22种12阶环(2015-11-12 14:45:07)、18阶环、20阶环、28阶环(2015-11-22 09:31)

来源:互联网 发布:中远网络陈大龙 编辑:程序博客网 时间:2024/06/05 14:30

gap> NumberSmallRings(18);
0//应该是22
gap> m:=6;;I:=[ [ ZmodnZObj( 2, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 2, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;R:=RingByGenerators([I,A]);;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),"\n");
18
不可逆元个数n1=18,幂等元个数n2=8,特征:6,是否交换:true
gap> m:=6;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 2, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 2, m), ZmodnZObj( 1, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;R:=RingByGenerators([I]);;Size(R);
18
gap> L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,", 幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
不可逆元个数n1=12, 幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=63
零因子个数n7=11
gap> m:=6;;R:=RingByGenerators([[[ZmodnZObj(1,m),ZmodnZObj(2,m)],[ZmodnZObj(3,m),ZmodnZObj(4,m)]]]);;Size(R);IsRing(R);
18
true
gap> L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
不可逆元个数n1=18,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=63
零因子个数n7=11

m:=6;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;

gap> A=L[7];
true
gap> I=L[8];
true
gap> R18:=RingByGenerators([A,L[3]]);;Size(R18);Elements(R18);
18
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 1, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 1, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 1, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 5, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 5, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 5, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ] ]
gap> R12_14:=RingByGenerators([A,L[4]]);;Size(R12_14);Elements(R12_14);
12
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 1, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 1, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 5, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 5, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ] ]
gap> R18:=RingByGenerators([L[2],L[13]]);;Size(R18);Elements(R18);
18
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 4, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ] ]
gap> L[2];
[ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ]
gap> L[13];
[ [ ZmodnZObj( 2, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ]
gap> R12_12:=RingByGenerators([L[2],L[19]]);;Size(R12_12);Elements(R12_12);
12
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ] ]
gap> L[2];
[ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ]
gap> L[19];
[ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ]
?24阶环的16阶子环
gap> R24:=RingByGenerators([L[9],L[91]]);;Size(R24);LL:=Elements(R24);
24
[ [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ] ]
gap> L[9];L[91];
[ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ] ]
[ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ] ]
gap> R16:=RingByGenerators([LL[2],LL[7]]);;Size(R16);L16:=Elements(R16);
16
[ [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 2, 4 ), ZmodnZObj( 2, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ],
  [ [ ZmodnZObj( 3, 4 ), ZmodnZObj( 3, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ] ]
gap> LL[2];LL[7];
[ [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ] ]
[ [ ZmodnZObj( 1, 4 ), ZmodnZObj( 1, 4 ) ], [ ZmodnZObj( 0, 4 ), ZmodnZObj( 0, 4 ) ] ]

20151208:
12阶环分类定理:
R12_1:=DirectSum(SmallRing(3,1),SmallRing(4,1));
R12_6:=DirectSum(SmallRing(3,1),SmallRing(4,2));
R12_3:=DirectSum(SmallRing(3,1),SmallRing(4,3));
R12_7:=DirectSum(SmallRing(3,1),SmallRing(4,4));
R12_7:=DirectSum(SmallRing(2,1),SmallRing(6,1));
R12_8:=DirectSum(SmallRing(3,1),SmallRing(4,5));
R12_9:=DirectSum(SmallRing(3,1),SmallRing(4,6));
R12_9:=DirectSum(SmallRing(2,1),SmallRing(6,3));
R12_9:=DirectSum(SmallRing(2,2),SmallRing(6,1));
R12_10:=DirectSum(SmallRing(3,1),SmallRing(4,7));
R12_11:=DirectSum(SmallRing(3,1),SmallRing(4,8));
R12_12:=DirectSum(SmallRing(3,1),SmallRing(4,9));
R12_20:=DirectSum(SmallRing(3,1),SmallRing(4,10));
R12_20:=DirectSum(SmallRing(2,2),SmallRing(6,3));
R12_21:=DirectSum(SmallRing(3,1),SmallRing(4,11));
R12_4:=DirectSum(SmallRing(3,2),SmallRing(4,1));
R12_2:=DirectSum(SmallRing(3,2),SmallRing(4,2));
R12_5:=DirectSum(SmallRing(3,2),SmallRing(4,3));
R12_16:=DirectSum(SmallRing(3,2),SmallRing(4,4));
R12_16:=DirectSum(SmallRing(2,1),SmallRing(6,2));
R12_17:=DirectSum(SmallRing(3,2),SmallRing(4,5));
R12_13:=DirectSum(SmallRing(3,2),SmallRing(4,6));
R12_13:=DirectSum(SmallRing(2,1),SmallRing(6,4));
R12_13:=DirectSum(SmallRing(2,2),SmallRing(6,2));
R12_18:=DirectSum(SmallRing(3,2),SmallRing(4,7));
R12_15:=DirectSum(SmallRing(3,2),SmallRing(4,8));
R12_19:=DirectSum(SmallRing(3,2),SmallRing(4,9));
R12_14:=DirectSum(SmallRing(3,2),SmallRing(4,10));
R12_14:=DirectSum(SmallRing(2,2),SmallRing(6,4));
R12_22:=DirectSum(SmallRing(3,2),SmallRing(4,11));
gap> for i in [10,11] do R:=SmallRing(12,i);;M:=Ideals(R);;CR:=Center(R);;L:=Elements(R);n8:=0;;for i8 in L do if IsZero(i8)=false and i8^3=Zero(R) then n8:=n8+1;fi;od;Print("i=",i,List(M,Size),Size(CR),",2~4次幂零元个数n8=",n8,"\n");od;
i=10[ 1, 2, 3, 4, 6, 12 ]3,2~4次幂零元个数n8=5
i=11[ 1, 2, 3, 4, 6, 12 ]3,2~4次幂零元个数n8=5
R12_10的中心是3阶零乘环,6阶极大理想是6阶零乘环,4阶理想是R4_7
R12_11的中心是3阶零乘环,6阶极大理想是6阶零乘环,4阶理想是R4_8
6阶零乘环:
不可逆元个数n1=6,幂等元个数n2=1,特征:6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=36,零因子个数n7=5
R4_7:
不可逆元个数n1=4,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=10,零因子个数n7=1
R4_8:
不可逆元个数n1=4,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=10,零因子个数n7=3
gap> for i in [1..11] do R:=DirectSum(SmallRing(3,1),SmallRing(4,i));L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=12,幂等元个数n2=1,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=11,2~3次幂零元个数n5=11,零乘个数n6=
144,零因子个数n7=11
i=2,不可逆元个数n1=12,幂等元个数n2=1,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=11,零乘个数n6=
108,零因子个数n7=11
i=3,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
72,零因子个数n7=11
i=4,不可逆元个数n1=12,幂等元个数n2=1,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=11,2~3次幂零元个数n5=11,零乘个数n6=
144,零因子个数n7=11
i=5,不可逆元个数n1=12,幂等元个数n2=1,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=11,零乘个数n6=
108,零因子个数n7=11
i=6,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
108,零因子个数n7=11
i=7,不可逆元个数n1=12,幂等元个数n2=3,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
90,零因子个数n7=11
i=8,不可逆元个数n1=12,幂等元个数n2=3,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
90,零因子个数n7=11
i=9,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
72,零因子个数n7=11
i=10,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
81,零因子个数n7=11
i=11,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
63,零因子个数n7=11
gap> for i in [1..11] do R:=DirectSum(SmallRing(3,2),SmallRing(4,i));L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
80,零因子个数n7=11
i=2,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
60,零因子个数n7=11
i=3,不可逆元个数n1=8,幂等元个数n2=4,特征:
12,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
40,零因子个数n7=7
i=4,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
80,零因子个数n7=11
i=5,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
60,零因子个数n7=11
i=6,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
60,零因子个数n7=11
i=7,不可逆元个数n1=12,幂等元个数n2=6,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
50,零因子个数n7=7
i=8,不可逆元个数n1=12,幂等元个数n2=6,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
50,零因子个数n7=11
i=9,不可逆元个数n1=8,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
40,零因子个数n7=7
i=10,不可逆元个数n1=10,幂等元个数n2=8,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
45,零因子个数n7=9
i=11,不可逆元个数n1=6,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
35,零因子个数n7=5
gap> for i in [1..4] do R:=DirectSum(SmallRing(2,1),SmallRing(6,i));L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=12,幂等元个数n2=1,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=11,2~3次幂零元个数n5=11,零乘个数n6=
144,零因子个数n7=11
i=2,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
80,零因子个数n7=11
i=3,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
108,零因子个数n7=11
i=4,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
60,零因子个数n7=11
gap> for i in [1..4] do R:=DirectSum(SmallRing(2,2),SmallRing(6,i));L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
108,零因子个数n7=11
i=2,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
60,零因子个数n7=11
i=3,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
81,零因子个数n7=11
i=4,不可逆元个数n1=10,幂等元个数n2=8,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
45,零因子个数n7=9
12阶循环环共有T(12)=|{1,2,3,4,6,12}|=6种,特征都为12。
gap> for i in [1..22] do R:=SmallRing(12,i);L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=12,幂等元个数n2=1,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=11,2~3次幂零元个数n5=11,零乘个数n6=
144,零因子个数n7=11
i=2,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
60,零因子个数n7=11
gap> R:=RingByGenerators([ZmodnZObj(2,24)]);;Size(R);
12
i=3,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
72,零因子个数n7=11
i=4,不可逆元个数n1=12,幂等元个数n2=2,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
80,零因子个数n7=11
i=5,不可逆元个数n1=8,幂等元个数n2=4,特征:
12,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
40,零因子个数n7=7
gap> R12_5:=DirectSum(ZmodnZ(3),ZmodnZ(4));
<ring with 3 generators>
i=6,不可逆元个数n1=12,幂等元个数n2=1,特征:
12,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=11,零乘个数n6=
108,零因子个数n7=11
i=7,不可逆元个数n1=12,幂等元个数n2=1,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=11,2~3次幂零元个数n5=11,零乘个数n6=
144,零因子个数n7=11
i=8,不可逆元个数n1=12,幂等元个数n2=1,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=11,零乘个数n6=
108,零因子个数n7=11
i=9,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
108,零因子个数n7=11
i=10,不可逆元个数n1=12,幂等元个数n2=3,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
90,零因子个数n7=11
i=11,不可逆元个数n1=12,幂等元个数n2=3,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
90,零因子个数n7=11
i=12,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=5,零乘个数n6=
72,零因子个数n7=11
gap> m:=6;;A:=[ [ ZmodnZObj( 3, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m ), ZmodnZObj( 3, m ) ] ];;R:=RingByGenerators([A]);;Size(R);
12
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 1, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 2, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 3, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 4, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 5, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ] ]
i=13,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
60,零因子个数n7=11
i=14,不可逆元个数n1=10,幂等元个数n2=8,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
45,零因子个数n7=9
gap> R12:=RingByGenerators([L[19],L[20]]);;Size(R12);
12
gap> L[19];L[20];
[ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ]
[ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ] ]
gap> Print(L);
[ [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 5, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 0, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 1, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 2, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 3, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 4, 6 ) ] ],
  [ [ ZmodnZObj( 3, 6 ), ZmodnZObj( 0, 6 ) ], [ ZmodnZObj( 0, 6 ), ZmodnZObj( 5, 6 ) ] ] ]
gap> m:=6;;A:=[ [ ZmodnZObj(3, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 3, m), ZmodnZObj(2, m) ] ];;B:=[ [ ZmodnZObj( 3,  ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 3, m) ] ];;R:=RingByGenerators([A,B]);;Size(R);
12
不可逆元个数n1=12,幂等元个数n2=8,特征:6,是否交换:true,是否有幺元=false【true】,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=45,零因子个数n7=9
i=15,不可逆元个数n1=12,幂等元个数n2=6,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
50,零因子个数n7=11
i=16,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
80,零因子个数n7=11
i=17,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
60,零因子个数n7=11
i=18,不可逆元个数n1=12,幂等元个数n2=6,特征:
6,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
50,零因子个数n7=7
i=19,不可逆元个数n1=8,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
40,零因子个数n7=7
i=20,不可逆元个数n1=12,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
81,零因子个数n7=11
i=21,不可逆元个数n1=12,幂等元个数n2=2,特征:
6,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
63,零因子个数n7=11
i=22,不可逆元个数n1=6,幂等元个数n2=4,特征:
6,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
35,零因子个数n7=5
20151118:
域F_4没有非理想子环。注意:作为环的加法群,群C_2×C_2没有非正规子群的子群。
gap> for i in [0..3] do R:=RingByGenerators([O,i*I]);Print(Size(R),",");od;
1,4,1,4,
问题:
求8阶环F_2+Z/4Z的矩阵表示。注意:Z/(4n)不可能有同构于F_2的2阶子环。
求4阶环(Z/4Z)[x]/(2x,x^2+2)的矩阵表示。
注:GAP4中Characteristic命令得到的有限环的特征不一定准确,可以根据环的加法群的凯莱表计算得到这个环不变量。

gap> R4_1:=RingByGenerators([ZmodnZObj(4,16)]);;R4_2:=RingByGenerators([ZmodnZObj(2,8)]);;R4_3:=RingByGenerators([ZmodnZObj(3,12)]);;m:=4;;a:=[ [ ZmodnZObj(2,m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;b:=[ [ ZmodnZObj(0,m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 2, m) ] ];;R4_4:=RingByGenerators([a,b]);;R4_4a:=DirectSum(SmallRing(2,1),SmallRing(2,1));;R4_6:=RingByGenerators([DirectProductElement( [ 0*Z(2), ZmodnZObj(2,4)]),DirectProductElement( [ Z(2)^0, ZmodnZObj(2,4)])]);;m:=2;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;C:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;R4_7:=RingByGenerators([A,C]);;m:=2;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;C:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;D:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ] ];;R4_8:=RingByGenerators([A,D]);;m:=2;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;R4_9:=RingByGenerators([I,B]);;I:=[ [ ZmodnZObj( 1, 2 ), ZmodnZObj( 0, 2 ) ], [ ZmodnZObj( 0, 2 ), ZmodnZObj( 1, 2 ) ] ];;A:=[ [ ZmodnZObj( 1, 2 ), ZmodnZObj( 0, 2 ) ], [ ZmodnZObj( 0, 2 ), ZmodnZObj( 0, 2 ) ] ];;R4_10:=RingByGenerators([I,A]);;O:=[[0*Z(2),0*Z(2)],[0*Z(2),0*Z(2)]];;I:=[[Z(2),0*Z(2)],[0*Z(2),Z(2)]];;B:=[[Z(2),Z(2)],[Z(2),0*Z(2)]];;A:=[[0*Z(2),Z(2)],[Z(2),Z(2)]];;K4:=GroupWithGenerators([I,A,B]);;IdGroup(K4);;R4_11:=RingByGenerators([O,I,A,B]);;R4:=[R4_1,R4_2,R4_3,R4_4,R4_4a,R4_6,R4_7,R4_8,R4_9,R4_10,R4_11];;I:=0;;for R in R4 do I:=I+1;L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;i:=I;if I=5 then i:=4;fi;Print("I=",i,",特征:",Characteristic(R),",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
I=1,特征:16,不可逆元个数n1=4,幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=16,零因子个数n7=3
I=2,特征:8,不可逆元个数n1=4,幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
3,零乘个数n6=12,零因子个数n7=3
I=3,特征:12,不可逆元个数n1=4,幂等元个数n2=2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=8,零因子个数n7=1
I=4,特征:4,不可逆元个数n1=4,幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=16,零因子个数n7=3
I=4,特征:2,不可逆元个数n1=4,幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=16,零因子个数n7=3
I=6,特征:fail,不可逆元个数n1=0,幂等元个数n2=2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=12,零因子个数n7=3
I=7,特征:2,不可逆元个数n1=4,幂等元个数n2=3,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=10,零因子个数n7=1
I=8,特征:2,不可逆元个数n1=4,幂等元个数n2=3,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=10,零因子个数n7=3
I=9,特征:2,不可逆元个数n1=2,幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=8,零因子个数n7=1
I=10,特征:2,不可逆元个数n1=3,幂等元个数n2=4,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=
0,零乘个数n6=9,零因子个数n7=2
I=11,特征:2,不可逆元个数n1=1,幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=
0,零乘个数n6=7,零因子个数n7=0

27阶环的F_3+Z/9Z的9阶子环R9_5
gap> S:=RingByGenerators([DirectProductElement( [ 0*Z(3), ZmodnZObj(3,9)]),DirectProductElement( [ Z(3)^0, ZmodnZObj(3,9)])]);;Size(S);
9
gap> R:=S;;L:=Elements(R);Size(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
[ DirectProductElement( [ 0*Z(3), ZmodnZObj(0,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(3,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(6,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(0,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(3,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(6,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(0,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(3,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(6,9) ] ) ]

9
不可逆元个数n1=0,幂等元个数n2=
2,特征:fail,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=
2,零乘个数n6=45
零因子个数n7=8

由ShowAdditionTable(R);命令可得加法群的凯莱表:
1,2,3,4,5,6,7,8,9
2,3,1,5,6,4,8,9,7
3,1,2,6,4,5,9,7,8
4,5,6,7,8,9,1,2,3
5,6,4,8,9,7,2,3,1
6,4,5,9,7,8,3,1,2
7,8,9,1,2,3,4,5,6
8,9,7,2,3,1,5,6,4
9,7,8,3,1,2,6,4,5
G9有1个1阶元,8个3阶元,0个9阶元
所以这个9阶环的加法群是C_3×C_3,特征是3。
9阶非交换环R9_7

gap> m:=3;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;C:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;R:=RingByGenerators([A,C]);;Size(R);L:=Elements(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否  幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
[ [ [ 0*Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ], [ [ 0*Z(3), Z(3)^0 ], [ 0*Z(3), 0*Z(3) ] ],
  [ [ 0*Z(3), Z(3) ], [ 0*Z(3), 0*Z(3) ] ], [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ],
  [ [ Z(3)^0, Z(3)^0 ], [ 0*Z(3), 0*Z(3) ] ], [ [ Z(3)^0, Z(3) ], [ 0*Z(3), 0*Z(3) ] ],
  [ [ Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ], [ [ Z(3), Z(3)^0 ], [ 0*Z(3), 0*Z(3) ] ],
  [ [ Z(3), Z(3) ], [ 0*Z(3), 0*Z(3) ] ] ]
不可逆元个数n1=9,幂等元个数n2=4,特征:3,是否交换:false,是否  幺元=false,2次幂零元个数n4=
2,2~3次幂零元个数n5=2,零乘个数n6=33
零因子个数n7=2

9阶非交换环R9_8
gap> m:=3;;I:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;A:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;B:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 1, m) ] ];;C:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 1, m) ], [ ZmodnZObj( 0, m), ZmodnZObj( 0, m) ] ];;D:=[ [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ], [ ZmodnZObj( 1, m), ZmodnZObj( 0, m) ] ];;R:=RingByGenerators([A,D]);;Size(R);L:=Elements(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
[ [ [ 0*Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ], [ [ 0*Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
  [ [ 0*Z(3), 0*Z(3) ], [ Z(3), 0*Z(3) ] ], [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ],
  [ [ Z(3)^0, 0*Z(3) ], [ Z(3)^0, 0*Z(3) ] ], [ [ Z(3)^0, 0*Z(3) ], [ Z(3), 0*Z(3) ] ],
  [ [ Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3) ] ], [ [ Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
  [ [ Z(3), 0*Z(3) ], [ Z(3), 0*Z(3) ] ] ]
不可逆元个数n1=9,幂等元个数n2=4,特征:
3,是否交换:false,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=33
零因子个数n7=8

gap> for i in [1..11] do R:=SmallRing(9,i);L:=Elements(R);n1:=0;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("i=",i,",不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,不可逆元个数n1=9,幂等元个数n2=1,特征:
9,是否交换:true,是否有幺元=false,2次幂零元个数n4=8,2~3次幂零元个数n5=8,零乘个数n6=
81,零因子个数n7=8
R:=RingByGenerators([ZmodnZObj(9,81)]);;
i=2,不可逆元个数n1=3,幂等元个数n2=2,特征:
9,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
21,零因子个数n7=2
R9_2=Z/9Z;R:=RingByGenerators([ZmodnZObj(2,18)]);;R:=RingByGenerators([ZmodnZObj(4,36)]);;R:=RingByGenerators([ZmodnZObj(5,45)]);;R:=RingByGenerators([ZmodnZObj(7,63)]);;R:=RingByGenerators([ZmodnZObj(8,72)]);;

i=3,不可逆元个数n1=9,幂等元个数n2=1,特征:
9,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=8,零乘个数n6=
45,零因子个数n7=8
R:=RingByGenerators([ZmodnZObj(3,27)]);;R:=RingByGenerators([ZmodnZObj(6,54)]);;

i=4,不可逆元个数n1=9,幂等元个数n2=1,特征:
3,是否交换:true,是否有幺元=false,2次幂零元个数n4=8,2~3次幂零元个数n5=8,零乘个数n6=
81,零因子个数n7=8
R9_4=M_3+M_3
i=5,不可逆元个数n1=9,幂等元个数n2=1,特征:
3,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=8,零乘个数n6=
45,零因子个数n7=8

i=6,不可逆元个数n1=9,幂等元个数n2=2,特征:
3,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
45,零因子个数n7=8
R9_6=M_3+GF(3)

i=7,不可逆元个数n1=9,幂等元个数n2=4,特征:
3,是否交换:false,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
33,零因子个数n7=2

i=8,不可逆元个数n1=9,幂等元个数n2=4,特征:
3,是否交换:false,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
33,零因子个数n7=8

i=9,不可逆元个数n1=3,幂等元个数n2=2,特征:
3,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=
21,零因子个数n7=2
R9_9=F_3[x]/(x^2)

i=10,不可逆元个数n1=5,幂等元个数n2=4,特征:
3,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
25,零因子个数n7=4

R9_10=GF(3)+GF(3)
i=11,不可逆元个数n1=1,幂等元个数n2=2,特征:
3,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
17,零因子个数n7=0
gap> for i in [1..2] do R:=SmallRing(3,i);Print("i=",i,",",Characteristic(R),",",IsAbelian(R),",",One(R)<>fail,"\n");od;
i=1,3,true,false
i=2,3,true,true
gap> R:=RingByGenerators([ZmodnZObj(2,6)]);;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
3
不可逆元个数n1=3,幂等元个数n2=2,特征:6【应该是3】,是否交换:true,是否有幺元=false,2次幂零元个数n4=
0,2~3次幂零元个数n5=0,零乘个数n6=5
零因子个数n7=0
gap> R:=RingByGenerators([ZmodnZObj(3,9)]);;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
3
不可逆元个数n1=3,幂等元个数n2=1,特征:9【应该是3】,是否交换:true,是否有幺元=false,2次幂零元个数n4=
2,2~3次幂零元个数n5=2,零乘个数n6=9
零因子个数n7=2
gap> R:=DirectSum(SmallRing(3,2),SmallRing(3,2));;L:=Elements(R);;Size(R);One(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
Aa+Ba
不可逆元个数n1=5,幂等元个数n2=4,特征:3,是否交换:true,是否有幺元=true,2次幂零元个数n4=
0,2~3次幂零元个数n5=0,零乘个数n6=25
零因子个数n7=4

gap> R:=DirectSum(SmallRing(3,1),SmallRing(3,2));;L:=Elements(R);;Size(R);One(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
fail
不可逆元个数n1=9,幂等元个数n2=2,特征:
3,是否交换:true,是否有幺元=false,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=45
零因子个数n7=8

gap> R:=DirectSum(SmallRing(3,1),SmallRing(3,1));;L:=Elements(R);;Size(R);One(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
fail
不可逆元个数n1=9,幂等元个数n2=1,特征:3,是否交换:true,是否有幺元=false,2次幂零元个数n4=
8,2~3次幂零元个数n5=8,零乘个数n6=81
零因子个数n7=8
gap> R:=ZmodnZ(9);;L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
不可逆元个数n1=3,幂等元个数n2=2,特征:9,是否交换:true,是否有幺元=true,2次幂零元个数n4=
2,2~3次幂零元个数n5=2,零乘个数n6=21
零因子个数n7=2

gap> R:=DirectSum(ZmodnZ(3),ZmodnZ(9));;L:=Elements(R);Size(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
[ DirectProductElement( [ 0*Z(3), ZmodnZObj(0,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(1,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(2,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(3,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(4,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(5,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(6,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(7,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(8,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(0,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(1,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(2,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(3,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(4,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(5,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(6,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(7,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(8,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(0,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(1,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(2,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(3,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(4,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(5,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(6,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(7,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(8,9) ] ) ]
27
不可逆元个数n1=0,幂等元个数n2=
4,特征:fail,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=
2,零乘个数n6=105
零因子个数n7=14

27阶环的F_3+Z/9Z的9阶子环R9_2
gap> S:=RingByGenerators([DirectProductElement( [ 0*Z(3), ZmodnZObj(0,9)]),DirectProductElement( [ Z(3)^0, ZmodnZObj(1,9)])]);;Size(S);
9

gap> R:=S;;L:=Elements(R);Size(R);n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
[ DirectProductElement( [ 0*Z(3), ZmodnZObj(0,9) ] ), DirectProductElement( [ 0*Z(3), ZmodnZObj(3,9) ] ),
  DirectProductElement( [ 0*Z(3), ZmodnZObj(6,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(1,9) ] ),
  DirectProductElement( [ Z(3)^0, ZmodnZObj(4,9) ] ), DirectProductElement( [ Z(3)^0, ZmodnZObj(7,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(2,9) ] ), DirectProductElement( [ Z(3), ZmodnZObj(5,9) ] ),
  DirectProductElement( [ Z(3), ZmodnZObj(8,9) ] ) ]
9
不可逆元个数n1=0,幂等元个数n2=
2,特征:fail,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=
2,零乘个数n6=21
零因子个数n7=2

gap> NumberSmallRings(9);
11
gap> NumberSmallRings(25);
0
gap> NumberSmallRings(12);
22
gap> NumberSmallRings(49);
0
20151113问题:按定义证明:域F_9有一个非理想子环F_3或者域F_9没有非理想子环。注意:作为环的加法群,群C_3×C_3的子群C_3是正规子群。

考虑f(x)=x^2+x+2∈F_3[x],则F_3[i]={a+bi|a,b∈F_3}是f(x)在F_3上的分裂域。这是因为f(x)=[x-(1+i)][x-(1-i)]。
F_9=F_3[x]/(x^2+x+2)的元素x+(x^2+x+2)是f(x)的根。
因为f(x)是2次的,所以f(x)的另一个根也在F_9内。于是f(x)在F_9中分裂。又因为F_9只有9个元素,显然F_9也是f(x)在F_3上的分裂域。
在F_9中分解f(x):
用x表示F_3上的未定元,将陪集β=x+(x^2+x+2)与F_3中的1等同。
于是F_9={0,1,2,β,2β,β+1,2β+1,β+2,2β+2}。
这些元素间的加和乘与多项式的运算是一样的,但是由于x^2+x+2+(x^2+x+2)=0,因此β^2+β+2=0,所以β^2=-β-2=2β+1。所以x^2+x+2=(x-β)(x+β+1)。
于是,我们已经找到了x^2+x+2在F_3上的2个分裂域,一个是F_3(i),而另一个则具有形式F_3[x]/(x^2+x+2)。
gap> R1:=PolynomialRing(GF(3),1);;x:=Indeterminate(GF(3));;poly:=x^2+x+2;;IsIrreducibleRingElement(R1,poly);Degree(poly);;Factors(poly);;I:=IdealByGenerators(R1,[poly]);;R:=R1/I;;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
true
9
不可逆元个数n1=1,幂等元个数n2=2,特征:3,是否交换:true,是否有幺元=true,2次幂零元个数n4=
0,2~3次幂零元个数n5=0,零乘个数n6=17
零因子个数n7=0
x^2+x+2、x^2+1在F_3[x]上不可约。
x^2、x^2+x+1在F_3[x]上可约。
x^2+x在F_3[x]上可约。
gap> R1:=PolynomialRing(GF(3),1);;x:=Indeterminate(GF(3));;poly:=x^2+x;;IsIrreducibleRingElement(R1,poly);Degree(poly);;Factors(poly);;I:=IdealByGenerators(R1,[poly]);;R:=R1/I;;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
false
9
不可逆元个数n1=5,幂等元个数n2=4,特征:3,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=25
零因子个数n7=4

gap> I:=[[Z(3),0*Z(3)],[0*Z(3),Z(3)]];;A:=[[0*Z(3),Z(3)],[Z(3),0*Z(3)]];;R:=RingByGenerators([A]);;Size(R);IsRing(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
9
true

不可逆元个数n1=5,幂等元个数n2=4,特征:3,是否交换:true,是否有幺元=true,2次幂零元个数n4=
0,2~3次幂零元个数n5=0,零乘个数n6=25
零因子个数n7=4
gap> R1:=PolynomialRing(GF(3),1);;x:=Indeterminate(GF(3));;poly:=x^2;;IsIrreducibleRingElement(R1,poly);Degree(poly);;Factors(poly);;I:=IdealByGenerators(R1,[poly]);;R:=R1/I;;Size(R);L:=Elements(R);;n1:=0;;for i1 in L do if InverseMutable(i1)=fail then n1:=n1+1;fi;od;n2:=0;;for i2 in L do if IsIdempotent(i2) then n2:=n2+1;fi;od;n3:=0;;for i3 in L do if IsOne(i3) then n3:=n3+1;fi;od;n4:=0;;for i4 in L do if IsZero(i4)=false and i4^2=Zero(R) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R) then n5:=n5+1;fi;od;n6:=0;;for i6 in L do for j6 in L do if IsZero(i6*j6) then n6:=n6+1;fi;od;od;Print("不可逆元个数n1=",n1,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,"\n");n7:=0;;for i7 in L do for j7 in L do if IsZero(i7)=false and IsZero(j7)=false and IsZero(i7*j7) then n7:=n7+1;break;fi;od;od;Print("零因子个数n7=",n7);
false
9
不可逆元个数n1=3,幂等元个数n2=2,特征:3,是否交换:true,是否有幺元=true,2次幂零元个数n4=2,2~3次幂零元个数n5=2,零乘个数n6=21
零因子个数n7=2

由ShowAdditionTable(R);命令可得加法群的凯莱表:
1,2,3,4,5,6,7,8,9
2,3,1,5,6,4,8,9,7
3,1,2,6,4,5,9,7,8
4,5,6,7,8,9,1,2,3
5,6,4,8,9,7,2,3,1
6,4,5,9,7,8,3,1,2
7,8,9,1,2,3,4,5,6
8,9,7,2,3,1,5,6,4
9,7,8,3,1,2,6,4,5
请输入群A凯莱表文件名:G9.txt
G9ElementToOrder(0)=1
G9ElementToOrder(1)=3
G9ElementToOrder(2)=3
G9ElementToOrder(3)=3
G9ElementToOrder(4)=3
G9ElementToOrder(5)=3
G9ElementToOrder(6)=3
G9ElementToOrder(7)=3
G9ElementToOrder(8)=3
G9有1个1阶元,8个3阶元,0个9阶元
所以这个9阶环的加法群是C_3×C_3,特征是3。






0 0