低阶有限环的分类(2014-04-25 10:23、2014-05-23 21:39)

整合了《F_8,F_256,C++多项式类与有限域、有限环的构造》、《5种8阶群、4种6阶环、11种4阶环、52种8阶环的C++程序实现(20140424-20140523)》、《有限环不变量的C++程序计算(20151130)》这几篇日志。
按:笔者写这篇文章的目的是为环论的学习提供丰富有趣的有限环例子,并删除《八元域F_8的C++实现》这篇日志。

20151213、20151215添加:
R8_51=F_2[x]/(x^3+x^2+x)=F_2[x]/(x^3+1)=F_2[x,y]/(x^3+1,y+1)=F_2[x,y]/(x^3+1,y)
R8_52=F_2[x]/(x^3+x+1)=F_2[x]/(x^3+x^2+1)=F_2[x,y]/(x^3+x+1,y)=F_2[x,y]/(x^3+x^2+1,y)
R8_48:=DirectSum(SmallRing(4,9),SmallRing(2,2))=F_2[x]/(x^3+x^2)=F_2[x]/(x^3+x)=F_2[x,y]/(x^3+x^2,y)
R4_9=F2+uF2=F_2[x,y]/(x^2+1,y+1)=F_2[x,y]/(x^2+1,y)=F_2[x,y,z]/(x+1,y,z^2+1)
R4_11=F_2[x,y]/(x^2+x+1,y)
R2_2=F_2=F_2[x,y]/(x+1,y+1)
剩余类环Z/8Z=R8_3是局部环
gap> R8_3:=SmallRing(8,3);;CR:=Center(R8_3);;Size(CR);One(R8_3)<>fail;M:=Ideals(R8_3);;Print(List(M,Size),"\n");ShowMultiplicationTable(M[3]);
8
true
[ 1, 2, 4, 8 ]
*   | 0*a 2*a 4*a 6*a
----+----------------
0*a | 0*a 0*a 0*a 0*a
2*a | 0*a 4*a 0*a 4*a
4*a | 0*a 0*a 0*a 0*a
6*a | 0*a 4*a 0*a 4*a
gap> R4:=R8_3/M[3];ShowMultiplicationTable(R4);
<ring with 1 generators>
*    | 0*q1 q1   2*q1 -q1
-----+--------------------
0*q1 | 0*q1 0*q1 0*q1 0*q1
q1   | 0*q1 q1   2*q1 -q1
2*q1 | 0*q1 2*q1 0*q1 2*q1
-q1  | 0*q1 -q1  2*q1 q1
gap>L:=Elements(R8_3);;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(R8_3) then n4:=n4+1;fi;od;n5:=0;;for i5 in L do if IsZero(i5)=false and i5^3=Zero(R8_3) 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(R8_3),",是否交换:",IsAbelian(R8_3),",是否有幺元=",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=4,幂等元个数n2=2,特征:8,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=20,零因子个数n7=3
gap> R:=ZmodnZ(8);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);
(Integers mod 8)
[ ZmodnZObj( 0, 8 ), ZmodnZObj( 1, 8 ), ZmodnZObj( 2, 8 ), ZmodnZObj( 3, 8 ), ZmodnZObj( 4, 8 ), ZmodnZObj( 5, 8 ),
  ZmodnZObj( 6, 8 ), ZmodnZObj( 7, 8 ) ]
8
不可逆元个数n1=4,幂等元个数n2=2,特征:8,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=20,零因子个数n7=3
gap> R:=RingByGenerators([ZmodnZObj(2,8)]);;Size(R);ShowMultiplicationTable(R);
4
*        | ZnZ(0,8) ZnZ(2,8) ZnZ(4,8) ZnZ(6,8)
---------+------------------------------------
ZnZ(0,8) | ZnZ(0,8) ZnZ(0,8) ZnZ(0,8) ZnZ(0,8)
ZnZ(2,8) | ZnZ(0,8) ZnZ(4,8) ZnZ(0,8) ZnZ(4,8)
ZnZ(4,8) | ZnZ(0,8) ZnZ(0,8) ZnZ(0,8) ZnZ(0,8)
ZnZ(6,8) | ZnZ(0,8) ZnZ(4,8) ZnZ(0,8) ZnZ(4,8)
命题:环R是一个体,当且仅当R中的理想只有(0)和R本身。
环R的素理想定义为满足下面条件的理想p:
1)1!∈p
2)如果 a!∈p, b!∈p, 则 ab!∈p。这个条件的逆否也经常用到,即如果 ab∈p,则a或者b中肯定有一个已经是p的元。
这两个条件也可以合起来写成,R\p是一个乘法系。

整环->正规局部环
半局部环[R中仅有有限个极大理想]->局部环->域,局部环->赋值环
Wolfgang Krull于1938年引入的局部环[只有一个极大理想的环/交换含幺环]的概念,称之为Stellenringe,英译local ring源自扎里斯基。
例子:4阶环R4_10是交换幺环,但不是局部环[有2个极大理想]。R4_10是主理想环PIR,但不是主理想整环PID。
在任何环R中,极大理想是一个理想M,它是R的所有真理想的集合中的极大元,也就是说,M包含在R的正好两个理想内,即M本身和整个环R。每一个极大理想实际上是素理想;在主理想整环中,每一个非零的素理想都是极大的,但这一般不成立。
gap> R4_10:=DirectSum(GF(2),GF(2));;Size(R4_10);IsRing(R4_10);L:=Elements(R4_10);;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);
4
true
零因子个数n7=2
gap> x:=Indeterminate(GF(2),"x");;R:=PolynomialRing(GF(2),1);;poly:=x^2+x;;IsIrreducibleRingElement(R,poly);Degree(poly);;Factors(poly);;I:=IdealByGenerators(R,[poly]);;R4_10:=R/I;;Size(R4_10);IsRing(R4_10);L:=Elements(R4_10);;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
4
true
零因子个数n7=2
gap> R4_10:=SmallRing(4,10);Characteristic(R4_10);M:=Ideals(R4_10);;Print(List(M,Size),"\n");
<ring with 2 generators>
2
[ 1, 2, 2, 4 ]
Z/4Z是局部环,极大理想是M_2,(Z/4Z)/M_2=F_2。
gap> R4_3:=SmallRing(4,3);M:=Ideals(R4_3);List(M,Size);
<ring with 1 generators>
[ <ring with 1 generators>, <ring with 1 generators>, <ring with 1 generators> ]
[ 1, 2, 4 ]
gap> ShowMultiplicationTable(M[2]);
*   | 0*a 2*a
----+--------
0*a | 0*a 0*a
2*a | 0*a 0*a

gap> R2:=R4_3/M[2];
<ring with 1 generators>
gap> ShowMultiplicationTable(R2);
*    | 0*q1 q1
-----+----------
0*q1 | 0*q1 0*q1
q1   | 0*q1 q1
gap> R4_3:=RingByGenerators([ZmodnZObj(1,4)]);M2:=RingByGenerators([ZmodnZObj(2,4)]);;Size(M2);L:=Elements(M2);ShowMultiplicationTable(M2);
<ring with 1 generators>
2
[ ZmodnZObj( 0, 4 ), ZmodnZObj( 2, 4 ) ]
*        | ZnZ(0,4) ZnZ(2,4)
---------+------------------
ZnZ(0,4) | ZnZ(0,4) ZnZ(0,4)
ZnZ(2,4) | ZnZ(0,4) ZnZ(0,4)
20151130添加:
void printRingStruct(int* a,int n)
{
 int n2=IdempotentNum(a,n);
 bool bRet=IsAbelian(a,n);
 printf("是否交换:%s,",bRet?"true":"false");
 int n3=One(a,n);
 printf("是否有幺元=%s,",(n3>-1)?"true":"false");
 int n4=Nil2Num(a,n);
 int n5=Nil3Num(a,n);
 int n6=ZeroNum(a,n,n);
 int n7=ZeroFactorNum(a,n);
}
int g_F8Mul[8][8]={
  //x/  (0) (1) (2) (3) (4) (5) (6) (7)
  /*(0)  */{0,   0,   0,   0,   0,   0,   0,   0}, 
  /*(1)  */{0,   1,   2,   3,   4,   5,   6,   7},
  /*(2)  */{0,   2,   3,   4,   5,   6,   7,   1}, 
  /*(3)  */{0,   3,   4,   5,   6,   7,   1,   2}, 
  /*(4)  */{0,   4,   5,   6,   7,   1,   2,   3}, 
  /*(5)  */{0,   5,   6,   7,   1,   2,   3,   4}, 
  /*(6)  */{0,   6,   7,   1,   2,   3,   4,   5}, 
  /*(7)  */{0,   7,   1,   2,   3,   4,   5,   6}
 };
int g_R8_C2C2C2_28_R1_Mul[8][8]={
  {0,0,0,0,0,0,0,0},
  {0,1,2,3,4,5,6,7},
  {0,2,0,2,0,2,0,2},
  {0,3,2,1,4,7,6,5},
  {0,4,0,4,0,4,0,4},
  {0,5,2,7,4,1,6,3},
  {0,6,0,6,0,6,0,6},
  {0,7,2,5,4,3,6,1}
 };
g_F8Mul:幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=15,零因子个数n7=0,
g_R8_C2C2C2_28_R1_Mul:幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=24,零因子个数n7=3,
g_R8_C2C2C2_28_R2_Mul:幂等元个数n2=2,是否交换:false,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=20,零因子个数n7=3,
g_R8_C2C2C2_28_R3_Mul:幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=22,零因子个数n7=5,
g_R8_C2C2C2_28_1Mul:幂等元个数n2=8,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=29,零因子个数n7=6,
g_R8_C2C2C2_28_2Mul:幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=24,零因子个数n7=3,
g_R8_C2C2C2_28_3Mul:幂等元个数n2=6,是否交换:false,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=26,零因子个数n7=5,
g_Z8Mul:幂等元个数n2=2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=20,零因子个数n7=3,
g_C8R2Mul:幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=32,零因子个数n7=7,
g_C8R4Mul:幂等元个数n2=1,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=48,零因子个数n7=7,

张秋红:有限环上线性码的结构性质的研究
http://www.doc88.com/p-4724130502619.html
R4_9=环F_2+uF_2=F_2[u]/(u^2)分享了R4_3=环Z/4Z与R4_11=域F_4的一些良好性质。
i=3,不可逆元个数n1=2,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=8,零因子个数n7=1
i=9,不可逆元个数n1=2,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=8,零因子个数n7=1
i=10,不可逆元个数n1=3,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=9,零因子个数n7=2
i=11,不可逆元个数n1=1,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=7,零因子个数n7=0
定理:4阶的交换幺环在同构意义下只有4个:
R4_11=域F_4=ring 22.u.3(特征为2,是V的强抽象,无零因子)、
R4_10=环F2+vF2=ring 22.u.1=(特征为2,是V的强抽象,有零因子,4个幂等元0,1,v,1+v)、
R4_9=F2+uF2=ring 22.u.2(特征为2,是V的强抽象,有零因子,2个幂等元,是介于环Z_4与域F_4之间的一种4阶素环、局部环)
R4_3=Z/4Z=ring 4.u.1(特征为4,是C_4的强抽象,有零因子)
推论:
=>特征为2(即R^+=V)的4阶有零因子交换幺环有2个:R4_10=环F_2+vF_2、R4_9=F_2+uF_2。
gap> for i in [1..11] do R:=SmallRing(4,i);CR:=Center(R);Print("i=",i,",中心:",Size(CR),",",One(R)<>fail,",");IsRing(CR);IsSubset(R,CR);M:=Ideals(R);;L1:=Length(M);;Print(List(M,Size),",极大理想:",Size(M[L1-1]),",",One(M[L1-1])<>fail,"\n");od;
i=1,中心:4,false,[ 1, 2, 4 ],极大理想:2,false
i=2,中心:4,false,[ 1, 2, 4 ],极大理想:2,false
i=3,中心:4,true,[ 1, 2, 4 ],极大理想:2,false
i=4,中心:4,false,[ 1, 2, 2, 2, 4 ],极大理想:2,false
i=5,中心:4,false,[ 1, 2, 4 ],极大理想:2,false
i=6,中心:4,false,[ 1, 2, 2, 4 ],极大理想:2,false
i=7,中心:1,false,[ 1, 2, 4 ],极大理想:2,false
i=8,中心:1,false,[ 1, 2, 4 ],极大理想:2,false
i=9,中心:4,true,[ 1, 2, 4 ],极大理想:2,false
i=10,中心:4,true,[ 1, 2, 2, 4 ],极大理想:2,true
i=11,中心:4,true,[ 1, 4 ],极大理想:1,true
gap> R:=SmallRing(4,10);;M:=Ideals(R);;L1:=Length(M);;Size(M[L1-2]);One(M[L1-2])<>fail;Size(M[L1-1]);One(M[L1-1])<>fail;
2
true
2
true
20151126:由局部环的定义可知,R4_3、R4_9、R4_11分别有1个同构于R2_1、R2_1、R2_2=F_2的极大理想,它们都是局部环;R4_10有2个同构于R2_2=F_2的极大理想,它不是局部环。
所以4阶局部环只有3个。
gap> R:=SmallRing(4,9);;M:=Ideals(R);;L1:=Length(M);;Size(M[L1-2]);One(M[L1-2])<>fail;Size(M[L1-1]);One(M[L1-1])<>fail;
1
true
2
false
gap> Elements(M[L1-1]);
[ 0*a, a+b ]
gap> ShowAdditionTable(M[L1-1]);
+   | 0*a a+b
----+--------
0*a | 0*a a+b
a+b | a+b 0*a

gap> ShowMultiplicationTable(M[L1-1]);
*   | 0*a a+b
----+--------
0*a | 0*a 0*a
a+b | 0*a 0*a
20151203添加:
4阶伽罗瓦环仅有2个:R4_11=F_4=F_2[x]/(x^2+x+1)=GR(2,2),R4_3=Z/(4)=Z/(4)[x]/(x)=GR(4,1)。
8阶伽罗瓦环仅有2个:R8_52=F_8=F_2[x]/(x^3+x+1)=GR(2,3),R8_3=Z/(8)=Z/(8)[x]/(x)=GR(8,1)。
设q=p^r,f是F_q[x]上r次不可约多项式。伽罗瓦环GR((p^r)^m,p^m)=F_q[x]/(f)包括有限域GR(q=p^r,p)=F_q和剩余类环GR(p^m,p^m)=Z/(p^m)=F_p^m[x]/(x),不是有限域的伽罗瓦环叫做真伽罗瓦环(proper Galois ring),最小的既不是有限域又不是剩余类环的伽罗瓦环GR(q^m,p^m)是16阶环GR(16,4)=F_4[x]/(f)。
定义:若对环R上任意一个理想A都有A^2=A,即R上任意理想都为幂等理想,则称R为一个弱布尔环。
定理:设R为单幺环,则R为弱布尔环。
F_2是单环,只有零理想和它自身——单位理想F_2,又F_2中有幺元1,因此F_2F_2=F_2,00=0,即F_2^2=F_2和0^2=0,所以F_2是弱布尔环。
定理:布尔环一定是弱布尔环,但反之则不一定成立。
体K上的全矩阵环K_n是单幺环,所以是一个弱布尔环,但显然不是布尔环,因为许多矩阵的2次方不可能都等于它自己。
定理:2阶以上零环不是弱布尔环。
定义:若对环R上任意的一个理想A,有A^n=0,即R的任意理想都是幂零理想,则称R为一个幂零理想环。
R4_2=RingByGenerators([ZmodnZObj(2,8)])=(Z/8Z)的唯一一个极大理想
R4_2是一个幂零理想环。
定理:幂零理想环一定是幂零元环,反之不一定成立。
定理:零环是幂零理想环。
http://dx.doi.org/10.1090/S0002-9947-1936-1501865-8
布尔环是有零因子交换幺环。

布尔环的特征为2。a+a=2a=0
n阶布尔环有n个幂等元。a^2=a
4阶布尔环只有1个:R4_10=F_2+vF_2。没有2阶布尔环。

黄文韬:计算机代数在布尔运算系统的研究与设计中的应用http://www.docin.com/p-1330472784.html

如果环R的基数|R|有限,则称R是有限环。对于有限环R={a_1,…,a_n},可以用R的加法表和乘法表将R的结构完全表示出来。
如果环R的加法群是循环群,证明:R是交换环。[由群的结构信息推断强抽象后的环的结构信息]
找出Z_6的所有理想。
理想是加法子群,Z_6作为加法群是循环群<[1]>,循环群固定大小的子群只有一个。
Z_6的子群为<[0]>,<[1]>,<[2]>,<[3]>。
易验证他们都是理想。
定义:如果环R的加群是一个循环群,则称环R是一个循环环。[是交换环的强抽象]
循环环的子环也是循环环。循环环的任何子加群都市一个子环。就是说,循环环的子加群同子环是一回事。进一步可知,循环环(例如整数环Z及模n剩余类环Z_n)的子加群、子环、理想、主理想[??任意循环整环都是PID吗?2Z不是D从而不是PID。]四者都是一回事。环Z_n有T(n)个主理想。
循环环不一定有单位元1。例如偶数环就是一个没有单位元1的无限循环环。偶数加群2Z与整数加群Z同构[都是无限循环群],但偶数环2Z与整数环Z不同构[一个无幺元,一个有幺元]。
12阶循环环R_12={0,e,2e,…,11e}
定理:pq阶环必为循环环(p,q是两个互异素数)。
定理:除去零乘环[不是指零环{0};零乘环一定是循环环吗?一定可以同构嵌入剩余类环吗?]外,在同构意义下,循环环有而且只有整数环及其子环以及剩余类环及其子环。
注意:整数环Z及其所有[无限]非零子环nZ虽然作为加群它们彼此同构(因为都是无限循环群),但作为环来说,它们彼此并不同构。
定理:阶<=5的群必是交换群;阶<=3的环必是交换环[因为循环环必是交换环]。
素数阶的非交换环是不存在的。
定理:对任意整数n>1,总存在n^2阶非交换环。
定理:对任意素数p和任意整数n>1,总存在p^s阶非交换环,其中s=n(n+1)/2。
定理:设n为大于1的整数,则存在n阶非交换环的充要条件是,n有平方因子,即存在整数d>1使d^2|n。
定理:Z_2上的所有2阶上三角方阵作成的环,是有单位元的阶数最小的非交换环。
注意:素理想是在交换环内定义的[还是在交换幺环内定义的?按:1.多数的书都是在交换环中定义素理想,但1949年数学家尼尔·麦科伊(Neal H. McCoy)推广为在任意环(不一定可换)中定义素理想。2.整环的定义在不同的书中也常有差异,大致有以下4种定义方法:定义1 :无零因子的交换环称为整环。定义2:阶大于1且无零因子的交换环,称为整环。定义3(本人采用):有单位元且无零因子的交换环,称为整环。定义4:阶大于1、有单位元且无零因子的交换环,称为整环。以上4种定义中,要求整环无零因子、交换是共同的,区别就在于是否要求有单位元和阶大于1。本人采用定义3。3.在无幺环中,极大理想不一定是素理想。如偶数环2Z中的<4>是极大理想且不是素理想。],但极大理想并无这种限制。
注意:在现有的代数公理化定义和定理体系中,不存在一个完美的有利无弊的整环定义标准,采用任何定义标准都会使某些重要定理的表述干净利索,但会使另外一些重要定理的表述不够干净利索。例如:本人约定1阶环{0}是整环(交换无零因子幺环)但不是除环不是域(空集不可以强抽象为0阶群),这样约定可与1不是素数的约定相一致(Z_1不是域),但定理“有限整环必是域”的表述就要改为“阶大于1的有限整环必是域”。
有限环若有非零元素不是零因子,则必有单位元,且每个非零又非零因子的元素都是可逆元。即有限无零因子环<=>有限无零因子幺环。
但对一般环,无零因子环<=>无零因子幺环不成立,存在无零因子无幺环,例如2Z,它是一个无限循环的无零因子无幺环。
所以整环的4个定义互不等价,2Z在定义1和定义2下是整环,而在定义3和定义4下不是整环。

gap> for i in [1..11] do R:=SmallRing(4,i);;M:=Ideals(R);;Print(List(M,Size),"\n");od;
[ 1, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 2, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 4 ]
[ 1, 2, 2, 4 ]
[ 1, 4 ]
gap> for i in [1..52] do R:=SmallRing(8,i);;M:=Ideals(R);;Print(List(M,Size),"\n");od;
[ 1, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 8 ]
[ 1, 2, 2, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 2, 2, 4, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 2, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 4, 8 ]
[ 1, 2, 2, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 2, 4, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 8 ]
[ 1, 2, 2, 4, 8 ]
[ 1, 2, 2, 2, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 2, 4, 4, 8 ]
[ 1, 2, 4, 4, 8 ]
[ 1, 2, 2, 2, 4, 4, 4, 8 ]
[ 1, 2, 4, 8 ]
[ 1, 8 ]
gap> for i in [1..4] do R:=SmallRing(6,i);;M:=Ideals(R);;Print(List(M,Size),"\n");od;
[ 1, 2, 3, 6 ]
[ 1, 2, 3, 6 ]
[ 1, 2, 3, 6 ]
[ 1, 2, 3, 6 ]
gap> for i in [1..2] do R:=SmallRing(2,i);;M:=Ideals(R);;Print(List(M,Size),"\n");od;
[ 1, 2 ]
[ 1, 2 ]
gap> for i in [1..2] do R:=SmallRing(3,i);;M:=Ideals(R);;Print(List(M,Size),"\n");od;
[ 1, 3 ]
[ 1, 3 ]
We call I a proper ideal if it is a proper subset of R, that is, I does not equal R. The ideal R is called the unit ideal.[Lang 2005, Section III.2 ]一作非平凡理想即真理想(即{0}不是非零环的真理想。这只是一个约定,不是本质的。),平凡理想即零理想和单位理想。
定义:只有平凡理想的非零环称为单环。
定理:除环和域只有平凡理想,即它们都是单环。在一定意义下,这个定理的逆定理也成立。
定理:设R是一个阶大于1的环,并且除平凡理想外无其他左或右理想。则当R有单位元时,R为除环;当R无单位元时,R是素阶零乘环。
推论:阶大于1的可换单环必为域或素阶零乘环。
设R是一个加群,再对R中任意元素a,b规定ab=0,则R显然作成一个环,这种环称为零乘环(zero multiplication ring)。按:这是一类抽象环,例如4阶零乘环M_4有两个,可以记为M_4(M_4^+=C_4)和M_4(M_4^+=V)。
定义:一个环R可以同每一个元交换的元作成一个子环,叫作环R的中心。
定义:设I为R的子环,若对于I中任何元a(向量模元素)和R中任何元c(纯量环元素),有c·a∈I且a·c∈I,则称I为环R的理想。
显然,若R是可交换环, c·a∈I<=> a·c∈I。
定义:一个理想I{<|}R称为素理想,如果R/I是整环,并且I!=R。按:{0}∈Spec2Z,但2Z/{0}=2Z是交换无零因子无幺环,按照整环的第3个定义,2Z不是整环。分别取I=<6>,<10>,<14>,2Z∈Spec2Z,则2Z/I=Z_3,Z_5,Z_7,Z_1都是整环。
摘录自维基百科:
Prime ideals for commutative rings
An ideal P of a commutative ring R is prime if it has the following two properties:
1.whenever a, b are two elements of R such that their product ab lies in P, then a is in P or b is in P.
2.P is not equal to the whole ring R[这一条不可少:它不能是单位理想,但可以是零理想]
Prime ideals for noncommutative rings
The notion of a prime ideal can be generalized to noncommutative rings as follows. If R is a noncommutative ring and P is an ideal in R, we say that P is prime if it has the following two properties:
1.P{<}R.
2.Whenever the product AB of two ideals  is contained in P, then at least one of A and B is contained in P.
定义:一个理想I{<|}R(其中I!=R)称为极大理想,如果R中除R和I外没有包含I的理想;
定义:如果一个交换幺环R有唯一的极大理想,那么称R为局部环。
一个理想I是极大的当且仅当R/I只有两个理想R/I与0,换言之R/I是域。按:这个结论不是对任意环R都成立。例如<4>是偶数环2Z的极大理想且不是素理想,2Z/<4>不是域。2Z/<4>={2k+<4>|k∈Z}中没有单位元,从而不是域,进一步不是整环,是无幺环。分别取I=<6>,<10>,<14>∈Max2Z,则2Z/I=Z_3,Z_5,Z_7都是域。<2p>(p为任意素数)是偶数环2Z的全部极大理想。偶数环2Z的全部素理想是:{0},2Z以及所有<2p>(p为任意奇素数)。2Z的素谱Spec2Z与极大谱Max2Z没有包含与被包含的关系。
极大理想都是素理想。按:这个结论不是对任意环R都成立。在无幺环中,极大理想不一定是素理想。例子同上。
有限环都是Noether环=>Z_6是Noether环。
定理:环R为Artin环(1928)<=>环R为Noether环并且dimR=0。=>Z_6是Artin环。
有限环和域是Artin环。
定理:除环R的(左或右)理想只有平凡(左或右)理想(即除环R的零理想{0}=(0)和单位理想R=(1))。
设I是R的一个理想,且不是零理想={0},则R=I。
注:理想对除环和域没有用处。
克鲁尔定理(Krull's theorem,1929):任何阶大于1的幺环至少有一个极大理想(maximal ideal),这可由与选择公理(the axiom of choice)等价的佐恩引理(Zorn's lemma)得出。Let R be a unital ring, which is not the trivial ring. Then R contains a maximal ideal.
域F<=>F是整环和除环<=>F是素单交换幺环=>{0}∈SpecF={{0}}=MaxF=>F为Noether环并且dimF=0<=>F是Artin环。
计算有限环和无限环的极大谱和素谱的例子:
MaxZ_6={Z_2={[0],[3]},Z_3={[0],[2],[4]}}=SpecZ_6={Z_2={[0],[3]},Z_3={[0],[2],[4]}}
I=Z_1、Z_6!∈MaxZ_6?=>Z_6/I=Z_6、Z_1都不是域
I=Z_1、Z_6!∈SpecZ_6??=>Z_6/I=Z_6、Z_1都不是整环。dimZ_6=0(因为Z_2!{<}Z_3)<=>Z_6中的素理想必为极大理想。
I.S.Cohen:环R为Noether环(1921)<=>R的每个理想均有限生成。
非交换环最小阶为4,同构意义下只有两个;含幺非交换环最小阶为8,且在同构意义下只有一个。
gap> for i in [1..11] do R:=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=4,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
16,零因子个数n7=3
i=2,不可逆元个数n1=4,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
12,零因子个数n7=3
i=3,不可逆元个数n1=2,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
8,零因子个数n7=1
i=4,不可逆元个数n1=4,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
16,零因子个数n7=3
i=5,不可逆元个数n1=4,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
12,零因子个数n7=3
i=6,不可逆元个数n1=4,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
12,零因子个数n7=3
i=7,不可逆元个数n1=4,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
10,零因子个数n7=1
i=8,不可逆元个数n1=4,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
10,零因子个数n7=3
i=9,不可逆元个数n1=2,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
8,零因子个数n7=1
i=10,不可逆元个数n1=3,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
9,零因子个数n7=2
i=11,不可逆元个数n1=1,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
7,零因子个数n7=0
20151107:对于4阶环的分类,可以减去1个环不变量n1:
gap> for i in [1..11] do R:=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,",幂等元个数n2=",n2,",特征:",Characteristic(R),",是否交换:",IsAbelian(R),",是否有幺元=",n3=1,",2次幂零元个数n4=",n4,",2~3次幂零元个数n5=",n5,",零乘个数n6=",n6,",零因子个数n7=",n7,"\n");od;
i=1,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=16,零因子个数n7=3
i=2,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=12,零因子个数n7=3
i=3,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=8,零因子个数n7=1
i=4,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=16,零因子个数n7=3
i=5,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=12,零因子个数n7=3
i=6,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=12,零因子个数n7=3
i=7,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=10,零因子个数n7=1
i=8,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=10,零因子个数n7=3
i=9,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=8,零因子个数n7=1
i=10,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=9,零因子个数n7=2
i=11,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=7,零因子个数n7=0
gap> NumberSmallRings(8);
52
gap> for i in [1..52] do R:=SmallRing(8,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=8,幂等元个数n2=1,特征:8,是否交换:true,是否有幺元=false,2次幂零元个数n4=7,2~3次幂零元个数n5=7,零乘个数n6=
64,零因子个数n7=7
i=2,不可逆元个数n1=8,幂等元个数n2=1,特征:8,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
32,零因子个数n7=7
i=3,不可逆元个数n1=4,幂等元个数n2=2,特征:8,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
20,零因子个数n7=3
i=4,不可逆元个数n1=8,幂等元个数n2=1,特征:8,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=5,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=7,2~3次幂零元个数n5=7,零乘个数n6=
64,零因子个数n7=7
i=6,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=7,不可逆元个数n1=8,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
48,零因子个数n7=7
i=8,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=9,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=10,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=
7,零乘个数n6=48,零因子个数n7=7
i=11,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=7,2~3次幂零元个数n5=7,零乘个数n6=
40,零因子个数n7=7
i=12,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
40,零因子个数n7=7
i=13,不可逆元个数n1=8,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
32,零因子个数n7=7
i=14,不可逆元个数n1=6,幂等元个数n2=4,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
24,零因子个数n7=5
i=15,不可逆元个数n1=8,幂等元个数n2=3,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=28,零因子个数n7=7
i=16,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=17,不可逆元个数n1=8,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
36,零因子个数n7=7
i=18,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
7,零乘个数n6=40,零因子个数n7=7
i=19,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
40,零因子个数n7=7
i=20,不可逆元个数n1=8,幂等元个数n2=3,特征:4,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=28,零因子个数n7=3
i=21,不可逆元个数n1=4,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
24,零因子个数n7=3
i=22,不可逆元个数n1=4,幂等元个数n2=2,特征:4,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
20,零因子个数n7=3
i=23,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=24,不可逆元个数n1=8,幂等元个数n2=1,特征:4,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
32,零因子个数n7=7
i=25,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=7,2~3次幂零元个数n5=7,零乘个数n6=
64,零因子个数n7=7
i=26,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
48,零因子个数n7=7
i=27,不可逆元个数n1=8,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
48,零因子个数n7=7
i=28,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=5,2~3次幂零元个数n5=
7,零乘个数n6=48,零因子个数n7=7
i=29,不可逆元个数n1=8,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=40,零因子个数n7=7
i=30,不可逆元个数n1=8,幂等元个数n2=5,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=36,零因子个数n7=3
i=31,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=7,2~3次幂零元个数n5=7,零乘个数n6=
40,零因子个数n7=7
i=32,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=7,零乘个数n6=
40,零因子个数n7=7
i=33,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
32,零因子个数n7=7
i=34,不可逆元个数n1=8,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=40,零因子个数n7=7
i=35,不可逆元个数n1=8,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
32,零因子个数n7=7
i=36,不可逆元个数n1=8,幂等元个数n2=5,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=32,零因子个数n7=7
i=37,不可逆元个数n1=8,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=28,零因子个数n7=3
i=38,不可逆元个数n1=8,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
36,零因子个数n7=7
i=39,不可逆元个数n1=8,幂等元个数n2=1,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
7,零乘个数n6=40,零因子个数n7=7
i=40,不可逆元个数n1=8,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
36,零因子个数n7=7
i=41,不可逆元个数n1=8,幂等元个数n2=6,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=30,零因子个数n7=5
i=42,不可逆元个数n1=8,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
28,零因子个数n7=7
i=43,不可逆元个数n1=8,幂等元个数n2=5,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=36,零因子个数n7=7
i=44,不可逆元个数n1=8,幂等元个数n2=3,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=3,2~3次幂零元个数n5=
3,零乘个数n6=28,零因子个数n7=7
i=45,不可逆元个数n1=4,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=3,2~3次幂零元个数n5=3,零乘个数n6=
24,零因子个数n7=3
i=46,不可逆元个数n1=4,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=3,零乘个数n6=
20,零因子个数n7=3
i=47,不可逆元个数n1=8,幂等元个数n2=6,特征:2,是否交换:false,是否有幺元=false,2次幂零元个数n4=1,2~3次幂零元个数n5=
1,零乘个数n6=30,零因子个数n7=7
i=48,不可逆元个数n1=6,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
24,零因子个数n7=5
i=49,不可逆元个数n1=6,幂等元个数n2=6,特征:2,是否交换:false,是否有幺元=true,2次幂零元个数n4=1,2~3次幂零元个数n5=1,零乘个数n6=
26,零因子个数n7=5
i=50,不可逆元个数n1=7,幂等元个数n2=8,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
27,零因子个数n7=6
i=51,不可逆元个数n1=5,幂等元个数n2=4,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
21,零因子个数n7=4
i=52,不可逆元个数n1=1,幂等元个数n2=2,特征:2,是否交换:true,是否有幺元=true,2次幂零元个数n4=0,2~3次幂零元个数n5=0,零乘个数n6=
15,零因子个数n7=0
24阶群SL_2(F_3)的一个正规子群Q_8
注意:O_2(F_3)=D_4(有det=2的矩阵)不是SL_2(F_3)的子群。
20140426证明O_2(F_3)=D_4

|O_2(F_3)|=8

8阶群有5个:Z_2+Z_2+Z_2Z_2+Z_4Z_8D_4Q_8

    D_4

 元素,1,a,a^2,a^3,b,ab,a^2b,a^3b

 阶数,1,4,2,4,2,2,2,2

 Q_8

 元素,1,a,a^2,a^3,b,ab,a^2b,a^3b

 阶数,1,4,2,4,4,4,4,4

 由于两个群中4阶元素的个数不同,所以D_4Q_8不同构。

这个8阶非Abel群是D_4不是Q_8

 

0 1

1 0

det: 2

0 1

2 0

det: 1

0 2

1 0

det: 1

0 2

2 0

det: 2

1 0

0 1

det: 1

1 0

0 2

det: 2

2 0

0 1

det: 2

2 0

0 2

det: 1

0 1

1 0

det: 2

1 0

0 1

det: 1

2 0

0 1

det: 2

 

 

 

 

 

 

0 1

2 0

det: 1(4阶元)

1 0

0 2

det: 2

2 0

0 2

det: 1

1 0

0 1

det: 1

 

 

 

 

 

0 2

1 0

det: 1(4阶元)

 

1 0

0 1

det: 1

2 0

0 2

det: 1

 

 

 

 

 

0 2

2 0

det: 2

 

 

 

1 0

0 1

det: 1

 

 

 

 

1 0

0 1

det: 1

0 1

1 0

det: 2

0 1

2 0

det: 1

0 2

1 0

det: 1

0 2

2 0

det: 2

1 0

0 1

det: 1

1 0

0 2

det: 2

2 0

0 1

det: 2

2 0

0 2

det: 1

1 0

0 2

det: 2

 

 

 

 

 

1 0

0 1

det: 1

 

 

2 0

0 1

det: 2

 

 

 

 

 

 

1 0

0 1

det: 1

 

2 0

0 2

det: 1

 

 

 

 

 

 

 

1 0

0 1

det: 1


 

 

0 1

1 0

det: 1

0 1

1 1

det: 1

1 0

0 1

det: 1

1 0

1 1

det: 1

1 1

0 1

det: 1

1 1

1 0

det: 1

0 1

1 0

det: 1(2阶元)

1 0

0 1

det: 1

1 1

0 1

det: 1

 

 

 

 

0 1

1 1

det: 1

1 0

1 1

det: 1

 

 

 

 

1 0

0 1

det: 1

1 0

0 1

det: 1

0 1

1 0

det: 1

0 1

1 1

det: 1

1 0

0 1

det: 1

1 0

1 1

det: 1

1 1

0 1

det: 1

1 1

1 0

det: 1

1 0

1 1

det: 1(2阶元)

 

 

 

1 0

0 1

det: 1

 

 

1 1

0 1

det: 1(2阶元)

 

 

 

 

1 0

0 1

det: 1

 

1 1

1 0

det: 1

 

1 0

0 1

det: 1

 

 

 

 


http://www.56numbit.com/download.html
Q_8,n=2

 

{{1,0},{0,1}}

{{i,0},{0,-i}}

  {{0,-1},{1,0}}

{{-1,0},{0,-1}} 

{{-i,0},{0,i}}

{{0,1},{-1,0}}

{{0,-i},{-i,0}}

{{0,i},{i,0}}

{{1,0},{0,1}}

 

 

 

 

 

 

 

 

{{i,0},{0,-i}}(4阶元1)

 

 {{-1,0},{0,-1}}

{{0,-i},{-i,0}}

 

{{1,0},{0,1}}

 

 

 

  {{0,-1},{1,0}} (4阶元2)

 

{{0,i},{i,0}}

{{-1,0},{0,-1}} 

{{0,1},{-1,0}} 

 

 

 

 

  {{-1,0},{0,-1}} (2阶元3)

 

{{-i,0},{0,i}}

{{0,1},{-1,0}}

{{1,0},{0,1}}

{{i,0},{0,-i}}

 

 

 

{{-i,0},{0,i}}(4阶元4)

 

{{1,0},{0,1}}

 

 

{{-1,0},{0,-1}} 

 

 

 

{{0,1},{-1,0}} (4阶元5)

 

{{0,-i},{-i,0}}

 

 

 

{{-1,0},{0,-1}}

 

 

 {{0,-i},{-i,0}} (4阶元6)

 

 {{0,-1},{1,0}}

{{-i,0},{0,i}}

{{0,i},{i,0}}

{{0,1},{-1,0}}

{{i,0},{0,-i}}

{{-1,0},{0,-1}} 

 

{{0,i},{i,0}}(4阶元7)

 

 

 

 

 

 

 

{{-1,0},{0,-1}} 

群元编号——群元

0——1

1——i

2——j

3——-1

4——-i

5——-j

6——k

7——-k


#ifndef R8_H
#define R8_H


/*
C_8可强抽象为的8阶环有4个:Z/8Z、M_8(M_8^+=C_8)、R_2(R_2^+=C_8)和R_4(R_4^+=C_8)
C_4×C_2可强抽象为的8阶环有20个:Z/4Z×F_2
C_2×C_2×C_2可强抽象为的8阶环有28个:R8_C2C2C2_28_1、R8_C2C2C2_28_2、R8_C2C2C2_28_3、F_4×F_2
*/
extern int g_F8Add[8][8];
extern int g_F8Mul[8][8];
extern int g_R8_C2C2C2_28_R1_Add[8][8];
extern int g_R8_C2C2C2_28_R1_Mul[8][8];
extern int g_R8_C2C2C2_28_R2_Mul[8][8];
extern int g_R8_C2C2C2_28_R3_Mul[8][8];


#endif
#include"R8.h"


int g_F8Add[8][8]={
 //{0, 1, 2, 3, 4, 5, 6, 7},
 //{1, 0, 3, 2, 5, 4, 7, 6},
 //{2, 3, 0, 1, 6, 7, 4, 5},
 //{3, 2, 1, 0, 7, 6, 5, 4},
 //{4, 5, 6, 7, 0, 1, 2, 3},
 //{5, 4, 7, 6, 1, 0, 3, 2},
 //{6, 7, 4, 5, 2, 3, 0, 1},
 //{7, 6, 5, 4, 3, 2, 1, 0}
 //+/  (0) (1) (2) (3) (4) (5) (6) (7)
 /*(0)  */{0,   1,   2,   3,   4,   5,   6,   7}, 
 /*(1)  */{1,   0,   4,   7,   2,   6,   5,   3}, 
 /*(2)  */{2,   4,   0,   5,   1,   3,   7,   6}, 
 /*(3)  */{3,   7,   5,   0,   6,   2,   4,   1}, 
 /*(4)  */{4,   2,   1,   6,   0,   7,   3,   5}, 
 /*(5)  */{5,   6,   3,   2,   7,   0,   1,   4}, 
 /*(6)  */{6,   5,   7,   4,   3,   1,   0,   2}, 
 /*(7)  */{7,   3,   6,   1,   5,   4,   2,   0}
};
int g_F8Mul[8][8]={
 //x/  (0) (1) (2) (3) (4) (5) (6) (7)
 /*(0)  */{0,   0,   0,   0,   0,   0,   0,   0}, 
 /*(1)  */{0,   1,   2,   3,   4,   5,   6,   7},
 /*(2)  */{0,   2,   3,   4,   5,   6,   7,   1}, 
 /*(3)  */{0,   3,   4,   5,   6,   7,   1,   2}, 
 /*(4)  */{0,   4,   5,   6,   7,   1,   2,   3}, 
 /*(5)  */{0,   5,   6,   7,   1,   2,   3,   4}, 
 /*(6)  */{0,   6,   7,   1,   2,   3,   4,   5}, 
 /*(7)  */{0,   7,   1,   2,   3,   4,   5,   6}
};
// C_2×C_2×C_2——>邢丹丹论文中的8阶环R_1
int g_R8_C2C2C2_28_R1_Add[8][8]={
 {0,1,2,3,4,5,6,7},
 {1,0,3,2,5,4,7,6},
 {2,3,0,1,6,7,4,5},
 {3,2,0,1,7,6,5,4},
 {4,5,6,7,0,1,2,3},
 {5,4,7,6,1,0,3,2},
 {6,7,4,5,2,3,0,1},
 {7,6,5,4,3,2,1,0}
};
int g_R8_C2C2C2_28_R1_Mul[8][8]={
 {0,0,0,0,0,0,0,0},
 {0,1,2,3,4,5,6,7},
 {0,2,0,2,0,2,0,2},
 {0,3,2,1,4,7,6,5},
 {0,4,0,4,0,4,0,4},
 {0,5,2,7,4,1,6,3},
 {0,6,0,6,0,6,0,6},
 {0,7,2,5,4,3,6,1}
};


// C_2×C_2×C_2——>邢丹丹论文中的8阶环R_2
int g_R8_C2C2C2_28_R2_Mul[8][8]={
 {0,0,0,0,0,0,0,0},
 {0,1,2,3,4,5,6,7},
 {0,2,0,2,0,2,0,2},
 {0,3,2,1,4,7,6,5},
 {0,4,0,4,2,6,2,6},//这一行后4个元素变了
 {0,5,2,7,6,3,4,1},//这一行后4个元素变了
 {0,6,0,6,2,4,2,4},//这一行后4个元素变了
 {0,7,2,5,4,1,4,3}//这一行后3个元素变了
};


// C_2×C_2×C_2——>邢丹丹论文中的8阶环R_3
int g_R8_C2C2C2_28_R3_Mul[8][8]={
 {0,0,0,0,0,0,0,0},
 {0,1,2,3,4,5,6,7},
 {0,2,0,2,0,2,0,2},
 {0,3,2,1,4,7,6,5},
 {0,4,0,4,3,7,3,7},//这一行后4个元素变了
 {0,5,2,7,7,2,5,0},//这一行后4个元素变了
 {0,6,0,6,3,5,3,5},//这一行后4个元素变了
 {0,7,2,5,7,0,5,2}//这一行后4个元素变了
};
//C_2×C_2×C_2——>F_4×F_2
int g_F4F2Add[4][4]={
{0,1,2,3,4,5,6,7},
{1,0,3,2,5,4,7,6},
{2,3,0,1,6,7,4,5},
{3,2,1,0,7,6,5,4},
{4,5,6,7,0,1,2,3},
{5,4,7,6,1,0,3,2},
{6,7,4,5,2,3,0,1},
{7,6,5,4,3,2,1,0},
};


int g_F4F2Mul[4][4]={
{0,0,0,0,0,0,0,0},
{0,1,0,1,0,1,0,1},
{0,0,2,2,4,4,6,6},
{0,1,2,3,4,5,6,7},
{0,0,4,4,6,6,2,2},
{0,1,4,5,6,7,2,3},
{0,0,6,6,2,2,4,4},
{0,1,6,7,2,3,4,5},
};
//C_4×C_2——>Z/4Z×F_2
int g_Z4F2Add[4][4]={
{0,1,2,3,4,5,6,7},
{1,0,3,2,5,4,7,6},
{2,3,4,5,6,7,0,1},
{3,2,5,4,7,6,1,0},
{4,5,6,7,2,3,0,1},
{5,4,7,6,3,2,1,0},
{6,7,0,1,2,3,4,5},
{7,6,1,0,3,2,5,4},
};


int g_Z4F2Mul[4][4]={
{0,0,0,0,0,0,0,0},
{0,1,0,1,0,1,0,1},
{0,0,2,2,4,4,6,6},
{0,1,2,3,4,5,6,7},
{0,0,4,4,0,0,4,4},
{0,1,4,5,0,1,4,5},
{0,0,6,6,4,4,2,2},
{0,1,6,7,4,5,2,3},
};

问题:把52种8阶环构造出来?
There are 52 (if p=2) or 53 (if p>2) rings of size p3, as follows:
Four rings over Zp3.
Twenty (or twenty-one if p>2) rings over Zp2+Zp.
Twenty-eight rings over Zp+Zp+Zp.
环元编号:
0——(0,0,0)
1——(1,0,0)
2——(0,1,0)
3——(1,1,0)
4——(0,0,1)
5——(1,0,1)
6——(0,1,1)
7——(1,1,1)
R={{{a,0,0},{0,b,0},{0,0,c}}|a,b,c∈Z/2Z}<=M_3(Z/2Z)是8阶交换幺环
C_2×C_2×C_2——>R8_C2C2C2_28_1
非零零因子个数:6(1,2,3,4,5,6)
int g_R8_C2C2C2_28_1Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,1,0,0,0,1,0,1},
{0,0,2,2,0,0,2,2},
{0,0,2,3,0,1,2,3},
{0,0,0,0,4,4,4,4},
{0,1,0,1,4,5,4,5},
{0,0,2,2,4,4,6,6},
{0,1,2,3,4,5,6,7}
};
C_2×C_2×C_2——>R8_C2C2C2_28_2
非零零因子个数:3(2,4,6)
R={{{a,0,0},{b,a,0},{c,0,a}}|a,b,c∈Z/2Z}<=M_3(Z/2Z)是8阶交换幺环
int g_R8_C2C2C2_28_2Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,1,2,3,4,5,6,7},
{0,2,0,2,0,2,0,2},
{0,3,2,1,4,7,6,5},
{0,4,0,4,0,4,0,4},
{0,5,2,7,4,1,6,5},
{0,6,0,6,0,6,0,6},
{0,7,2,5,4,5,6,1}
};
R={{{a,c},{0,b}}|a,b,c∈Z/2Z}<=M_2(Z/2Z)是8阶非交换幺环
C_2×C_2×C_2——>R8_C2C2C2_28_3
非零零因子个数:5(1,2,4,5,6)
int g_R8_C2C2C2_28_3Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,1,0,1,4,5,4,5},
{0,0,2,2,0,0,2,2},
{0,1,2,3,4,5,6,7},
{0,0,4,4,0,0,4,4},
{0,1,4,5,4,5,0,1},
{0,0,6,6,0,0,6,6},
{0,1,6,7,4,5,2,3},
};
R={{{0,b,c,d},{0,b,0,0},{0,0,b,0},{0,0,0,b}}|b,c,d∈Z/2Z}<=M_4(Z/2Z)是8阶非交换环
R={{{0,0,0,0},{b,b,0,0},{c,0,b,0},{d,0,0,b}}|b,c,d∈Z/2Z}<=M_4(Z/2Z)是8阶非交换环
 
C_8——>Z/8Z
/*
Z_8={[0],[1],[2],[3],[4],[5],[6],[7]}
运算为模8加与模8乘
非零零因子个数:3([[2],[4],[6]])
*/
int g_Z8Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,1,2,3,4,5,6,7},
{0,2,4,6,0,2,4,6},
{0,3,6,1,4,7,2,5},
{0,4,0,4,0,4,0,4},
{0,5,2,7,4,1,6,3},
{0,6,4,2,0,6,4,2},
{0,7,6,5,4,3,2,1}
};
C_8——>M_8(M_8^+=C_8)
/*
Z_64的一个8阶子环M_8(M_8^+=C_8)={[0],[8],[16],[24],[32],[40],[48],[56]},
运算为模64加与模64乘
零乘环
*/
C_8——>R_2(R_2^+=C_8)
/*
Z_16的一个8阶子环R_2(R_2^+=C_8)={[0],[2],[4],[6],[8],[10],[12],[14]},
运算为模16加与模16乘
非零零因子个数:7([2],[4],[6],[8],[10],[12],[14])
*/
int g_C8R2Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,2,4,6,0,2,4,6},
{0,4,0,4,0,4,0,4},
{0,6,4,2,0,6,4,2},
{0,0,0,0,0,0,0,0},
{0,2,4,6,0,2,4,6},
{0,4,0,4,0,4,0,4},
{0,6,4,2,0,6,4,2}
};
C_8——>R_4(R_4^+=C_8)
/*
Z_32的一个8阶子环R_4(R_4^+=C_8)={[0],[4],[8],[12],[16],[20],[24],[28]},
运算为模32加与模32乘
非零零因子个数:7([4],[8],[12],[16],[20],[24],[28])
*/
int g_C8R4Mul[8][8]={
{0,0,0,0,0,0,0,0},
{0,4,0,4,0,4,0,4},
{0,0,0,0,0,0,0,0},
{0,4,0,4,0,4,0,4},
{0,0,0,0,0,0,0,0},
{0,4,0,4,0,4,0,4},
{0,0,0,0,0,0,0,0},
{0,4,0,4,0,4,0,4},
};
 
8阶群有5个:Z_2+Z_2+Z_2,Z_2+Z_4,Z_8,D_4,Q_8
8阶阿贝尔群有三种不同的类型,代表分别是C_8,C_2×C_4,C_2×C_2×C_2。
这些有限阿贝尔群都同构于循环群或者循环群的直积,并且每个循环群的阶都是一个素数的方幂,这些循环群的阶组成的有重集合正好是该群阶素数方幂乘积的所有可能组合。 
定理:C_m×C_n是循环群C_m×n的充要条件是(m,n)=1。----群论与初等数论的联系
模n=8有四个互质同余类1,3,5和7,每个平方都是1,所以(Z/8Z)^×=C_2×C_2,此即Klein四元群。
模n=16有八个互质同余类1,3,5,7,9,11,13和15,所以(Z/16Z)^×=C_2×C_4。
#include <iostream>
using namespace std;
/*
> euler(8)
4
模n的剩余类加群(Z/nZ, +n)是一个循环群。
[p]_n∈Z/nZ是Z/nZ的一个生成元当且仅当p与n互素。
若群G的元素均可由子集H中的若干元素经过有限次的二元运算而得到,则称子集H生成群G,并将生成群的子集中最小的称为群G的生成元集。
注意:生成元集不一定唯一!其最小性是相对于集合的基数而言。
若群G的生成元集为{g},则称G为循环群,g称为G的生成元,并记G=<g>。
若g为循环群G的生成元,则G的结构在同构的意义下完全由g的阶所确定:
(1)若g的阶=n,则G=(Z/nZ, +n);
(2)若g的阶=∞,则G=(Z,+)。
循环群G的阶=G的生成元g的阶
整数加群(Z,+)是一个无限循环群,只有两个生成元a和a^-1,其生成元为1或-1,即Z=<1>或Z=<-1>。
*/
//G8ElementToOrder(0)=1
//G8ElementToOrder(1)=2
//G8ElementToOrder(2)=4
//G8ElementToOrder(3)=4
//G8ElementToOrder(4)=8
//G8ElementToOrder(5)=8
//G8ElementToOrder(6)=8
//G8ElementToOrder(7)=8
int g_C8Mul[8][8]={
{0, 1, 2, 3, 4, 5, 6, 7},
{1, 0, 3, 2, 5, 4, 7, 6},
{2, 3, 1, 0, 6, 7, 5, 4},
{3, 2, 0, 1, 7, 6, 4, 5},
{4, 5, 6, 7, 2, 3, 1, 0},
{5, 4, 7, 6, 3, 2, 0, 1},
{6, 7, 5, 4, 1, 0, 3, 2},
{7, 6, 4, 5, 0, 1, 2, 3}
};
 
//G8ElementToOrder(0=[0]_8)=1
//G8ElementToOrder(1=[1]_8)=8
//G8ElementToOrder(2=[2]_8)=4
//G8ElementToOrder(3=[3]_8)=8
//G8ElementToOrder(4=[4]_8)=2
//G8ElementToOrder(5=[5]_8)=8
//G8ElementToOrder(6=[6]_8)=4
//G8ElementToOrder(7=[7]_8)=8
int g_C8Mul_2[8][8]={
{0,1,2,3,4,5,6,7},
{1,2,3,4,5,6,7,0},
{2,3,4,5,6,7,0,1},
{3,4,5,6,7,0,1,2},
{4,5,6,7,0,1,2,3},
{5,6,7,0,1,2,3,4},
{6,7,0,1,2,3,4,5},
{7,0,1,2,3,4,5,6}
};
//G8ElementToOrder(0)=1
//G8ElementToOrder(1)=2
//G8ElementToOrder(2)=2
//G8ElementToOrder(3)=2
//G8ElementToOrder(4)=4
//G8ElementToOrder(5)=4
//G8ElementToOrder(6)=4
//G8ElementToOrder(7)=4
int g_C2C4Mul[8][8]={
{0, 1, 2, 3, 4, 5, 6, 7},
{1, 0, 3, 2, 5, 4, 7, 6},
{2, 3, 0, 1, 6, 7, 4, 5},
{3, 2, 1, 0, 7, 6, 5, 4},
{4, 5, 6, 7, 1, 0, 3, 2},
{5, 4, 7, 6, 0, 1, 2, 3},
{6, 7, 4, 5, 3, 2, 1, 0},
{7, 6, 5, 4, 2, 3, 0, 1}
};
//G8ElementToOrder(0=[1]_16)=1
//G8ElementToOrder(1=[3]_16)=4
//G8ElementToOrder(2=[5]_16)=4
//G8ElementToOrder(3=[7]_16)=2
//G8ElementToOrder(4=[9]_16)=2
//G8ElementToOrder(5=[11]_16)=4
//G8ElementToOrder(6=[13]_16)=4
//G8ElementToOrder(7=[15]_16)=2
int g_C2C4Mul_2[8][8]={
{0,1,2,3,4,5,6,7},
{1,4,7,2,5,0,3,6},
{2,7,4,1,6,3,0,5},
{3,2,1,0,7,6,5,4},
{4,5,6,7,0,1,2,3},
{5,0,3,6,1,4,7,2},
{6,3,0,5,2,7,4,1},
{7,6,5,4,3,2,1,0}
};
//G8ElementToOrder(0)=1
//G8ElementToOrder(1)=2
//G8ElementToOrder(2)=2
//G8ElementToOrder(3)=2
//G8ElementToOrder(4)=2
//G8ElementToOrder(5)=2
//G8ElementToOrder(6)=2
//G8ElementToOrder(7)=2
int g_C2C2C2Mul[8][8]={
{0, 1, 2, 3, 4, 5, 6, 7},
{1, 0, 3, 2, 5, 4, 7, 6},
{2, 3, 0, 1, 6, 7, 4, 5},
{3, 2, 1, 0, 7, 6, 5, 4},
{4, 5, 6, 7, 0, 1, 2, 3},
{5, 4, 7, 6, 1, 0, 3, 2},
{6, 7, 4, 5, 2, 3, 0, 1},
{7, 6, 5, 4, 3, 2, 1, 0}
};
/*
群D_4:
  元素,1,a,a^2,a^3,b,ab,a^2b,a^3b
  阶数,1,4,2,4,2,2,2,2
*/
//G8ElementToOrder(0)=1
//G8ElementToOrder(1)=2
//G8ElementToOrder(2)=2
//G8ElementToOrder(3)=2
//G8ElementToOrder(4)=2
//G8ElementToOrder(5)=2
//G8ElementToOrder(6)=4
//G8ElementToOrder(7)=4
int g_D4Mul[8][8]={
{0, 1, 2, 3, 4, 5, 6, 7},
{1, 0, 3, 2, 5, 4, 7, 6},
{2, 3, 0, 1, 7, 6, 5, 4},
{3, 2, 1, 0, 6, 7, 4, 5},
{4, 5, 6, 7, 0, 1, 2, 3},
{5, 4, 7, 6, 1, 0, 3, 2},
{6, 7, 4, 5, 3, 2, 1, 0},
{7, 6, 5, 4, 2, 3, 0, 1}
};
//G8ElementToOrder(0)=1
//G8ElementToOrder(1)=2
//G8ElementToOrder(2)=4
//G8ElementToOrder(3)=4
//G8ElementToOrder(4)=4
//G8ElementToOrder(5)=4
//G8ElementToOrder(6)=4
//G8ElementToOrder(7)=4
int g_Q8Mul[8][8]={
{0, 1, 2, 3, 4, 5, 6, 7},
{1, 0, 3, 2, 5, 4, 7, 6},
{2, 3, 1, 0, 7, 6, 4, 5},
{3, 2, 0, 1, 6, 7, 5, 4},
{4, 5, 6, 7, 1, 0, 3, 2},
{5, 4, 7, 6, 0, 1, 2, 3},
{6, 7, 5, 4, 2, 3, 1, 0},
{7, 6, 4, 5, 3, 2, 0, 1}
};
/*
Q_8=<a,b|a^4=1,a^2=b^2,b^(-1)ab=a^(-1)>
令a=i,b=j
1阶元素:1
4阶元素:a=i,b=j,a^3=-i,a^2b=b^3=-j,ab=k,a^3b=-k
2阶元素:a^2=b^2=-1
-jij=-i=-jk
所以,群Q_8:
元素,1,a,a^2,a^3,b,ab,a^2b,a^3b
阶数,1,4,2,4,4,4,4,4
群Q_8:
  元素,1,a,a^2,a^3,b,ab,a^2b,a^3b
  阶数,1,4,2,4,4,4,4,4
 Q_8={1,-1,i,-i,j,-j,k,-k},
  O=1,I=-1;A,B互为乘法逆元;D,E互为乘法逆元;C,F互为乘法逆元;
  AC=D,CA=E,令A=i,B=-i,C=j,F=-j,
  得D=k,E=-k。
  ----8阶非交换群Q_8的乘法运算表----
  1*1=1 1*-1=-1 1*i=i 1*-i=-i 1*j=j 1*k=k 1*-k=-k 1*-j=-j
  -1*1=-1 -1*-1=1 -1*i=-i -1*-i=i -1*j=-j -1*k=-k -1*-k=k -1*-j=j
  i*1=i i*-1=-i i*i=-1 i*-i=1 i*j=k i*k=-j i*-k=j i*-j=-k
  -i*1=-i -i*-1=i -i*i=1 -i*-i=-1 -i*j=-k -i*k=j -i*-k=-j -i*-j=k
  j*1=j j*-1=-j j*i=-k j*-i=k j*j=-1 j*k=i j*-k=-i j*-j=1
  k*1=k k*-1=-k k*i=j k*-i=-j k*j=-i k*k=-1 k*-k=1 k*-j=i
  -k*1=-k -k*-1=k -k*i=-j -k*-i=j -k*j=i -k*k=1 -k*-k=-1 -k*-j=-i
  -j*1=-j -j*-1=j -j*i=k -j*-i=-k -j*j=1 -j*k=-i -j*-k=i -j*-j=-1
*/
//群元:1,i,j,-1,-i,-j,k,-k
//群元的阶:1,4,4,2,4,4,4,4
int g_Q8Elem_2[8]={0,1,2,3,4,5,6,7};
/*
定义:考虑两个群G_1到G_2。设g_1a∈G_1,g_2b∈G_2,
定义G_1到G_2的直积群G的元素g_ab为:g_ab=g_1ag_2b=g_2bg_1a,
定义直积群的乘法运算为:
g_abg_a'b'=(g_1ag_2b)(g_1a'g_2b')=(g_1ag_1a')(g_2bg_2b')=(g_2bg_2b')(g_1ag_1a')
满足群的四个条件,单位元素为e_1e_2。所有的元素g_ab按上述乘法运算构成群G_1和G_2的直积群,记为G=G_1(×)G_2。
*/
 // 未知8阶群的群元的阶
 int getG8EOrder(int a)
 {
  if(a<0||a>=8)
 return -1;
  int t=0;
  for(int i=1;i<=8;i++)
  {
   t=g_C8Mul[t][a];
   //t=g_C2C4Mul[t][a];
   //t=g_C2C2C2Mul[t][a];
   //t=g_D4Mul[t][a];
   //t=g_Q8Mul[t][a];
   if(t==0)
    return i;
  }
  return -1;
 }
int main()
{
  for(int i=0;i<8;i++)
{
printf("G8ElementToOrder(%d)=%d\n",i,getG8EOrder(i));
}
system("pause");
return 0;

/*
p^2阶环:加群是C_p^2或C_p×C_p
对任意素数p,有11种p^2阶环。
A=<a;p^2a=0,a^2=a>=Z_p^2
B=<a;p^2a=0,a^2=pa>
C=<a;p^2a=0,a^2=0>=C_p^2(0)
D=<a,b;pa=pb=0,a^2=a,b^2=b,ab=ba=0>=Z_p+Z_p
E=<a,b;pa=pb=0,a^2=a,b^2=b,ab=a,ba=b> 
F=<a,b;pa=pb=0,a^2=a,b^2=b,ab=b,ba=a> 
G=<a,b;pa=pb=0,a^2=0,b^2=b,ab=a,ba=a> 
H=<a,b;pa=pb=0,a^2=0,b^2=b,ab=ba=0>=Z_p+C_p(0)
I=<a,b;pa=pb=0,a^2=b,ab=0>
J=<a,b;pa=pb=0,a^2=b^2=0>=C_p×C_p(0)
K=GF(p^2)=p^2阶有限域
如果p≠2,K=<a,b;pa=pb=0,a^2=a,b^2=ja,ab=b,ba=b>,这里j不是模p的平方根
如果p=2,K=<a,b;2a=2b=0,a^2=a,b^2=a+b,ab=b,ba=b>
A,B,C这3个环的加群是C_p^2,也就是p^2阶循环环。
剩余8个环的加群是C_p×C_p,是有限域F_p上的2维向量空间。
p^n阶有限幺环分类:
n=1时,只有1个:Z/pZ=Z/<p>
n=2时,有4个:Z/p^2Z,F_p^2,Z/pZ×Z/pZ,Z/pZ[X]/(X^2)
n=3时,8阶幺环有11个,27阶、125阶幺环有12个,它们中的非交换幺环是F_p上的2*2上三角方阵环。
素数p阶有限环只有2个:Z/pZ和C_p(0)
有限环与无限环的分类、结构与表示
注意:同一个群可以强抽象出不同构的多个环。
1阶环即零环{0}
2阶环有2个:Z_2=GF(2)和M_2=M_2(M_2^+=C_2)(称为加群为C_2的2阶零乘环)。它们都是C_2的强抽象。
3阶环有2个:Z_3=GF(3)和M_3=M_3(M_3^+=C_3)(称为加群为C_3的3阶零乘环)。Z_6的子环R={[0],[2],[4]}=Z_3=GF(3)与Z_9的子环S={[0],[3],[6]}=M_3=M_3(M_3^+=C_3)都是3阶循环环,但它们不同构。[作为加群同构但作为环不同构的有限循环环的例子]

8-16阶有限环(<=20100918):

G8有5个;R8有52个:
Z_8
Z_4×Z_2
Z_2×Z_2×Z_2
D_8
Q_8

G10有2个;R10有4个,都是循环环,都从C_10强抽象而来:
Z_10
D_10

G12有5个;R12有22个
Z_12
Z_6×Z_2
A_4
D_12
Q_12

G14有2个;R14有4个,都是循环环,都从C_14强抽象而来

G15有1个;R15有4个,都是循环环,都从C_15强抽象而来

其他:
G16有14个;R16有390个
M_2(F_2)是一个16阶的非交换环。
它的加法群是C_2×C_2×C_2×C_2。
它有一个由上三角2*2矩阵构成的8阶子环,这个子环是非交换的。
环元编号——上三角2*2矩阵
0——{{0,0},{0,0}}
1——{{1,0},{0,0}}
2——{{0,1},{0,0}}
3——{{1,1},{0,0}}
4——{{0,0},{0,1}}
5——{{1,0},{0,1}}
6——{{0,1},{0,1}}
7——{{1,1},{0,1}}
1*2=2≠0=2*1
{0,1,2,3}构成1个4阶的非交换无幺环{<}M_2(F_2),是阶数最小的非交换无幺环。
G24有15个;R24有104个
G32有51个;
G64有267个(1990年);
G128有2328个(1990年);
G256有56092个(1991年);
G512有多少个?
——能检验计算机的计算能力
4种6阶(循环)环的环直积表示、理想子环表示
以下4种不同构的6阶环的一种系统命名编号为:
ring 6.u.1=Z_6={[0],[1],[2],[3],[4],[5]},
ring 6.Nu.1=M_6(M_6^+=C_6)={[0],[6],[12],[18],[24],[30]},
ring 6.Nu.2=R_2(R_2^+=C_6)={[0],[2],[4],[6],[8],[10]},
ring 6.Nu.3=R_3(R_3^+=C_6)={[0],[3],[6],[9],[12],[15]}。
R_pq是一个零乘环  
R_p=R_2={[0],[2],[4],[6],[8],[10]}映Z_12
R_q=R_3={[0],[3],[6],[9],[12],[15]}映Z_18
R_pq=R_6={[0],[6],[12],[18],[24],[30]}映Z_36


结论:
M_3×F_2同构于Z/18Z的6阶子环{0,3,6,9,12,15}
F_3×M_2同构于Z/12Z的6阶子环{0,2,4,6,8,10}
M_3×M_2即6阶零乘环,同构于Z/36Z的6阶子环{0,6,12,18,24,30}
F_3×F_2同构于Z/6Z
int g_M3F2Add[6][6]={
{0,1,2,3,4,5},
{1,0,3,2,5,4},
{2,3,4,5,0,1},
{3,2,5,4,1,0},
{4,5,0,1,2,3},
{5,4,1,0,3,2},
};
int g_M3F2Mul[6][6]={
{0,0,0,0,0,0},
{0,1,0,1,0,1},
{0,0,0,0,0,0},
{0,1,0,1,0,1},
{0,0,0,0,0,0},
{0,1,0,1,0,1},
};
/*
Z_18的一个6阶子环ring 6.Nu.3=R_3(R_3^+=C_6)={[0],[3],[6],[9],[12],[15]},
运算为模18加与模18乘
非零零因子个数:5([3],[6],[9],[12],[15])
*/
int g_M3F2_R3Add[6][6]={
 {0,1,2,3,4,5},
 {1,2,3,4,5,0},
 {2,3,4,5,0,1},
 {3,4,5,0,1,2},
 {4,5,0,1,2,3},
 {5,0,1,2,3,4}
};
int g_M3F2_R3Mul[6][6]={
 {0,0,0,0,0,0},
 {0,3,0,3,0,3},
 {0,0,0,0,0,0},
 {0,3,0,3,0,3},
 {0,0,0,0,0,0},
 {0,3,0,3,0,3},
};
int g_M3M2Add[6][6]={
{0,1,2,3,4,5},
{1,0,3,2,5,4},
{2,3,4,5,0,1},
{3,2,5,4,1,0},
{4,5,0,1,2,3},
{5,4,1,0,3,2},
};
int g_M3M2Mul[6][6]={
{0,0,0,0,0,0},
{0,0,0,0,0,0},
{0,0,0,0,0,0},
{0,0,0,0,0,0},
{0,0,0,0,0,0},
{0,0,0,0,0,0},
};
/*
Z_36的一个6阶子环ring 6.Nu.1=M_6(M_6^+=C_6)={[0],[6],[12],[18],[24],[30]},
运算为模36加与模36乘
零乘环
*/
int g_M3M2_M6Add[6][6]={
 {0,1,2,3,4,5},
 {1,2,3,4,5,0},
 {2,3,4,5,0,1},
 {3,4,5,0,1,2},
 {4,5,0,1,2,3},
 {5,0,1,2,3,4}
};
int g_M3M2_M6Mul[6][6]={
 {0,0,0,0,0,0},
 {0,0,0,0,0,0},
 {0,0,0,0,0,0},
 {0,0,0,0,0,0},
 {0,0,0,0,0,0},
 {0,0,0,0,0,0}
};

int g_F3M2Add[6][6]={
{0,1,2,3,4,5},
{1,0,3,2,5,4},
{2,3,4,5,0,1},
{3,2,5,4,1,0},
{4,5,0,1,2,3},
{5,4,1,0,3,2},
};
int g_F3M2Mul[6][6]={
{0,0,0,0,0,0},
{0,0,0,0,0,0},
{0,0,2,2,4,4},
{0,0,2,2,4,4},
{0,0,4,4,2,2},
{0,0,4,4,2,2},
};

/*
Z_12的一个6阶子环ring 6.Nu.2=R_2(R_2^+=C_6)={[0],[2],[4],[6],[8],[10]},
运算为模12加与模12乘
非零零因子个数:5([2],[4],[6],[8],[10])
*/
int g_F3M2_R2Add[6][6]={
 {0,1,2,3,4,5},
 {1,2,3,4,5,0},
 {2,3,4,5,0,1},
 {3,4,5,0,1,2},
 {4,5,0,1,2,3},
 {5,0,1,2,3,4}
};
int g_F3M2_R2Mul[6][6]={
 {0,0,0,0,0,0},
 {0,2,4,0,2,4},
 {0,4,2,0,4,2},
 {0,0,0,0,0,0},
 {0,2,4,0,2,4},
 {0,4,2,0,4,2}
};
int g_F3F2Add[6][6]={
{0,1,2,3,4,5},
{1,0,3,2,5,4},
{2,3,4,5,0,1},
{3,2,5,4,1,0},
{4,5,0,1,2,3},
{5,4,1,0,3,2},
};
int g_F3F2Mul[6][6]={
{0,0,0,0,0,0},
{0,1,0,1,0,1},
{0,0,2,2,4,4},
{0,1,2,3,4,5},
{0,0,4,4,2,2},
{0,1,4,5,2,3},
};
/*
ring 6.u.1=Z_6={[0],[1],[2],[3],[4],[5]}
运算为模6加与模6乘
非零零因子个数:3([[2],[3],[4]])
*/
int g_F3F2_Z6Add[6][6]={
 {0,1,2,3,4,5},
 {1,2,3,4,5,0},
 {2,3,4,5,0,1},
 {3,4,5,0,1,2},
 {4,5,0,1,2,3},
 {5,0,1,2,3,4}
};
int g_F3F2_Z6Mul[6][6]={
 {0,0,0,0,0,0},
 {0,1,2,3,4,5},
 {0,2,4,0,2,4},
 {0,3,0,3,0,3},
 {0,4,2,0,4,2},
 {0,5,4,3,2,1}
};
设R_1,R_2是环,对任意<a,b>,<c,d>∈R_1×R_2,
令<a,b>+<c,d>=<a+c,b+d>
<a,b>·<c,d>=<ac,bd>,不难验证R_1×R_2关于+和·运算构成一个环,称为环R_1和R_2直积,记作R_1×R_2。
可以证明,若R_1和R_2是交换环和含幺环,则R_1×R_2也是交换环和含幺环。
但是,若R_1和R_2是无零因子环,则R_1×R_2不一定是无零因子环。
例如F_3和F_2是无零因子环,但是F_3×F_2就不是无零因子环。
因此,我们可以说整环的直积不一定是整环。
#ifndef R2_H
#define R2_H
/*
零环{0}是整环【一种约定而已】但不是域,是C_1的强抽象;1阶环{0}只包含一个元0,加法和乘法规定为0+0=0,0*0=0
C_2可强抽象为的2阶环有2个:F_2和M_2
*/
extern int g_F2Add[2][2];
extern int g_F2Mul[2][2];
extern int g_M2Add[2][2];
extern int g_M2Mul[2][2];
#endif
#include"R2.h"
/*
F_2的运算表:
奇偶数加减乘公式:
0(偶)±0=0
0±1(奇)=1
1±1=0
a×0=0
1×1=1
a-b=a+b
*/
int g_F2Add[2][2]={
 {0,1},
 {1,0}
};
int g_F2Mul[2][2]={
 {0,0},
 {0,1}
};
int g_M2Add[2][2]={
 {0,1},
 {1,0}
};
int g_M2Mul[2][2]={
 {0,0},
 {0,0}
};

#ifndef R3_H
#define R3_H
/*
C_3可强抽象为的3阶环有2个:F_3和M_3
*/
extern int g_F3Add[3][3];
extern int g_F3Mul[3][3];
extern int g_M3Add[3][3];
extern int g_M3Mul[3][3];
#endif

#include"R3.h"
int g_F3Add[3][3]={
 {0,1,2},
 {1,2,0},
 {2,0,1}
};
int g_F3Mul[3][3]={
 {0,0,0},
 {0,1,2},
 {0,2,1}
};
int g_M3Add[3][3]={
 {0,1,2},
 {1,2,0},
 {2,0,1}
};
int g_M3Mul[3][3]={
 {0,0,0},
 {0,0,0},
 {0,0,0}
};
低阶有限环(Z/nZ的理想、M_2(F_2)的4阶子环、8阶子环)有限环与无限环的分类、结构与表示
注意:同一个群可以强抽象出不同构的多个环。
1阶环即零环{0}
2阶环有2个:Z_2=GF(2)和M_2=M_2(M_2^+=C_2)(称为加群为C_2的2阶零乘环)。二阶环有2个:Z_2=GF(2),M_2(代表2阶零乘环),它们都是C_2的强抽象。
3阶环有2个:Z_3=GF(3)和M_3=M_3(M_3^+=C_3)(称为加群为C_3的3阶零乘环)。Z_6的子环R={[0],[2],[4]}=Z_3=GF(3)与Z_9的子环S={[0],[3],[6]}=M_3=M_3(M_3^+=C_3)都是3阶循环环,但它们不同构。[作为加群同构但作为环不同构的有限循环环的例子]

4阶环有11个:一种系统命名编号为ring 4.u.1=Z_4,ring 4.Nu.1=M_4(M_4^+=C_4),ring 4.Nu.2,ring 22.u.1,ring 22.u.2,ring 22.u.3=GF(4),ring 22.Nu.1=M_4(M_4^+=V),ring 22.Nu.2,ring 22.Nu.3,ring 22.NC.1,ring 22.NC.2。3个4阶环由C_4强抽象而得(都是循环环),8个4阶环由C_2×C_2强抽象而得(非循环交换环、非交换环)。

F_2×F_2={0=(0,0),3=(1,0),2=(0,1),1=(1,1)} ,有零因子,4个幂等元

加法运算表:

+

(0,0)=0

(1,0)=3

(0,1)=2

(1,1)=1

(0,0)=0

(0,0)

(1,0)

(0,1)

(1,1)

(1,0)=3

 

(0,0)

(1,1)

(0,1)

(0,1)=2

 

 

(0,0)

(1,0)

(1,1)=1

 

 

 

(0,0)

乘法运算表

*

(0,0)=0

(1,0)=3

(0,1)=2

(1,1)=1

(0,0)=0

(0,0)

(0,0)

(0,0)

(0,0)

(1,0)=3

 

(1,0)=3

(0,0)

(1,0)=3

(0,1)=2

 

 

(0,1)=2

(0,1)=2

(1,1)=1

 

3

2

(1,1)=1 

#ifndef R4_H
#define R4_H
/*
4阶循环环有T(4)=|{1,2,4}|=3个:
R4_A=ring 4.u.1=Z_4的运算为模4加与模4乘
R4_C=ring 4.Nu.1=M_4(M_4^+=C_4)
R4_B=ring 4.Nu.2=Z/8Z的4阶子环{0,2,4,6},运算为模8加与模8乘
*/
extern int g_A4Add[4][4];
extern int g_A4Mul[4][4];
extern int g_C4Add[4][4];
extern int g_C4Mul[4][4];
extern int g_B4Add[4][4];
extern int g_B4Mul[4][4];
/*
4阶非循环环有8个:
R4_K=ring 22.u.3=F_4=GF(4)={0={{0,0},{0,0}},1={{1,0},{0,1}},2={{1,1},{1,0}},3={{0,1},{1,1}}}
R4_J=ring 22.Nu.1=M_4(M_4^+=V)
R4_D=ring 22.u.1=F_2×F_2={0=(0,0),3=(1,0),2=(0,1),1=(1,1)}={0={{0,0},{0,0}},1={{1,0},{0,1}},2={{0,0},{0,1}},3={{1,0},{0,0}}},有零因子,4个幂等元
R4_P=ring 22.NC.1={0={{0,0},{0,0}},1={{1,0},{0,0}},2={{1,0},{1,0}},3={{0,0},{1,0}}},是16阶环M_2(Z_2)的一个子环
R4_X=ring 22.u.2=F_2+uF_2={0={{0,0},{0,0}},1={{1,0},{0,1}},2={{0,1},{1,0}},3={{1,1},{1,1}}}
ring 22.Nu.2
ring 22.Nu.3
R4_Y=ring 22.NC.2={0={{0,0},{0,0}},1={{1,0},{0,0}},2={{1,1},{0,0}},3={{0,1},{0,0}}},是16阶环M_2(Z_2)的一个子环
*/
extern int g_K4Add[4][4];
extern int g_K4Mul[4][4];
extern int g_J4Add[4][4];
extern int g_J4Mul[4][4];
extern int g_D4Add[4][4];
extern int g_D4Mul[4][4];
extern int g_X4Add[4][4];
extern int g_X4Mul[4][4];
extern int g_Y4Add[4][4];
extern int g_Y4Mul[4][4];
extern int g_P4Add[4][4];
extern int g_P4Mul[4][4];
#endif
#include"R4.h"

int g_A4Add[4][4]={
 {0,1,2,3},
 {1,2,3,0},
 {2,3,1,0},
 {3,0,1,2}
};

int g_A4Mul[4][4]={
 {0,0,0,0},
 {0,1,2,3},
 {0,2,0,2},
 {0,3,2,1}
};
int g_C4Add[4][4]={
 {0,1,2,3},
 {1,2,3,0},
 {2,3,1,0},
 {3,0,1,2}
};

int g_C4Mul[4][4]={
 {0,0,0,0},
 {0,0,0,0},
 {0,0,0,0},
 {0,0,0,0}
};
int g_B4Add[4][4]={
 {0,1,2,3},
 {1,2,3,0},
 {2,3,1,0},
 {3,0,1,2}
};

int g_B4Mul[4][4]={
 {0,0,0,0},
 {0,2,0,2},
 {0,0,0,0},
 {0,2,0,2}
};
int g_K4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0}
};
int g_K4Mul[4][4]={
 {0,0,0,0},
 {0,1,2,3},
 {0,2,3,1},
 {0,3,1,2}
};
int g_J4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0}
};
int g_J4Mul[4][4]={
 {0,0,0,0},
 {0,0,0,0},
 {0,0,0,0},
 {0,0,0,0}
};
int g_D4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0}
};
int g_D4Mul[4][4]={
 {0,0,0,0},
 {0,1,2,3},
 {0,2,2,0},
 {0,3,0,3}
};
D4=F2F2
int g_F2F2Add[4][4]={
{0,1,2,3},
{1,0,3,2},
{2,3,0,1},
{3,2,1,0},
};
int g_F2F2Mul[4][4]={
{0,0,0,0},
{0,1,0,1},
{0,0,2,2},
{0,1,2,3},
};
int g_X4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0}
};
//int g_X4Mul[4][4]={
// {0,0,0,0},
// {0,1,2,3},
// {0,2,1,0},//这一行第3个元素变了
// {0,3,0,0}//这一行第4个元素变了
//};
int g_X4Mul[4][4]={
 {0,0,0,0},
 {0,1,2,3},
 {0,2,1,3},
 {0,3,3,0},
};
int g_Y4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0},
};
int g_Y4Mul[4][4]={
 {0,0,0,0},
 {0,1,2,3},
 {0,1,2,3},
 {0,0,0,0},
};
int g_P4Add[4][4]={
 {0,1,2,3},
 {1,0,3,2},
 {2,3,0,1},
 {3,2,1,0},
};
int g_P4Mul[4][4]={
 {0,0,0,0},
 {0,1,1,0},
 {0,2,2,0},
 {0,3,3,0},
}; 
int g_M2F2Add[4][4]={
{0,1,2,3},
{1,0,3,2},
{2,3,0,1},
{3,2,1,0},
};
int g_M2F2Mul[4][4]={
{0,0,0,0},
{0,1,0,1},
{0,0,0,0},
{0,1,0,1},
};
int g_M2M2Add[4][4]={
{0,1,2,3},
{1,0,3,2},
{2,3,0,1},
{3,2,1,0},
};
int g_M2M2Mul[4][4]={
{0,0,0,0},
{0,0,0,0},
{0,0,0,0},
{0,0,0,0},
};
20140330问题:对于二元扩域GF(2^m),根据F_2[x]中的不可约多项式p(x)求域GF(2^m)的乘法运算表,或反之,根据域GF(2^m)的乘法运算表求对应的F_2[x]中的不可约多项式p(x)?
/*
系数属于F_2={0,1}的所有有实际意义的三次、二次方程。
 方程,因式分解,解
 x^3+1=0,在F_2中有一根:x_1=1
 x^3+x+1=0,在F_2中无根
 x^3+x^2+1=0,在F_2中无根
 x^3+x^2+x+1=0,在F_2中有一根:x_1=1
 x^2+1=0,在F_2中有一根:x_1=1
 x^2+x+1=0,在F_2中无根
 在我研究的这个域内没有解的方程称为不可约的。你可以看到系数在0,1域中的六个有意义的方程中有三个是不可约的。
*/
 //x^3+1=0,
 //x^3+x+1=0,
 //x^3+x^2+1=0,
 //x^3+x^2+x+1=0,
 //x^2+1=0,
 //x^2+x+1=0,
 vector<int> retVec001=FindrootInFp(Polygon3,2,0,0,1);//1,即x^3+1=0在F_2中有一根:x_1=1
 vector<int> retVec011=FindrootInFp(Polygon3,2,0,1,1);//空,即x^3+x+1=0在F_2中无根
 vector<int> retVec101=FindrootInFp(Polygon3,2,1,0,1);//空,即x^3+x^2+1=0在F_2中无根
 vector<int> retVec111=FindrootInFp(Polygon3,2,1,1,1);//1,即x^3+x^2+x+1=0在F_2中有一根:x_1=1
 vector<int> retVec00_01=FindrootInFp(Polygon2,2,0,1);//1,即x^2+1=0在F_2中有一根:x_1=1
 vector<int> retVec00_11=FindrootInFp(Polygon2,2,1,1);//空,即x^2+x+1=0在F_2中无根
 2.记F=F_2是含2个元素的域,证明多项式x^2+1在多项式环F[x]中可约,而x^2+x+1在多项式环F[x]中不可约。
3.假定F=F_2,α是F[x]中不可约多项式x^2+x+1的一个根,证明F(α)={0,1,α,1+α}是一个含4个元素的域。求多项式x^2+x+1的另一个根。
4.假定F=F_2,求F[x]中所有3次不可约多项式。
在有限域F_2中,5次不可约多项式x^5+x^2+1的[模乘法]阶是31=2^5-1。
F_2中1-5次不可约多项式列表:
1,1+x,x
2,1+x+x^2
3,1+x+x^3,1+x^2+x^3
4,1+x+x^4,1+x+x^2+x^3+x^4,1+x^3+x^4
5,1+x^2+x^5,1+x+x^2+x^3+x^5,1+x^3+x^5,1+x+x^3+x^4+x^5,1+x^2+x^3+x^4+x^5,1+x+x^2+x^4+x^5
*/

在F_2中,
x^3+1=(x-1)^3,
x^3+x+1=(x-a)(x-b)(x-c)
x^3+x^2+1=(x-a)(x-b)(x-c) 
x^2+1=(x-1)^2,
[
x^2+x+1=(x-a)(x-b)=x^2-(a+b)x+ab,
F_2的扩域记为F_2(a)=F_2(a,b),a(a+1)=a^2+a=a+b=1=-1,ab=1。
b=a^2=(a+1),a^3=1
所以F_2(a)={0,1,a,1+a}
]

new:
F8
0——000——000
1——001——111
2——010——001
3——011——010
4——100——110
5——101——011
6——110——100
7——111——101
-000=000 -101=101 -001=001 -010=010 -100=100 -011=011 -110=110 -111=111
----加法运算表----
0+0=0 0+5=5 0+1=1 0+2=2 0+4=4 0+3=3 0+6=6 0+7=7
5+0=5 5+5=0 5+1=4 5+2=7 5+4=1 5+3=6 5+6=3 5+7=2
1+0=1 1+5=4 1+1=0 1+2=3 1+4=5 1+3=2 1+6=7 1+7=6
2+0=2 2+5=7 2+1=3 2+2=0 2+4=6 2+3=1 2+6=4 2+7=5
4+0=4 4+5=1 4+1=5 4+2=6 4+4=0 4+3=7 4+6=2 4+7=3
3+0=3 3+5=6 3+1=2 3+2=1 3+4=7 3+3=0 3+6=5 3+7=4
6+0=6 6+5=3 6+1=7 6+2=4 6+4=2 6+3=5 6+6=0 6+7=1
7+0=7 7+5=2 7+1=6 7+2=5 7+4=3 7+3=4 7+6=1 7+7=0 

0+0=0 0+7=7 0+1=1 0+2=2 0+6=6 0+3=3 0+4=4 0+5=5
7+0=7 7+7=0 7+1=6 7+2=5 7+6=1 7+3=4 7+4=3 7+5=2
1+0=1 1+7=6 1+1=0 1+2=3 1+6=7 1+3=2 1+4=5 1+5=4
2+0=2 2+7=5 2+1=3 2+2=0 2+6=4 2+3=1 2+4=6 2+5=7
6+0=6 6+7=1 6+1=7 6+2=4 6+6=0 6+3=5 6+4=2 6+5=3
3+0=3 3+7=4 3+1=2 3+2=1 3+6=5 3+3=0 3+4=7 3+5=6
4+0=4 4+7=3 4+1=5 4+2=6 4+6=2 4+3=7 4+4=0 4+5=1
5+0=5 5+7=2 5+1=4 5+2=7 5+6=3 5+3=6 5+4=1 5+5=0
等同于按位异或运算
000+000=000 000+101=101 000+001=001 000+010=010 000+100=100 000+011=011 000+110=110 000+111=111
101+000=101 101+101=000 101+001=100 101+010=111 101+100=001 101+011=110 101+110=011 101+111=010
001+000=001 001+101=100 001+001=000 001+010=011 001+100=101 001+011=010 001+110=111 001+111=110
010+000=010 010+101=111 010+001=011 010+010=000 010+100=110 010+011=001 010+110=100 010+111=101
100+000=100 100+101=001 100+001=101 100+010=110 100+100=000 100+011=111 100+110=010 100+111=011
011+000=011 011+101=110 011+001=010 011+010=001 011+100=111 011+011=000 011+110=101 011+111=100
110+000=110 110+101=011 110+001=111 110+010=100 110+100=010 110+011=101 110+110=000 110+111=001
111+000=111 111+101=010 111+001=110 111+010=101 111+100=011 111+011=100 111+110=001 111+111=000
----乘法运算表----
000*000=000 000*101=000 000*001=000 000*010=000 000*100=000 000*011=000 000*110=000 000*111=000
101*000=000 101*101=101 101*001=001 101*010=010 101*100=100 101*011=011 101*110=110 101*111=111
001*000=000 001*101=001 001*001=010 001*010=100 001*100=011 001*011=110 001*110=111 001*111=101
010*000=000 010*101=010 010*001=100 010*010=011 010*100=110 010*011=111 010*110=101 010*111=001
100*000=000 100*101=100 100*001=011 100*010=110 100*100=111 100*011=101 100*110=001 100*111=010
011*000=000 011*101=011 011*001=110 011*010=111 011*100=101 011*011=001 011*110=010 011*111=100
110*000=000 110*101=110 110*001=111 110*010=101 110*100=001 110*011=010 110*110=100 110*111=011
111*000=000 111*101=111 111*001=101 111*010=001 111*100=010 111*011=100 111*110=011 111*111=110
 【
1*1=2
1*1*1=4
1*1*1*1*1=6
1*1*1*1*1*1*1=5
2*2=3
3*3=1
4*4=7
5*5=5
6*6=4
7*7=6
F_8^×=C_7
001=1——[1]循环群的生成元
010=2——[2]
011=3——[4]
100=4——[3]
101=5——[0]循环群的单位元
110=6——[5]
111=7——[6]

----乘法运算表----
0*0=0 0*5=0 0*1=0 0*2=0 0*4=0 0*3=0 0*6=0 0*7=0
5*0=0 5*5=5 5*1=1 5*2=2 5*4=4 5*3=3 5*6=6 5*7=7
1*0=0 1*5=1 1*1=2 1*2=4 1*4=3 1*3=6 1*6=7 1*7=5
2*0=0 2*5=2 2*1=4 2*2=3 2*4=6 2*3=7 2*6=5 2*7=1
4*0=0 4*5=4 4*1=3 4*2=6 4*4=7 4*3=5 4*6=1 4*7=2
3*0=0 3*5=3 3*1=6 3*2=7 3*4=5 3*3=1 3*6=2 3*7=4
6*0=0 6*5=6 6*1=7 6*2=5 6*4=1 6*3=2 6*6=4 6*7=3
7*0=0 7*5=7 7*1=5 7*2=1 7*4=2 7*3=4 7*6=3 7*7=6
 【
定理:设F是域,p(x)在F上不可约。如果a是p(x)在F的某个扩域E中的根,那么F(a)同构于F[x]/<p(x)>。而且,如果degp(x)=n,那么F(a)中的元都能惟一地表为如下的形式c_(n-1)a^(n-1)+c_(n-2)a^(n-2)+…+c_1a+c_0,其中c_0,c_1,…,c_(n-1)∈F。
20130622问题:证明在有限域中存在不可分多项式?
20130621问题:设a是F_2[x]中不可约多项式x^3+x+1的一个根,求扩域F_2(a)及x^3+x+1的另外两个根b=b(0,1,a),c=c(0,1,a)?
解答:
F_2(a)={0=000,1=111,a=011,a^2=001,1+a=100,1+a^2=110,a+a^2=010,1+a+a^2=101},另外两个根为:b=a^2,c=a+a^2。
关键推导过程:
000*000*000+000+111=111
111*111*111+111+111=111 
001*001*001+001+111=000 
010*010*010+010+111=000 
110*110*110+110+111=011 
011*011*011+011+111=000 
100*100*100+100+111=010 
101*101*101+101+111=001
所以三个根a,b,c为001,010,011
令0=000,1=111,
正确的:a=011,a^2=001,1+a=100=a001,1-a=100=>a=-a,1+a^2=110,a+a^2=010,1+a+a^2=101=111+101
即:八元域F_2(a)={000=0,111=1,011=a,001=a^2,100=1+a,110=1+a^2,010=a+a^2,101=1+a+a^2}
F_2的扩域记为F_2(a)=F_2(a=011,b=001=a^2,c=010=a+a^2)
另外两个根为:b=a^2,c=a+a^2。
----另一种乘法运算表----
000*000=000 000*111=000 000*001=000 000*010=000 000*110=000 000*011=000 000*100=000 000*101=000
111*000=000 111*111=111 111*001=001 111*010=010 111*110=110 111*011=011 111*100=100 111*101=101
001*000=000 001*111=001 001*001=010 001*010=110 001*110=011 001*011=100 001*100=101 001*101=111
010*000=000 010*111=010 010*001=110 010*010=011 010*110=100 010*011=101 010*100=111 010*101=001
110*000=000 110*111=110 110*001=011 110*010=100 110*110=101 110*011=111 110*100=001 110*101=010
011*000=000 011*111=011 011*001=100 011*010=101 011*110=111 011*011=001 011*100=010 011*101=110
100*000=000 100*111=100 100*001=101 100*010=111 100*110=001 100*011=010 100*100=110 100*101=011
101*000=000 101*111=101 101*001=111 101*010=001 101*110=010 101*011=110 101*100=011 101*101=100
----另一种乘法运算表----
0*0=0 0*7=0 0*1=0 0*2=0 0*6=0 0*3=0 0*4=0 0*5=0
7*0=0 7*7=7 7*1=1 7*2=2 7*6=6 7*3=3 7*4=4 7*5=5
1*0=0 1*7=1 1*1=2 1*2=6 1*6=3 1*3=4 1*4=5 1*5=7
2*0=0 2*7=2 2*1=6 2*2=3 2*6=4 2*3=5 2*4=7 2*5=1
6*0=0 6*7=6 6*1=3 6*2=4 6*6=5 6*3=7 6*4=1 6*5=2
3*0=0 3*7=3 3*1=4 3*2=5 3*6=7 3*3=1 3*4=2 3*5=6
4*0=0 4*7=4 4*1=5 4*2=7 4*6=1 4*3=2 4*4=6 4*5=3
5*0=0 5*7=5 5*1=7 5*2=1 5*6=2 5*3=6 5*4=3 5*5=4


第三方库的测试结果:
不可约多项式选用x^3+x^2+1
加法运算表
0+0=0 0+1=1 0+2=2 0+3=3 0+4=4 0+5=5 0+6=6 0+7=7
1+0=1 1+1=0 1+2=3 1+3=2 1+4=5 1+5=4 1+6=7 1+7=6
2+0=2 2+1=3 2+2=0 2+3=1 2+4=6 2+5=7 2+6=4 2+7=5
3+0=3 3+1=2 3+2=1 3+3=0 3+4=7 3+5=6 3+6=5 3+7=4
4+0=4 4+1=5 4+2=6 4+3=7 4+4=0 4+5=1 4+6=2 4+7=3
5+0=5 5+1=4 5+2=7 5+3=6 5+4=1 5+5=0 5+6=3 5+7=2
6+0=6 6+1=7 6+2=4 6+3=5 6+4=2 6+5=3 6+6=0 6+7=1
7+0=7 7+1=6 7+2=5 7+3=4 7+4=3 7+5=2 7+6=1 7+7=0
乘法运算表
0*0=0 0*1=0 0*2=0 0*3=0 0*4=0 0*5=0 0*6=0 0*7=0
1*0=0 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7
2*0=0 2*1=2 2*2=4 2*3=6 2*4=5 2*5=7 2*6=1 2*7=3
3*0=0 3*1=3 3*2=6 3*3=5 3*4=1 3*5=2 3*6=7 3*7=4
4*0=0 4*1=4 4*2=5 4*3=1 4*4=7 4*5=3 4*6=2 4*7=6
5*0=0 5*1=5 5*2=7 5*3=2 5*4=3 5*5=6 5*6=4 5*7=1
6*0=0 6*1=6 6*2=1 6*3=7 6*4=2 6*5=4 6*6=3 6*7=5
7*0=0 7*1=7 7*2=3 7*3=4 7*4=6 7*5=1 7*6=5 7*7=2
 不可约多项式选用x^3+x+1
 加法运算表
0+0=0 0+1=1 0+2=2 0+3=3 0+4=4 0+5=5 0+6=6 0+7=7
1+0=1 1+1=0 1+2=3 1+3=2 1+4=5 1+5=4 1+6=7 1+7=6
2+0=2 2+1=3 2+2=0 2+3=1 2+4=6 2+5=7 2+6=4 2+7=5
3+0=3 3+1=2 3+2=1 3+3=0 3+4=7 3+5=6 3+6=5 3+7=4
4+0=4 4+1=5 4+2=6 4+3=7 4+4=0 4+5=1 4+6=2 4+7=3
5+0=5 5+1=4 5+2=7 5+3=6 5+4=1 5+5=0 5+6=3 5+7=2
6+0=6 6+1=7 6+2=4 6+3=5 6+4=2 6+5=3 6+6=0 6+7=1
7+0=7 7+1=6 7+2=5 7+3=4 7+4=3 7+5=2 7+6=1 7+7=0
乘法运算表
0*0=0 0*1=0 0*2=0 0*3=0 0*4=0 0*5=0 0*6=0 0*7=0
1*0=0 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7
2*0=0 2*1=2 2*2=4 2*3=6 2*4=3 2*5=1 2*6=7 2*7=5
3*0=0 3*1=3 3*2=6 3*3=5 3*4=7 3*5=4 3*6=1 3*7=2
4*0=0 4*1=4 4*2=3 4*3=7 4*4=6 4*5=2 4*6=5 4*7=1
5*0=0 5*1=5 5*2=1 5*3=4 5*4=2 5*5=7 5*6=3 5*7=6
6*0=0 6*1=6 6*2=7 6*3=1 6*4=5 6*5=3 6*6=2 6*7=4
7*0=0 7*1=7 7*2=5 7*3=2 7*4=1 7*5=6 7*6=4 7*7=3
】 
----减法运算表----
000-000=000 000-101=101 000-001=001 000-010=010 000-100=100 000-011=011 000-110=110 000-111=111
101-000=101 101-101=000 101-001=100 101-010=111 101-100=001 101-011=110 101-110=011 101-111=010
001-000=001 001-101=100 001-001=000 001-010=011 001-100=101 001-011=010 001-110=111 001-111=110
010-000=010 010-101=111 010-001=011 010-010=000 010-100=110 010-011=001 010-110=100 010-111=101
100-000=100 100-101=001 100-001=101 100-010=110 100-100=000 100-011=111 100-110=010 100-111=011
011-000=011 011-101=110 011-001=010 011-010=001 011-100=111 011-011=000 011-110=101 011-111=100
110-000=110 110-101=011 110-001=111 110-010=100 110-100=010 110-011=101 110-110=000 110-111=001
111-000=111 111-101=010 111-001=110 111-010=101 111-100=011 111-011=100 111-110=001 111-111=000
----除法运算表----
000/000=error 000/101=000 000/001=000 000/010=000 000/100=000 000/011=000 000/110=000 000/111=000
101/000=error 101/101=101 101/001=111 101/010=110 101/100=011 101/011=100 101/110=010 101/111=001
001/000=error 001/101=001 001/001=101 001/010=111 001/100=110 001/011=011 001/110=100 001/111=010
010/000=error 010/101=010 010/001=001 010/010=101 010/100=111 010/011=110 010/110=011 010/111=100
100/000=error 100/101=100 100/001=010 100/010=001 100/100=101 100/011=111 100/110=110 100/111=011
011/000=error 011/101=011 011/001=100 011/010=010 011/100=001 011/011=101 011/110=111 011/111=110
110/000=error 110/101=110 110/001=011 110/010=100 110/100=010 110/011=001 110/110=101 110/111=111
111/000=error 111/101=111 111/001=110 111/010=011 111/100=100 111/011=010 111/110=001 111/111=101
 
000*000*000+000+101=101 101*101*101+101+101=101 001*001*001+001+101=000 010*010*010+010+101=000 
100*100*100+100+101=011 011*011*011+011+101=000 110*110*110+110+101=010 111*111*111+111+101=001
#include "stdafx.h"
#include "poly.h"
/*
练习作业
方程x^2+1=0在有限域F_2中有1个根x=1,所以多项式x^2+1在多项式环F[x]中可约,而x^2+x+1在多项式环F[x]中不可约。
假定F=Z_2,α是F[x]中不可约多项式x^2+x+1的一个根,证明F(α)={0,1,α,1+α}是一个含4个元素的域。求多项式x^2+x+1的另一个根。
假定F=Z_2,求F[x]中所有3次不可约多项式。
f = x^2+1
g = x^2+x+1
f是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
0
0
g是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
1
1
f = x^8+x^4+x^3+x+1
g = x^8+x^4+x^3+x^2+1
f是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
0
1
g是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
1
1
*/
int main()
{
#if 1
 //Poly f("101"),g("111");
 //AES中f(x)=x^8+x^4+x^3+x+1是GF(2)上的一个非本原不可约多项式,可以构造GF(2^8)
 //g(x)=x^8+x^4+x^3+x^2+1是GF(2)上的一个本原不可约多项式,可以构造GF(2^8)
 Poly f("100011011"),g("100011101");
 cout << "f = " << f << endl;
 cout << "g = " << g << endl;
 cout<<"f是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:"<<endl;
 cout<<f.isZero()<<endl;
 cout<<f.isOne()<<endl;
 cout<<f.isPrimitive()<<endl;
 cout<<f.isIrreducible()<<endl;
 cout<<"g是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:"<<endl;
 cout<<g.isZero()<<endl;
 cout<<g.isOne()<<endl;
 cout<<g.isPrimitive()<<endl;
 cout<<g.isIrreducible()<<endl;
#endif
 system("pause");
 return 0;
}
功能:多项式的乘法
格式:polymul(a,b)
a=[2 1 0]
a =
[ 2.00000000000000    1.00000000000000    0.00000000000000 ]
b=[1 3]
b =
[ 1.00000000000000    3.00000000000000 ]
polymul(a,b)
a=2*x^2+x
b=x+3
a*b=2*x^3+7*x^2+3*x
ans =
[ 2.00000000000000    7.00000000000000    3.00000000000000    0.00000000000000 ]
//多项式a乘以多项式b得到多项式c,deg(a)=m-1,deg(b)=n-1,deg(c)=m+n-2=k
int polymul(int a[],int m,int b[],int n,int c[],int *k)
{
 int i,j;
 *k=m+n-2;
 for(i=0;i<m+n-2;i++)
  c[i]=0;
 for(i=0;i<m;i++)
  for(j=0;j<n;j++)
   c[i+j]=a[i]*b[j]+c[i+j];
 return 0;
}
int main()
{
 int a[3]={0,1,2};//0x^0+1x^1+2x^2
 int b[2]={3,1};//3x^0+1x^1
 const int m=sizeof(a)/sizeof(int);
 const int n=sizeof(b)/sizeof(int);
 int k=0;
 int c[m+n-1]={0};//0x^0+3x^1+7x^2+2x^3
 int ret=polymul(a,m,b,n,c,&k);
 return 0;
}
#include "stdafx.h"
#include "Polynomial.h"//用STL中的list来实现多项式的各种运算
/*
The polynomial is:
0  +1 x^1 +2 x^2
The polynomial is:
3  +1 x^1
The polynomial is:
0  +3 x^1 +7 x^2 +2 x^3
*/
int main(int argc, char* argv[])
{
 vector<double> cof(3);
 vector<double> deg(3);
 cof[0]=0;
 cof[1]=1;
 cof[2]=2;
 deg[0]=0;
 deg[1]=1;
 deg[2]=2;
 CPolynomial pa(cof,deg);
 vector<double> cof2(2);
 vector<double> deg2(2);
 cof2[0]=3;
 cof2[1]=1;
 deg2[0]=0;
 deg2[1]=1;
 CPolynomial pb(cof2,deg2);
 //int a[3]={0,1,2};//0x^0+1x^1+2x^2
 //int b[2]={3,1};//3x^0+1x^1
 pa.Print();
 pb.Print();
 CPolynomial pc;
 pc=pa*pb;
 pc.Print();
 getchar();
 return 0;
}
 
有限域的构造
设自然是q=p^n是素数p的方幂,选取一个模p不可约的n次整系数多项式
a_0+a_1x+…a_(n-1)x^(n-1)+x^n。
令A是由这n个系数和1按某种方式组成的n阶方阵,则F_q={f(A)modp|f∈Z[x],deg(f)<=n-1}在矩阵的加法、乘法运算下构成数域,且F_q恰有q个元素。

http://www.docin.com/p-612759340.html
八阶循环群C_8={0,1,2,3,4,5,6,7}表示为{90625,40625,15625,65625,46875,96875,21875,71875}
0——90625
1——71875
2——15625
3——46875
4——40625
5——21875
6——65625
7——96875
每个元素都是5位数,
群乘法:把普通乘法结果的最后5位数作为群乘法的结果。
90625*46875=46875
65625*71875=96875
90625*40625=40625
46875*96875=15625
46875*21875=90625
625家族中任意两个元素相乘,其结果仍是625家族的元素,
875家族中任意两个元素相乘,其结果是625家族的元素,
90625是单位元素
71875是生成元
http://www.docin.com/p-489747341.html
高级加密标准AES
AES使用了有限域理论
有限域理论在密码学中有重要的应用。
GF(5)={0,1,2,3,4}中的加法和乘法
模5的加法,模5的乘法
乘法逆元
0——无
1——1
2——3
3——2
4——4
有限域GF(2^8)
在AES中,使用的是256个元素的有限域,
AES对有限域GF(2^8)上的元素采用多项式表示法:一个由b_7b_6…b_1b_0组成的字节b可表示成系数为{0,1}的二进制多项式。
0x57=01010111——x^6+x^4+x^2+x+1
在GF(2^8)上的加法定义为二进制多项式的加法,等同于按位异或运算。
0x83=10000011——x^7+x+1
0x57+0x83=0xD4=11010100——x^7+x^6+x^4+x^2
1^1=0
0^0=0
1^0=1
0^1=1
在GF(2^8)上的乘法
(01110011)·(10010101)=?
(x^6+x^5+x^4+x+1)·(x^7+x^4+x^2+1)Mod(x^8+x^4+x^3+x+1)
在GF(2^8)上的乘法定义为二进制多项式的乘积模一个次数为8的不可约二进制多项式,此不可约二进制多项式为m=x^8+x^4+x^3+x+1。
m(x)=x^8+x^4+x^3+x+1是GF(2^8)上的一个不可约多项式,是在30个8次不可约多项式中选择的一个。
一个乘法例子
0x73*0x95=(01110011)·(10010101)=(01110000)=0x70
0x57*0x83=0xC1

m(x)=x^8+x^4+x^3+x^2+1时
cout<<s_mul[0x73][0x95]<<endl;//254
cout<<s_mul[0x57][0x83]<<endl;//49
cout<<s_mul[3][7]<<endl;//9
cout<<s_mul[129][5]<<endl;//191
对于有限域GF(256),可以先计算出其乘法表。  
  在GF(256)中,加法就是异或运算,任意一个元素都可以表示成GF(2)  
  上的一个最多7次的多项式,  
  所以  
  0=000   就是0  
  1=001   就是1  
  2=0010就是x+0=x  
  3=0011就是x+1  
  4=00100就是x^2  
  然后对于两个变量  
  u,v  
  可以先计算两个对应多项式的乘积(需要注意的是加法是模2的,或者说是异或运算),  
  比如  
  3*7=(x+1)*(x^2+x+1)=x*x^2+x*x+x+x^2+x+1=x^3+1   (模2运算中x+x=0   and   x^2+x^2=0)  
  所以3*7=9  
  在乘积得出来的多项式次数大于7时,我们需要对多项式在GF(2)上关于h(x)求余数,也就是  
  129*5=(x^7+1)*(x^2+1)=x^9+x^7+x^2+1  
  将上面的函数加上x*h(x)可以消去x^9,这里的h(x)是既约多项式x^8+x^4+x^3+x^2+1,(其实就是手工除法过程,只是现在每一次商总是0或1),所以  
  129*5=x^9+x^7+x^2+1+x^9+x^5+x^4+x^3+x=x^7+x^5+x^4+x^3+x^2+x+1  
  =0010111111=191  
  在得出乘法表以后,我们可以很快的从表格中对于每一个元素找到它的逆,于是逆运算也有了,除法就可以分解为乘法和逆运算。  
  有了加乘逆以后(对于GF(2^n)减法同加法没有分别)  
  就可以使用手工除法了  

/*
f = x^8+x^4+x^3+x+1=100011011=283
g = x^8+x^4+x^3+x^2+1=100011101=285
f是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
0
1
g是否是0次多项式,是否是1次多项式,是否是本原多项式,是否是不可约多项式:
0
0
1
1
f57H = x^6+x^4+x^2+x+1=1010111=87
f83H = x^7+x+1=10000011=131
f57H+f83H=x^7+x^6+x^4+x^2=11010100=212
(f57H*f83H)%f=x^7+x^6+1=11000001=193
f73H = x^6+x^5+x^4+x+1=1110011=115
f95H = x^7+x^4+x^2+1=10010101=149
f73H+f95H=x^7+x^6+x^5+x^2+x=11100110=230
(f73H*f95H)%f=x^6+x^5+x^4=1110000=112
g3 = x+1=11=3
g7 = x^2+x+1=111=7
g3+g7=x^2=100=4
(g3*g7)%g=x^3+1=1001=9
g129 = x^7+1=10000001=129
g5 = x^2+1=101=5
g129+g5=x^7+x^2=10000100=132
(g129*g5)%g=x^7+x^5+x^4+x^3+x^2+x+1=10111111=191
*/
#if 1
 Poly f57H(szF256Element[0x57]),f83H(szF256Element[0x83]);
 Poly f73H(szF256Element[0x73]),f95H(szF256Element[0x95]);
 cout << "f57H = " << f57H <<"="<<Poly::ToStr(f57H).c_str()<<"="<<Poly::ToUINT64(f57H)<<endl;
 cout << "f83H = " << f83H <<"="<<Poly::ToStr(f83H).c_str()<<"="<<Poly::ToUINT64(f83H)<<endl;
 cout << "f57H+f83H=" << f57H+f83H <<"="<<Poly::ToStr(f57H+f83H).c_str()<<"="<<Poly::ToUINT64(f57H+f83H)<<endl;
 cout << "(f57H*f83H)%f=" << (f57H*f83H)%f <<"="<<Poly::ToStr((f57H*f83H)%f).c_str()<<"="<<Poly::ToUINT64((f57H*f83H)%f)<<endl;
 cout << "f73H = " << f73H <<"="<<Poly::ToStr(f73H).c_str()<<"="<<Poly::ToUINT64(f73H)<<endl;
 cout << "f95H = " << f95H <<"="<<Poly::ToStr(f95H).c_str()<<"="<<Poly::ToUINT64(f95H)<<endl;
 cout << "f73H+f95H=" << f73H+f95H <<"="<<Poly::ToStr(f73H+f95H).c_str()<<"="<<Poly::ToUINT64(f73H+f95H)<<endl;
 cout << "(f73H*f95H)%f=" << (f73H*f95H)%f <<"="<<Poly::ToStr((f73H*f95H)%f).c_str()<<"="<<Poly::ToUINT64((f73H*f95H)%f)<<endl;
 Poly g3(szF256Element[3]),g7(szF256Element[7]);
 Poly g129(szF256Element[129]),g5(szF256Element[5]);
 cout << "g3 = " << g3 <<"="<<Poly::ToStr(g3).c_str()<<"="<<Poly::ToUINT64(g3)<<endl;
 cout << "g7 = " << g7 <<"="<<Poly::ToStr(g7).c_str()<<"="<<Poly::ToUINT64(g7)<<endl;
 cout << "g3+g7=" << g3+g7 <<"="<<Poly::ToStr(g3+g7).c_str()<<"="<<Poly::ToUINT64(g3+g7)<<endl;
 cout << "(g3*g7)%g=" << (g3*g7)%g <<"="<<Poly::ToStr((g3*g7)%g).c_str()<<"="<<Poly::ToUINT64((g3*g7)%g)<<endl;
 cout << "g129 = " << g129 <<"="<<Poly::ToStr(g129).c_str()<<"="<<Poly::ToUINT64(g129)<<endl;
 cout << "g5 = " << g5 <<"="<<Poly::ToStr(g5).c_str()<<"="<<Poly::ToUINT64(g5)<<endl;
 cout << "g129+g5=" << g129+g5 <<"="<<Poly::ToStr(g129+g5).c_str()<<"="<<Poly::ToUINT64(g129+g5)<<endl;
 cout << "(g129*g5)%g=" << (g129*g5)%g <<"="<<Poly::ToStr((g129*g5)%g).c_str()<<"="<<Poly::ToUINT64((g129*g5)%g)<<endl;
#endif
20151208、20151210添加:
f和g的结式Res(f,g)=det(ζ(1,…,-1,1,1,…,-1,3)),其中ζ(1,…,-1,1,1,…,-1,3)为91*91阶西尔维斯特矩阵,det(ζ(1,…,-1,1,1,…,-1,3))为西尔维斯特行列式
> P<x>:=PolynomialRing(IntegerRing());f:=x^50-x+1;g:=x^41-x^7+3;GCD(f,g);
1
> r:=Resultant(f,g);
> r;
823751968381209779686428

> C<c>:=CyclotomicField(19);
> f:=MinimalPolynomial(c+c^-1);
> f;
$.1^9 + $.1^8 - 8*$.1^7 - 7*$.1^6 + 21*$.1^5 + 15*$.1^4 - 20*$.1^3 - 10*$.1^2 +
    5*$.1 + 1
> M<m>:=NumberField(f);
> Signature(M);
9 0
> M;
Number Field with defining polynomial $.1^9 + $.1^8 - 8*$.1^7 - 7*$.1^6 +
    21*$.1^5 + 15*$.1^4 - 20*$.1^3 - 10*$.1^2 + 5*$.1 + 1 over the Rational
Field
> Factorization(Discriminant(M));
[ <19, 8> ]
> C,m:=ClassGroup(M);
> C;
Abelian Group of order 1
> m;
Mapping from: GrpAb: C to Set of ideals of Maximal Equation Order with defining
polynomial x^9 + x^8 - 8*x^7 - 7*x^6 + 21*x^5 + 15*x^4 - 20*x^3 - 10*x^2 + 5*x +
    1 over its ground order

http://www.docin.com/p-387565165.html
16阶布尔环B2=F_2[x,y]/(x^2+x,y^2+y):16个幂等元,1个可逆元
16阶环B2'=F_2[x,y]/(x^2+x+1,y^2+y+1):4个幂等元,9个可逆元,7个不可逆元
Introduce_to_Magma_by_Chinese

http://www.docin.com/p-959558040.html?qq-pf-to=pcqq.c2c
http://www.docin.com/p-679239970.html
+定义为模2加(比特异或),例如:0x57+0x83=0xD4
235 [ 0, 1, 0, 1, 0, 1, 1, 1 ],87=0x57,对应的多项式为x^6+x^4+x^2+x+1
194 [ 1, 0, 0, 0, 0, 0, 1, 1 ],131=0x83,对应的多项式为x^7+x+1
44 [ 1, 1, 0, 1, 0, 1, 0, 0 ],212=0xD4,对应的多项式为x^7+x^6+x^4+x^2
gap> L[235];L[194];L[44];L[235]+L[194];L[235]*L[194];
(1)+(x_1)+(x2)+(x4)+(x6)
(1)+(x_1)+(x7)
(x2)+(x4)+(x6)+(x7)
(x2)+(x4)+(x6)+(x7)
(1)+(x6)+(x7)
*定义为多项式的模乘(以8次不可约多项式为模),例如:0x57*0x83=0xC1
132 [ 1, 1, 0, 0, 0, 0, 0, 1 ],193=0xC1,对应的多项式为x^7+x^6+1
gap> L[132];
(1)+(x6)+(x7)
gap> x:=Indeterminate(GF(2),"x");;R1:=PolynomialRing(GF(2),[x]);;poly:=x^8+x^4+x^3+x+1;;IsIrreducibleRingElement(R1,poly);Degree(poly);;Factors(poly);;I:=IdealByGenerators(R1,[poly]);;R:=R1/I;;Size(R);IsRing(R);L:=Elements(R);B:=Basis(R);Print("256元域的元素用字节b表示:\n");for i in [1..256] do a:=Reversed(IntVecFFE(Coefficients(B,L[i])));b:=a[1]*128+a[2]*64+a[3]*32+a[4]*16+a[5]*8+a[6]*4+a[7]*2+a[8];Print (i, " ", a,",",b,"=0x",HexStringInt(b),",");od;
true
256
true
[ 0*(1), (x7), (x6), (x6)+(x7), (x5), (x5)+(x7), (x5)+(x6), (x5)+(x6)+(x7), (x4), (x4)+(x7), (x4)+(x6),
  (x4)+(x6)+(x7), (x4)+(x5), (x4)+(x5)+(x7), (x4)+(x5)+(x6), (x4)+(x5)+(x6)+(x7), (x3), (x3)+(x7), (x3)+(x6),
  (x3)+(x6)+(x7), (x3)+(x5), (x3)+(x5)+(x7), (x3)+(x5)+(x6), (x3)+(x5)+(x6)+(x7), (x3)+(x4), (x3)+(x4)+(x7),
  (x3)+(x4)+(x6), (x3)+(x4)+(x6)+(x7), (x3)+(x4)+(x5), (x3)+(x4)+(x5)+(x7), (x3)+(x4)+(x5)+(x6),
  (x3)+(x4)+(x5)+(x6)+(x7), (x2), (x2)+(x7), (x2)+(x6), (x2)+(x6)+(x7), (x2)+(x5), (x2)+(x5)+(x7), (x2)+(x5)+(x6),
  (x2)+(x5)+(x6)+(x7), (x2)+(x4), (x2)+(x4)+(x7), (x2)+(x4)+(x6), (x2)+(x4)+(x6)+(x7), (x2)+(x4)+(x5),
  (x2)+(x4)+(x5)+(x7), (x2)+(x4)+(x5)+(x6), (x2)+(x4)+(x5)+(x6)+(x7), (x2)+(x3), (x2)+(x3)+(x7), (x2)+(x3)+(x6),
  (x2)+(x3)+(x6)+(x7), (x2)+(x3)+(x5), (x2)+(x3)+(x5)+(x7), (x2)+(x3)+(x5)+(x6), (x2)+(x3)+(x5)+(x6)+(x7),
  (x2)+(x3)+(x4), (x2)+(x3)+(x4)+(x7), (x2)+(x3)+(x4)+(x6), (x2)+(x3)+(x4)+(x6)+(x7), (x2)+(x3)+(x4)+(x5),
  (x2)+(x3)+(x4)+(x5)+(x7), (x2)+(x3)+(x4)+(x5)+(x6), (x2)+(x3)+(x4)+(x5)+(x6)+(x7), (x_1), (x_1)+(x7), (x_1)+(x6),
  (x_1)+(x6)+(x7), (x_1)+(x5), (x_1)+(x5)+(x7), (x_1)+(x5)+(x6), (x_1)+(x5)+(x6)+(x7), (x_1)+(x4), (x_1)+(x4)+(x7),
  (x_1)+(x4)+(x6), (x_1)+(x4)+(x6)+(x7), (x_1)+(x4)+(x5), (x_1)+(x4)+(x5)+(x7), (x_1)+(x4)+(x5)+(x6),
  (x_1)+(x4)+(x5)+(x6)+(x7), (x_1)+(x3), (x_1)+(x3)+(x7), (x_1)+(x3)+(x6), (x_1)+(x3)+(x6)+(x7), (x_1)+(x3)+(x5),
  (x_1)+(x3)+(x5)+(x7), (x_1)+(x3)+(x5)+(x6), (x_1)+(x3)+(x5)+(x6)+(x7), (x_1)+(x3)+(x4), (x_1)+(x3)+(x4)+(x7),
  (x_1)+(x3)+(x4)+(x6), (x_1)+(x3)+(x4)+(x6)+(x7), (x_1)+(x3)+(x4)+(x5), (x_1)+(x3)+(x4)+(x5)+(x7),
  (x_1)+(x3)+(x4)+(x5)+(x6), (x_1)+(x3)+(x4)+(x5)+(x6)+(x7), (x_1)+(x2), (x_1)+(x2)+(x7), (x_1)+(x2)+(x6),
  (x_1)+(x2)+(x6)+(x7), (x_1)+(x2)+(x5), (x_1)+(x2)+(x5)+(x7), (x_1)+(x2)+(x5)+(x6), (x_1)+(x2)+(x5)+(x6)+(x7),
  (x_1)+(x2)+(x4), (x_1)+(x2)+(x4)+(x7), (x_1)+(x2)+(x4)+(x6), (x_1)+(x2)+(x4)+(x6)+(x7), (x_1)+(x2)+(x4)+(x5),
  (x_1)+(x2)+(x4)+(x5)+(x7), (x_1)+(x2)+(x4)+(x5)+(x6), (x_1)+(x2)+(x4)+(x5)+(x6)+(x7), (x_1)+(x2)+(x3),
  (x_1)+(x2)+(x3)+(x7), (x_1)+(x2)+(x3)+(x6), (x_1)+(x2)+(x3)+(x6)+(x7), (x_1)+(x2)+(x3)+(x5),
  (x_1)+(x2)+(x3)+(x5)+(x7), (x_1)+(x2)+(x3)+(x5)+(x6), (x_1)+(x2)+(x3)+(x5)+(x6)+(x7), (x_1)+(x2)+(x3)+(x4),
  (x_1)+(x2)+(x3)+(x4)+(x7), (x_1)+(x2)+(x3)+(x4)+(x6), (x_1)+(x2)+(x3)+(x4)+(x6)+(x7), (x_1)+(x2)+(x3)+(x4)+(x5),
  (x_1)+(x2)+(x3)+(x4)+(x5)+(x7), (x_1)+(x2)+(x3)+(x4)+(x5)+(x6), (x_1)+(x2)+(x3)+(x4)+(x5)+(x6)+(x7), (1), (1)+(x7),
  (1)+(x6), (1)+(x6)+(x7), (1)+(x5), (1)+(x5)+(x7), (1)+(x5)+(x6), (1)+(x5)+(x6)+(x7), (1)+(x4), (1)+(x4)+(x7),
  (1)+(x4)+(x6), (1)+(x4)+(x6)+(x7), (1)+(x4)+(x5), (1)+(x4)+(x5)+(x7), (1)+(x4)+(x5)+(x6), (1)+(x4)+(x5)+(x6)+(x7),
  (1)+(x3), (1)+(x3)+(x7), (1)+(x3)+(x6), (1)+(x3)+(x6)+(x7), (1)+(x3)+(x5), (1)+(x3)+(x5)+(x7), (1)+(x3)+(x5)+(x6),
  (1)+(x3)+(x5)+(x6)+(x7), (1)+(x3)+(x4), (1)+(x3)+(x4)+(x7), (1)+(x3)+(x4)+(x6), (1)+(x3)+(x4)+(x6)+(x7),
  (1)+(x3)+(x4)+(x5), (1)+(x3)+(x4)+(x5)+(x7), (1)+(x3)+(x4)+(x5)+(x6), (1)+(x3)+(x4)+(x5)+(x6)+(x7), (1)+(x2),
  (1)+(x2)+(x7), (1)+(x2)+(x6), (1)+(x2)+(x6)+(x7), (1)+(x2)+(x5), (1)+(x2)+(x5)+(x7), (1)+(x2)+(x5)+(x6),
  (1)+(x2)+(x5)+(x6)+(x7), (1)+(x2)+(x4), (1)+(x2)+(x4)+(x7), (1)+(x2)+(x4)+(x6), (1)+(x2)+(x4)+(x6)+(x7),
  (1)+(x2)+(x4)+(x5), (1)+(x2)+(x4)+(x5)+(x7), (1)+(x2)+(x4)+(x5)+(x6), (1)+(x2)+(x4)+(x5)+(x6)+(x7), (1)+(x2)+(x3),
  (1)+(x2)+(x3)+(x7), (1)+(x2)+(x3)+(x6), (1)+(x2)+(x3)+(x6)+(x7), (1)+(x2)+(x3)+(x5), (1)+(x2)+(x3)+(x5)+(x7),
  (1)+(x2)+(x3)+(x5)+(x6), (1)+(x2)+(x3)+(x5)+(x6)+(x7), (1)+(x2)+(x3)+(x4), (1)+(x2)+(x3)+(x4)+(x7),
  (1)+(x2)+(x3)+(x4)+(x6), (1)+(x2)+(x3)+(x4)+(x6)+(x7), (1)+(x2)+(x3)+(x4)+(x5), (1)+(x2)+(x3)+(x4)+(x5)+(x7),
  (1)+(x2)+(x3)+(x4)+(x5)+(x6), (1)+(x2)+(x3)+(x4)+(x5)+(x6)+(x7), (1)+(x_1), (1)+(x_1)+(x7), (1)+(x_1)+(x6),
  (1)+(x_1)+(x6)+(x7), (1)+(x_1)+(x5), (1)+(x_1)+(x5)+(x7), (1)+(x_1)+(x5)+(x6), (1)+(x_1)+(x5)+(x6)+(x7),
  (1)+(x_1)+(x4), (1)+(x_1)+(x4)+(x7), (1)+(x_1)+(x4)+(x6), (1)+(x_1)+(x4)+(x6)+(x7), (1)+(x_1)+(x4)+(x5),
  (1)+(x_1)+(x4)+(x5)+(x7), (1)+(x_1)+(x4)+(x5)+(x6), (1)+(x_1)+(x4)+(x5)+(x6)+(x7), (1)+(x_1)+(x3),
  (1)+(x_1)+(x3)+(x7), (1)+(x_1)+(x3)+(x6), (1)+(x_1)+(x3)+(x6)+(x7), (1)+(x_1)+(x3)+(x5), (1)+(x_1)+(x3)+(x5)+(x7),
  (1)+(x_1)+(x3)+(x5)+(x6), (1)+(x_1)+(x3)+(x5)+(x6)+(x7), (1)+(x_1)+(x3)+(x4), (1)+(x_1)+(x3)+(x4)+(x7),
  (1)+(x_1)+(x3)+(x4)+(x6), (1)+(x_1)+(x3)+(x4)+(x6)+(x7), (1)+(x_1)+(x3)+(x4)+(x5), (1)+(x_1)+(x3)+(x4)+(x5)+(x7),
  (1)+(x_1)+(x3)+(x4)+(x5)+(x6), (1)+(x_1)+(x3)+(x4)+(x5)+(x6)+(x7), (1)+(x_1)+(x2), (1)+(x_1)+(x2)+(x7),
  (1)+(x_1)+(x2)+(x6), (1)+(x_1)+(x2)+(x6)+(x7), (1)+(x_1)+(x2)+(x5), (1)+(x_1)+(x2)+(x5)+(x7),
  (1)+(x_1)+(x2)+(x5)+(x6), (1)+(x_1)+(x2)+(x5)+(x6)+(x7), (1)+(x_1)+(x2)+(x4), (1)+(x_1)+(x2)+(x4)+(x7),
  (1)+(x_1)+(x2)+(x4)+(x6), (1)+(x_1)+(x2)+(x4)+(x6)+(x7), (1)+(x_1)+(x2)+(x4)+(x5), (1)+(x_1)+(x2)+(x4)+(x5)+(x7),
  (1)+(x_1)+(x2)+(x4)+(x5)+(x6), (1)+(x_1)+(x2)+(x4)+(x5)+(x6)+(x7), (1)+(x_1)+(x2)+(x3), (1)+(x_1)+(x2)+(x3)+(x7),
  (1)+(x_1)+(x2)+(x3)+(x6), (1)+(x_1)+(x2)+(x3)+(x6)+(x7), (1)+(x_1)+(x2)+(x3)+(x5), (1)+(x_1)+(x2)+(x3)+(x5)+(x7),
  (1)+(x_1)+(x2)+(x3)+(x5)+(x6), (1)+(x_1)+(x2)+(x3)+(x5)+(x6)+(x7), (1)+(x_1)+(x2)+(x3)+(x4),
  (1)+(x_1)+(x2)+(x3)+(x4)+(x7), (1)+(x_1)+(x2)+(x3)+(x4)+(x6), (1)+(x_1)+(x2)+(x3)+(x4)+(x6)+(x7),
  (1)+(x_1)+(x2)+(x3)+(x4)+(x5), (1)+(x_1)+(x2)+(x3)+(x4)+(x5)+(x7), (1)+(x_1)+(x2)+(x3)+(x4)+(x5)+(x6),
  (1)+(x_1)+(x2)+(x3)+(x4)+(x5)+(x6)+(x7) ]
CanonicalBasis( <ring GF(2),(1),(x_1),(x2),(x3),(x4),(x5),(x6),(x7)> )
256元域的元素用字节b表示:
1 [ 0, 0, 0, 0, 0, 0, 0, 0 ],0=0x0,2 [ 1, 0, 0, 0, 0, 0, 0, 0 ],128=0x80,3 [ 0, 1, 0, 0, 0, 0, 0, 0 ],64=0x40,4
[ 1, 1, 0, 0, 0, 0, 0, 0 ],192=0xC0,5 [ 0, 0, 1, 0, 0, 0, 0, 0 ],32=0x20,6 [ 1, 0, 1, 0, 0, 0, 0, 0 ],160=0xA0,7
[ 0, 1, 1, 0, 0, 0, 0, 0 ],96=0x60,8 [ 1, 1, 1, 0, 0, 0, 0, 0 ],224=0xE0,9 [ 0, 0, 0, 1, 0, 0, 0, 0 ],16=0x10,10
[ 1, 0, 0, 1, 0, 0, 0, 0 ],144=0x90,11 [ 0, 1, 0, 1, 0, 0, 0, 0 ],80=0x50,12 [ 1, 1, 0, 1, 0, 0, 0, 0 ],208=0xD0,13
[ 0, 0, 1, 1, 0, 0, 0, 0 ],48=0x30,14 [ 1, 0, 1, 1, 0, 0, 0, 0 ],176=0xB0,15 [ 0, 1, 1, 1, 0, 0, 0, 0 ],112=0x70,16
[ 1, 1, 1, 1, 0, 0, 0, 0 ],240=0xF0,17 [ 0, 0, 0, 0, 1, 0, 0, 0 ],8=0x8,18 [ 1, 0, 0, 0, 1, 0, 0, 0 ],136=0x88,19
[ 0, 1, 0, 0, 1, 0, 0, 0 ],72=0x48,20 [ 1, 1, 0, 0, 1, 0, 0, 0 ],200=0xC8,21 [ 0, 0, 1, 0, 1, 0, 0, 0 ],40=0x28,22
[ 1, 0, 1, 0, 1, 0, 0, 0 ],168=0xA8,23 [ 0, 1, 1, 0, 1, 0, 0, 0 ],104=0x68,24 [ 1, 1, 1, 0, 1, 0, 0, 0 ],232=0xE8,25
[ 0, 0, 0, 1, 1, 0, 0, 0 ],24=0x18,26 [ 1, 0, 0, 1, 1, 0, 0, 0 ],152=0x98,27 [ 0, 1, 0, 1, 1, 0, 0, 0 ],88=0x58,28
[ 1, 1, 0, 1, 1, 0, 0, 0 ],216=0xD8,29 [ 0, 0, 1, 1, 1, 0, 0, 0 ],56=0x38,30 [ 1, 0, 1, 1, 1, 0, 0, 0 ],184=0xB8,31
[ 0, 1, 1, 1, 1, 0, 0, 0 ],120=0x78,32 [ 1, 1, 1, 1, 1, 0, 0, 0 ],248=0xF8,33 [ 0, 0, 0, 0, 0, 1, 0, 0 ],4=0x4,34
[ 1, 0, 0, 0, 0, 1, 0, 0 ],132=0x84,35 [ 0, 1, 0, 0, 0, 1, 0, 0 ],68=0x44,36 [ 1, 1, 0, 0, 0, 1, 0, 0 ],196=0xC4,37
[ 0, 0, 1, 0, 0, 1, 0, 0 ],36=0x24,38 [ 1, 0, 1, 0, 0, 1, 0, 0 ],164=0xA4,39 [ 0, 1, 1, 0, 0, 1, 0, 0 ],100=0x64,40
[ 1, 1, 1, 0, 0, 1, 0, 0 ],228=0xE4,41 [ 0, 0, 0, 1, 0, 1, 0, 0 ],20=0x14,42 [ 1, 0, 0, 1, 0, 1, 0, 0 ],148=0x94,43
[ 0, 1, 0, 1, 0, 1, 0, 0 ],84=0x54,44 [ 1, 1, 0, 1, 0, 1, 0, 0 ],212=0xD4,45 [ 0, 0, 1, 1, 0, 1, 0, 0 ],52=0x34,46
[ 1, 0, 1, 1, 0, 1, 0, 0 ],180=0xB4,47 [ 0, 1, 1, 1, 0, 1, 0, 0 ],116=0x74,48 [ 1, 1, 1, 1, 0, 1, 0, 0 ],244=0xF4,49
[ 0, 0, 0, 0, 1, 1, 0, 0 ],12=0xC,50 [ 1, 0, 0, 0, 1, 1, 0, 0 ],140=0x8C,51 [ 0, 1, 0, 0, 1, 1, 0, 0 ],76=0x4C,52
[ 1, 1, 0, 0, 1, 1, 0, 0 ],204=0xCC,53 [ 0, 0, 1, 0, 1, 1, 0, 0 ],44=0x2C,54 [ 1, 0, 1, 0, 1, 1, 0, 0 ],172=0xAC,55
[ 0, 1, 1, 0, 1, 1, 0, 0 ],108=0x6C,56 [ 1, 1, 1, 0, 1, 1, 0, 0 ],236=0xEC,57 [ 0, 0, 0, 1, 1, 1, 0, 0 ],28=0x1C,58
[ 1, 0, 0, 1, 1, 1, 0, 0 ],156=0x9C,59 [ 0, 1, 0, 1, 1, 1, 0, 0 ],92=0x5C,60 [ 1, 1, 0, 1, 1, 1, 0, 0 ],220=0xDC,61
[ 0, 0, 1, 1, 1, 1, 0, 0 ],60=0x3C,62 [ 1, 0, 1, 1, 1, 1, 0, 0 ],188=0xBC,63 [ 0, 1, 1, 1, 1, 1, 0, 0 ],124=0x7C,64
[ 1, 1, 1, 1, 1, 1, 0, 0 ],252=0xFC,65 [ 0, 0, 0, 0, 0, 0, 1, 0 ],2=0x2,66 [ 1, 0, 0, 0, 0, 0, 1, 0 ],130=0x82,67
[ 0, 1, 0, 0, 0, 0, 1, 0 ],66=0x42,68 [ 1, 1, 0, 0, 0, 0, 1, 0 ],194=0xC2,69 [ 0, 0, 1, 0, 0, 0, 1, 0 ],34=0x22,70
[ 1, 0, 1, 0, 0, 0, 1, 0 ],162=0xA2,71 [ 0, 1, 1, 0, 0, 0, 1, 0 ],98=0x62,72 [ 1, 1, 1, 0, 0, 0, 1, 0 ],226=0xE2,73
[ 0, 0, 0, 1, 0, 0, 1, 0 ],18=0x12,74 [ 1, 0, 0, 1, 0, 0, 1, 0 ],146=0x92,75 [ 0, 1, 0, 1, 0, 0, 1, 0 ],82=0x52,76
[ 1, 1, 0, 1, 0, 0, 1, 0 ],210=0xD2,77 [ 0, 0, 1, 1, 0, 0, 1, 0 ],50=0x32,78 [ 1, 0, 1, 1, 0, 0, 1, 0 ],178=0xB2,79
[ 0, 1, 1, 1, 0, 0, 1, 0 ],114=0x72,80 [ 1, 1, 1, 1, 0, 0, 1, 0 ],242=0xF2,81 [ 0, 0, 0, 0, 1, 0, 1, 0 ],10=0xA,82
[ 1, 0, 0, 0, 1, 0, 1, 0 ],138=0x8A,83 [ 0, 1, 0, 0, 1, 0, 1, 0 ],74=0x4A,84 [ 1, 1, 0, 0, 1, 0, 1, 0 ],202=0xCA,85
[ 0, 0, 1, 0, 1, 0, 1, 0 ],42=0x2A,86 [ 1, 0, 1, 0, 1, 0, 1, 0 ],170=0xAA,87 [ 0, 1, 1, 0, 1, 0, 1, 0 ],106=0x6A,88
[ 1, 1, 1, 0, 1, 0, 1, 0 ],234=0xEA,89 [ 0, 0, 0, 1, 1, 0, 1, 0 ],26=0x1A,90 [ 1, 0, 0, 1, 1, 0, 1, 0 ],154=0x9A,91
[ 0, 1, 0, 1, 1, 0, 1, 0 ],90=0x5A,92 [ 1, 1, 0, 1, 1, 0, 1, 0 ],218=0xDA,93 [ 0, 0, 1, 1, 1, 0, 1, 0 ],58=0x3A,94
[ 1, 0, 1, 1, 1, 0, 1, 0 ],186=0xBA,95 [ 0, 1, 1, 1, 1, 0, 1, 0 ],122=0x7A,96 [ 1, 1, 1, 1, 1, 0, 1, 0 ],250=0xFA,97
[ 0, 0, 0, 0, 0, 1, 1, 0 ],6=0x6,98 [ 1, 0, 0, 0, 0, 1, 1, 0 ],134=0x86,99 [ 0, 1, 0, 0, 0, 1, 1, 0 ],70=0x46,100
[ 1, 1, 0, 0, 0, 1, 1, 0 ],198=0xC6,101 [ 0, 0, 1, 0, 0, 1, 1, 0 ],38=0x26,102 [ 1, 0, 1, 0, 0, 1, 1, 0 ],166=0xA6,
103 [ 0, 1, 1, 0, 0, 1, 1, 0 ],102=0x66,104 [ 1, 1, 1, 0, 0, 1, 1, 0 ],230=0xE6,105 [ 0, 0, 0, 1, 0, 1, 1, 0 ],
22=0x16,106 [ 1, 0, 0, 1, 0, 1, 1, 0 ],150=0x96,107 [ 0, 1, 0, 1, 0, 1, 1, 0 ],86=0x56,108 [ 1, 1, 0, 1, 0, 1, 1, 0 ],
214=0xD6,109 [ 0, 0, 1, 1, 0, 1, 1, 0 ],54=0x36,110 [ 1, 0, 1, 1, 0, 1, 1, 0 ],182=0xB6,111 [ 0, 1, 1, 1, 0, 1, 1, 0
 ],118=0x76,112 [ 1, 1, 1, 1, 0, 1, 1, 0 ],246=0xF6,113 [ 0, 0, 0, 0, 1, 1, 1, 0 ],14=0xE,114
[ 1, 0, 0, 0, 1, 1, 1, 0 ],142=0x8E,115 [ 0, 1, 0, 0, 1, 1, 1, 0 ],78=0x4E,116 [ 1, 1, 0, 0, 1, 1, 1, 0 ],206=0xCE,
117 [ 0, 0, 1, 0, 1, 1, 1, 0 ],46=0x2E,118 [ 1, 0, 1, 0, 1, 1, 1, 0 ],174=0xAE,119 [ 0, 1, 1, 0, 1, 1, 1, 0 ],
110=0x6E,120 [ 1, 1, 1, 0, 1, 1, 1, 0 ],238=0xEE,121 [ 0, 0, 0, 1, 1, 1, 1, 0 ],30=0x1E,122 [ 1, 0, 0, 1, 1, 1, 1, 0
 ],158=0x9E,123 [ 0, 1, 0, 1, 1, 1, 1, 0 ],94=0x5E,124 [ 1, 1, 0, 1, 1, 1, 1, 0 ],222=0xDE,125
[ 0, 0, 1, 1, 1, 1, 1, 0 ],62=0x3E,126 [ 1, 0, 1, 1, 1, 1, 1, 0 ],190=0xBE,127 [ 0, 1, 1, 1, 1, 1, 1, 0 ],126=0x7E,
128 [ 1, 1, 1, 1, 1, 1, 1, 0 ],254=0xFE,129 [ 0, 0, 0, 0, 0, 0, 0, 1 ],1=0x1,130 [ 1, 0, 0, 0, 0, 0, 0, 1 ],129=0x81,
131 [ 0, 1, 0, 0, 0, 0, 0, 1 ],65=0x41,132 [ 1, 1, 0, 0, 0, 0, 0, 1 ],193=0xC1,133 [ 0, 0, 1, 0, 0, 0, 0, 1 ],33=0x21,
134 [ 1, 0, 1, 0, 0, 0, 0, 1 ],161=0xA1,135 [ 0, 1, 1, 0, 0, 0, 0, 1 ],97=0x61,136 [ 1, 1, 1, 0, 0, 0, 0, 1 ],
225=0xE1,137 [ 0, 0, 0, 1, 0, 0, 0, 1 ],17=0x11,138 [ 1, 0, 0, 1, 0, 0, 0, 1 ],145=0x91,139 [ 0, 1, 0, 1, 0, 0, 0, 1
 ],81=0x51,140 [ 1, 1, 0, 1, 0, 0, 0, 1 ],209=0xD1,141 [ 0, 0, 1, 1, 0, 0, 0, 1 ],49=0x31,142
[ 1, 0, 1, 1, 0, 0, 0, 1 ],177=0xB1,143 [ 0, 1, 1, 1, 0, 0, 0, 1 ],113=0x71,144 [ 1, 1, 1, 1, 0, 0, 0, 1 ],241=0xF1,
145 [ 0, 0, 0, 0, 1, 0, 0, 1 ],9=0x9,146 [ 1, 0, 0, 0, 1, 0, 0, 1 ],137=0x89,147 [ 0, 1, 0, 0, 1, 0, 0, 1 ],73=0x49,
148 [ 1, 1, 0, 0, 1, 0, 0, 1 ],201=0xC9,149 [ 0, 0, 1, 0, 1, 0, 0, 1 ],41=0x29,150 [ 1, 0, 1, 0, 1, 0, 0, 1 ],
169=0xA9,151 [ 0, 1, 1, 0, 1, 0, 0, 1 ],105=0x69,152 [ 1, 1, 1, 0, 1, 0, 0, 1 ],233=0xE9,153 [ 0, 0, 0, 1, 1, 0, 0, 1
 ],25=0x19,154 [ 1, 0, 0, 1, 1, 0, 0, 1 ],153=0x99,155 [ 0, 1, 0, 1, 1, 0, 0, 1 ],89=0x59,156
[ 1, 1, 0, 1, 1, 0, 0, 1 ],217=0xD9,157 [ 0, 0, 1, 1, 1, 0, 0, 1 ],57=0x39,158 [ 1, 0, 1, 1, 1, 0, 0, 1 ],185=0xB9,
159 [ 0, 1, 1, 1, 1, 0, 0, 1 ],121=0x79,160 [ 1, 1, 1, 1, 1, 0, 0, 1 ],249=0xF9,161 [ 0, 0, 0, 0, 0, 1, 0, 1 ],5=0x5,
162 [ 1, 0, 0, 0, 0, 1, 0, 1 ],133=0x85,163 [ 0, 1, 0, 0, 0, 1, 0, 1 ],69=0x45,164 [ 1, 1, 0, 0, 0, 1, 0, 1 ],
197=0xC5,165 [ 0, 0, 1, 0, 0, 1, 0, 1 ],37=0x25,166 [ 1, 0, 1, 0, 0, 1, 0, 1 ],165=0xA5,167 [ 0, 1, 1, 0, 0, 1, 0, 1
 ],101=0x65,168 [ 1, 1, 1, 0, 0, 1, 0, 1 ],229=0xE5,169 [ 0, 0, 0, 1, 0, 1, 0, 1 ],21=0x15,170
[ 1, 0, 0, 1, 0, 1, 0, 1 ],149=0x95,171 [ 0, 1, 0, 1, 0, 1, 0, 1 ],85=0x55,172 [ 1, 1, 0, 1, 0, 1, 0, 1 ],213=0xD5,
173 [ 0, 0, 1, 1, 0, 1, 0, 1 ],53=0x35,174 [ 1, 0, 1, 1, 0, 1, 0, 1 ],181=0xB5,175 [ 0, 1, 1, 1, 0, 1, 0, 1 ],
117=0x75,176 [ 1, 1, 1, 1, 0, 1, 0, 1 ],245=0xF5,177 [ 0, 0, 0, 0, 1, 1, 0, 1 ],13=0xD,178 [ 1, 0, 0, 0, 1, 1, 0, 1 ],
141=0x8D,179 [ 0, 1, 0, 0, 1, 1, 0, 1 ],77=0x4D,180 [ 1, 1, 0, 0, 1, 1, 0, 1 ],205=0xCD,181 [ 0, 0, 1, 0, 1, 1, 0, 1
 ],45=0x2D,182 [ 1, 0, 1, 0, 1, 1, 0, 1 ],173=0xAD,183 [ 0, 1, 1, 0, 1, 1, 0, 1 ],109=0x6D,184
[ 1, 1, 1, 0, 1, 1, 0, 1 ],237=0xED,185 [ 0, 0, 0, 1, 1, 1, 0, 1 ],29=0x1D,186 [ 1, 0, 0, 1, 1, 1, 0, 1 ],157=0x9D,
187 [ 0, 1, 0, 1, 1, 1, 0, 1 ],93=0x5D,188 [ 1, 1, 0, 1, 1, 1, 0, 1 ],221=0xDD,189 [ 0, 0, 1, 1, 1, 1, 0, 1 ],61=0x3D,
190 [ 1, 0, 1, 1, 1, 1, 0, 1 ],189=0xBD,191 [ 0, 1, 1, 1, 1, 1, 0, 1 ],125=0x7D,192 [ 1, 1, 1, 1, 1, 1, 0, 1 ],
253=0xFD,193 [ 0, 0, 0, 0, 0, 0, 1, 1 ],3=0x3,194 [ 1, 0, 0, 0, 0, 0, 1, 1 ],131=0x83,195 [ 0, 1, 0, 0, 0, 0, 1, 1 ],
67=0x43,196 [ 1, 1, 0, 0, 0, 0, 1, 1 ],195=0xC3,197 [ 0, 0, 1, 0, 0, 0, 1, 1 ],35=0x23,198 [ 1, 0, 1, 0, 0, 0, 1, 1 ],
163=0xA3,199 [ 0, 1, 1, 0, 0, 0, 1, 1 ],99=0x63,200 [ 1, 1, 1, 0, 0, 0, 1, 1 ],227=0xE3,201 [ 0, 0, 0, 1, 0, 0, 1, 1
 ],19=0x13,202 [ 1, 0, 0, 1, 0, 0, 1, 1 ],147=0x93,203 [ 0, 1, 0, 1, 0, 0, 1, 1 ],83=0x53,204
[ 1, 1, 0, 1, 0, 0, 1, 1 ],211=0xD3,205 [ 0, 0, 1, 1, 0, 0, 1, 1 ],51=0x33,206 [ 1, 0, 1, 1, 0, 0, 1, 1 ],179=0xB3,
207 [ 0, 1, 1, 1, 0, 0, 1, 1 ],115=0x73,208 [ 1, 1, 1, 1, 0, 0, 1, 1 ],243=0xF3,209 [ 0, 0, 0, 0, 1, 0, 1, 1 ],11=0xB,
210 [ 1, 0, 0, 0, 1, 0, 1, 1 ],139=0x8B,211 [ 0, 1, 0, 0, 1, 0, 1, 1 ],75=0x4B,212 [ 1, 1, 0, 0, 1, 0, 1, 1 ],
203=0xCB,213 [ 0, 0, 1, 0, 1, 0, 1, 1 ],43=0x2B,214 [ 1, 0, 1, 0, 1, 0, 1, 1 ],171=0xAB,215 [ 0, 1, 1, 0, 1, 0, 1, 1
 ],107=0x6B,216 [ 1, 1, 1, 0, 1, 0, 1, 1 ],235=0xEB,217 [ 0, 0, 0, 1, 1, 0, 1, 1 ],27=0x1B,218
[ 1, 0, 0, 1, 1, 0, 1, 1 ],155=0x9B,219 [ 0, 1, 0, 1, 1, 0, 1, 1 ],91=0x5B,220 [ 1, 1, 0, 1, 1, 0, 1, 1 ],219=0xDB,
221 [ 0, 0, 1, 1, 1, 0, 1, 1 ],59=0x3B,222 [ 1, 0, 1, 1, 1, 0, 1, 1 ],187=0xBB,223 [ 0, 1, 1, 1, 1, 0, 1, 1 ],
123=0x7B,224 [ 1, 1, 1, 1, 1, 0, 1, 1 ],251=0xFB,225 [ 0, 0, 0, 0, 0, 1, 1, 1 ],7=0x7,226 [ 1, 0, 0, 0, 0, 1, 1, 1 ],
135=0x87,227 [ 0, 1, 0, 0, 0, 1, 1, 1 ],71=0x47,228 [ 1, 1, 0, 0, 0, 1, 1, 1 ],199=0xC7,229 [ 0, 0, 1, 0, 0, 1, 1, 1
 ],39=0x27,230 [ 1, 0, 1, 0, 0, 1, 1, 1 ],167=0xA7,231 [ 0, 1, 1, 0, 0, 1, 1, 1 ],103=0x67,232
[ 1, 1, 1, 0, 0, 1, 1, 1 ],231=0xE7,233 [ 0, 0, 0, 1, 0, 1, 1, 1 ],23=0x17,234 [ 1, 0, 0, 1, 0, 1, 1, 1 ],151=0x97,
235 [ 0, 1, 0, 1, 0, 1, 1, 1 ],87=0x57,236 [ 1, 1, 0, 1, 0, 1, 1, 1 ],215=0xD7,237 [ 0, 0, 1, 1, 0, 1, 1, 1 ],55=0x37,
238 [ 1, 0, 1, 1, 0, 1, 1, 1 ],183=0xB7,239 [ 0, 1, 1, 1, 0, 1, 1, 1 ],119=0x77,240 [ 1, 1, 1, 1, 0, 1, 1, 1 ],
247=0xF7,241 [ 0, 0, 0, 0, 1, 1, 1, 1 ],15=0xF,242 [ 1, 0, 0, 0, 1, 1, 1, 1 ],143=0x8F,243 [ 0, 1, 0, 0, 1, 1, 1, 1 ],
79=0x4F,244 [ 1, 1, 0, 0, 1, 1, 1, 1 ],207=0xCF,245 [ 0, 0, 1, 0, 1, 1, 1, 1 ],47=0x2F,246 [ 1, 0, 1, 0, 1, 1, 1, 1 ],
175=0xAF,247 [ 0, 1, 1, 0, 1, 1, 1, 1 ],111=0x6F,248 [ 1, 1, 1, 0, 1, 1, 1, 1 ],239=0xEF,249 [ 0, 0, 0, 1, 1, 1, 1, 1
 ],31=0x1F,250 [ 1, 0, 0, 1, 1, 1, 1, 1 ],159=0x9F,251 [ 0, 1, 0, 1, 1, 1, 1, 1 ],95=0x5F,252
[ 1, 1, 0, 1, 1, 1, 1, 1 ],223=0xDF,253 [ 0, 0, 1, 1, 1, 1, 1, 1 ],63=0x3F,254 [ 1, 0, 1, 1, 1, 1, 1, 1 ],191=0xBF,
255 [ 0, 1, 1, 1, 1, 1, 1, 1 ],127=0x7F,256 [ 1, 1, 1, 1, 1, 1, 1, 1 ],255=0xFF,


定理:设p为素数,n>=1,Ω_p为F_p的代数闭包。则多项式x^(p^n)-x在Ω_p中的所有根形成p^n元有限域。
对每个域F,今后以F^*表示F的非零元素全体。
定义:F^*_q中q-1阶元素叫做q元域F_q的本原元素。
http://blog.chinaunix.net/uid-20056952-id-1979315.html
一、有限域元素
Z(p,d) 或 Z( p^d)得到的是 GF(p, d) 的本原元。其它元素可以表示为 Z(p^d) 的方幂。
F_4的2个本原元是Z(4)、Z(4)^2,零元0*Z(2),幺元是Z(2)^0=Z(2)
gap> Elements(GF(4));
[ 0*Z(2), Z(2)^0, Z(2^2), Z(2^2)^2 ]
gap> Z(2,2);
Z(2^2)
gap> Z(4);
Z(2^2)
gap> Z(2);
Z(2)^0
gap> Z(2,1);
Z(2)^0
gap> ShowMultiplicationTable(GF(4));
*        | 0*Z(2)   Z(2)^0   Z(2^2)   Z(2^2)^2
---------+------------------------------------
0*Z(2)   | 0*Z(2)   0*Z(2)   0*Z(2)   0*Z(2)
Z(2)^0   | 0*Z(2)   Z(2)^0   Z(2^2)   Z(2^2)^2
Z(2^2)   | 0*Z(2)   Z(2^2)   Z(2^2)^2 Z(2)^0
Z(2^2)^2 | 0*Z(2)   Z(2^2)^2 Z(2)^0   Z(2^2)
gap> Z(4)^0;
Z(2)^0
gap> Z(4)^1;
Z(2^2)
gap> Z(4)^2;
Z(2^2)^2
gap> Z(4)^3;
Z(2)^0
gap> Z(4)^4;
Z(2^2)
gap> Zero(GF(4));
0*Z(2)
gap> One(GF(4));
Z(2)^0
Rijndael密码中的8次不可约多项式确定为:f:=x^8+x^4+x^3+x+1,它的十六进制表示为11B。
gap> F2:=GF(2);;x:=Indeterminate(F2, "x");;f:=x^8+x^4+x^3+x+1;F256:=GF(F2,f);a:=PrimitiveRoot(F256);
x^8+x^4+x^3+x+Z(2)^0
GF(2^8)
Z(2^8)
gap> L:=Elements(GF(256));
[ 0*Z(2), Z(2)^0, Z(2^2), Z(2^2)^2, Z(2^4), Z(2^4)^2, Z(2^4)^3, Z(2^4)^4, Z(2^4)^6, Z(2^4)^7, Z(2^4)^8, Z(2^4)^9,
  Z(2^4)^11, Z(2^4)^12, Z(2^4)^13, Z(2^4)^14, Z(2^8), Z(2^8)^2, Z(2^8)^3, Z(2^8)^4, Z(2^8)^5, Z(2^8)^6, Z(2^8)^7,
  Z(2^8)^8, Z(2^8)^9, Z(2^8)^10, Z(2^8)^11, Z(2^8)^12, Z(2^8)^13, Z(2^8)^14, Z(2^8)^15, Z(2^8)^16, Z(2^8)^18,
  Z(2^8)^19, Z(2^8)^20, Z(2^8)^21, Z(2^8)^22, Z(2^8)^23, Z(2^8)^24, Z(2^8)^25, Z(2^8)^26, Z(2^8)^27, Z(2^8)^28,
  Z(2^8)^29, Z(2^8)^30, Z(2^8)^31, Z(2^8)^32, Z(2^8)^33, Z(2^8)^35, Z(2^8)^36, Z(2^8)^37, Z(2^8)^38, Z(2^8)^39,
  Z(2^8)^40, Z(2^8)^41, Z(2^8)^42, Z(2^8)^43, Z(2^8)^44, Z(2^8)^45, Z(2^8)^46, Z(2^8)^47, Z(2^8)^48, Z(2^8)^49,
  Z(2^8)^50, Z(2^8)^52, Z(2^8)^53, Z(2^8)^54, Z(2^8)^55, Z(2^8)^56, Z(2^8)^57, Z(2^8)^58, Z(2^8)^59, Z(2^8)^60,
  Z(2^8)^61, Z(2^8)^62, Z(2^8)^63, Z(2^8)^64, Z(2^8)^65, Z(2^8)^66, Z(2^8)^67, Z(2^8)^69, Z(2^8)^70, Z(2^8)^71,
  Z(2^8)^72, Z(2^8)^73, Z(2^8)^74, Z(2^8)^75, Z(2^8)^76, Z(2^8)^77, Z(2^8)^78, Z(2^8)^79, Z(2^8)^80, Z(2^8)^81,
  Z(2^8)^82, Z(2^8)^83, Z(2^8)^84, Z(2^8)^86, Z(2^8)^87, Z(2^8)^88, Z(2^8)^89, Z(2^8)^90, Z(2^8)^91, Z(2^8)^92,
  Z(2^8)^93, Z(2^8)^94, Z(2^8)^95, Z(2^8)^96, Z(2^8)^97, Z(2^8)^98, Z(2^8)^99, Z(2^8)^100, Z(2^8)^101, Z(2^8)^103,
  Z(2^8)^104, Z(2^8)^105, Z(2^8)^106, Z(2^8)^107, Z(2^8)^108, Z(2^8)^109, Z(2^8)^110, Z(2^8)^111, Z(2^8)^112,
  Z(2^8)^113, Z(2^8)^114, Z(2^8)^115, Z(2^8)^116, Z(2^8)^117, Z(2^8)^118, Z(2^8)^120, Z(2^8)^121, Z(2^8)^122,
  Z(2^8)^123, Z(2^8)^124, Z(2^8)^125, Z(2^8)^126, Z(2^8)^127, Z(2^8)^128, Z(2^8)^129, Z(2^8)^130, Z(2^8)^131,
  Z(2^8)^132, Z(2^8)^133, Z(2^8)^134, Z(2^8)^135, Z(2^8)^137, Z(2^8)^138, Z(2^8)^139, Z(2^8)^140, Z(2^8)^141,
  Z(2^8)^142, Z(2^8)^143, Z(2^8)^144, Z(2^8)^145, Z(2^8)^146, Z(2^8)^147, Z(2^8)^148, Z(2^8)^149, Z(2^8)^150,
  Z(2^8)^151, Z(2^8)^152, Z(2^8)^154, Z(2^8)^155, Z(2^8)^156, Z(2^8)^157, Z(2^8)^158, Z(2^8)^159, Z(2^8)^160,
  Z(2^8)^161, Z(2^8)^162, Z(2^8)^163, Z(2^8)^164, Z(2^8)^165, Z(2^8)^166, Z(2^8)^167, Z(2^8)^168, Z(2^8)^169,
  Z(2^8)^171, Z(2^8)^172, Z(2^8)^173, Z(2^8)^174, Z(2^8)^175, Z(2^8)^176, Z(2^8)^177, Z(2^8)^178, Z(2^8)^179,
  Z(2^8)^180, Z(2^8)^181, Z(2^8)^182, Z(2^8)^183, Z(2^8)^184, Z(2^8)^185, Z(2^8)^186, Z(2^8)^188, Z(2^8)^189,
  Z(2^8)^190, Z(2^8)^191, Z(2^8)^192, Z(2^8)^193, Z(2^8)^194, Z(2^8)^195, Z(2^8)^196, Z(2^8)^197, Z(2^8)^198,
  Z(2^8)^199, Z(2^8)^200, Z(2^8)^201, Z(2^8)^202, Z(2^8)^203, Z(2^8)^205, Z(2^8)^206, Z(2^8)^207, Z(2^8)^208,
  Z(2^8)^209, Z(2^8)^210, Z(2^8)^211, Z(2^8)^212, Z(2^8)^213, Z(2^8)^214, Z(2^8)^215, Z(2^8)^216, Z(2^8)^217,
  Z(2^8)^218, Z(2^8)^219, Z(2^8)^220, Z(2^8)^222, Z(2^8)^223, Z(2^8)^224, Z(2^8)^225, Z(2^8)^226, Z(2^8)^227,
  Z(2^8)^228, Z(2^8)^229, Z(2^8)^230, Z(2^8)^231, Z(2^8)^232, Z(2^8)^233, Z(2^8)^234, Z(2^8)^235, Z(2^8)^236,
  Z(2^8)^237, Z(2^8)^239, Z(2^8)^240, Z(2^8)^241, Z(2^8)^242, Z(2^8)^243, Z(2^8)^244, Z(2^8)^245, Z(2^8)^246,
  Z(2^8)^247, Z(2^8)^248, Z(2^8)^249, Z(2^8)^250, Z(2^8)^251, Z(2^8)^252, Z(2^8)^253, Z(2^8)^254 ]
gap> Phi(255);
128

计算F_256中非零元b对本原元a的离散对数logb_a。
gap> for i in [0..254] do Print(LogFFE(Z(256)^i,Z(256)),",");od;
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,
115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,
173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,
231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,
gap> n:=Size(L);for i in [2..n] do Print(LogFFE(L[i],Z(256)),",");od;
256
0,85,170,17,34,51,68,102,119,136,153,187,204,221,238,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,
67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,
107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,
138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,
168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,195,196,197,198,
199,200,201,202,203,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,222,223,224,225,226,227,228,229,
230,231,232,233,234,235,236,237,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,
gap> n:=Size(L);for i in [2..n] do Print(LogFFE(L[i],Z(256)^2),",");od;
256
0,170,85,136,17,153,34,51,187,68,204,221,102,238,119,128,1,129,2,130,3,131,4,132,5,133,6,134,7,135,8,9,137,10,138,11,
139,12,140,13,141,14,142,15,143,16,144,145,18,146,19,147,20,148,21,149,22,150,23,151,24,152,25,26,154,27,155,28,156,
29,157,30,158,31,159,32,160,33,161,162,35,163,36,164,37,165,38,166,39,167,40,168,41,169,42,43,171,44,172,45,173,46,
174,47,175,48,176,49,177,50,178,179,52,180,53,181,54,182,55,183,56,184,57,185,58,186,59,60,188,61,189,62,190,63,191,
64,192,65,193,66,194,67,195,196,69,197,70,198,71,199,72,200,73,201,74,202,75,203,76,77,205,78,206,79,207,80,208,81,
209,82,210,83,211,84,212,213,86,214,87,215,88,216,89,217,90,218,91,219,92,220,93,94,222,95,223,96,224,97,225,98,226,
99,227,100,228,101,229,230,103,231,104,232,105,233,106,234,107,235,108,236,109,237,110,111,239,112,240,113,241,114,
242,115,243,116,244,117,245,118,246,247,120,248,121,249,122,250,123,251,124,252,125,253,126,254,127,
gap> n:=Size(L);for i in [2..n] do Print(LogFFE(L[i],Z(16)),",");od;
256
0,5,10,1,2,3,4,6,7,8,9,11,12,13,
14
 ,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,f\
ail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail\
,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fa\
il,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,\
fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fai\
l,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,f\
ail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail\
,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fa\
il,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,\
fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fail,fai\
l,fail,fail,fail,fail,
gap> n:=Size(L);for i in [2..n] do Print(LogFFE(L[i],Z(256)^3),",");od;
256
0,fail,fail,fail,fail,17,fail,34,fail,fail,51,fail,68,fail,fail,fail,fail,1,fail,fail,2,fail,fail,3,fail,fail,
4,fail,fail,5,fail,6,fail,fail,7,fail,fail,8,fail,fail,9,fail,fail,10,fail,fail,11,fail,12,fail,fail,13,fail,fail,
14,fail,fail,15,fail,fail,16,fail,fail,fail,fail,18,fail,fail,19,fail,fail,20,fail,fail,21,fail,fail,22,fail,
23,fail,fail,24,fail,fail,25,fail,fail,26,fail,fail,27,fail,fail,28,fail,29,fail,fail,30,fail,fail,31,fail,fail,
32,fail,fail,33,fail,fail,fail,fail,35,fail,fail,36,fail,fail,37,fail,fail,38,fail,fail,39,fail,40,fail,fail,
41,fail,fail,42,fail,fail,43,fail,fail,44,fail,fail,45,fail,46,fail,fail,47,fail,fail,48,fail,fail,49,fail,fail,
50,fail,fail,fail,fail,52,fail,fail,53,fail,fail,54,fail,fail,55,fail,fail,56,fail,57,fail,fail,58,fail,fail,
59,fail,fail,60,fail,fail,61,fail,fail,62,fail,63,fail,fail,64,fail,fail,65,fail,fail,66,fail,fail,
67,fail,fail,fail,fail,69,fail,fail,70,fail,fail,71,fail,fail,72,fail,fail,73,fail,74,fail,fail,75,fail,fail,
76,fail,fail,77,fail,fail,78,fail,fail,79,fail,80,fail,fail,81,fail,fail,82,fail,fail,83,fail,fail,84,fail,fail,
gap> n:=Size(L);for i in [2..n] do Print(LogFFE(L[i],Z(256)^4),",");od;
256
0,85,170,68,136,204,17,153,221,34,102,238,51,119,187,64,128,192,1,65,129,193,2,66,130,194,3,67,131,195,4,132,196,5,69,
133,197,6,70,134,198,7,71,135,199,8,72,200,9,73,137,201,10,74,138,202,11,75,139,203,12,76,140,13,77,141,205,14,78,142,
206,15,79,143,207,16,80,144,208,81,145,209,18,82,146,210,19,83,147,211,20,84,148,212,21,149,213,22,86,150,214,23,87,
151,215,24,88,152,216,25,89,217,26,90,154,218,27,91,155,219,28,92,156,220,29,93,157,30,94,158,222,31,95,159,223,32,96,
160,224,33,97,161,225,98,162,226,35,99,163,227,36,100,164,228,37,101,165,229,38,166,230,39,103,167,231,40,104,168,232,
41,105,169,233,42,106,234,43,107,171,235,44,108,172,236,45,109,173,237,46,110,174,47,111,175,239,48,112,176,240,49,
113,177,241,50,114,178,242,115,179,243,52,116,180,244,53,117,181,245,54,118,182,246,55,183,247,56,120,184,248,57,121,
185,249,58,122,186,250,59,123,251,60,124,188,252,61,125,189,253,62,126,190,254,63,127,191,

计算F2[x]/(f)中元素的基表示。
gap> n:=Size(F256);B:=Basis(F256);for i in [0..n-1] do Print (i, " ", Reversed(IntVecFFE(Coefficients(B,Z(256)^i))),",");od;
256
CanonicalBasis( GF(2^8) )
0 [ 0, 0, 0, 0, 0, 0, 0, 1 ],1 [ 0, 0, 0, 0, 0, 0, 1, 1 ],2 [ 0, 0, 0, 0, 0, 1, 0, 1 ],3 [ 0, 0, 0, 0, 1, 1, 1, 1 ],
4 [ 0, 0, 0, 1, 0, 0, 0, 1 ],5 [ 0, 0, 1, 1, 0, 0, 1, 1 ],6 [ 0, 1, 0, 1, 0, 1, 0, 1 ],7 [ 1, 1, 1, 1, 1, 1, 1, 1 ],
8 [ 0, 0, 0, 1, 1, 0, 1, 0 ],9 [ 0, 0, 1, 0, 1, 1, 1, 0 ],10 [ 0, 1, 1, 1, 0, 0, 1, 0 ],11 [ 1, 0, 0, 1, 0, 1, 1, 0 ],
12 [ 1, 0, 1, 0, 0, 0, 0, 1 ],13 [ 1, 1, 1, 1, 1, 0, 0, 0 ],14 [ 0, 0, 0, 1, 0, 0, 1, 1 ],15 [ 0, 0, 1, 1, 0, 1, 0, 1
 ],16 [ 0, 1, 0, 1, 1, 1, 1, 1 ],17 [ 1, 1, 1, 0, 0, 0, 0, 1 ],18 [ 0, 0, 1, 1, 1, 0, 0, 0 ],19
[ 0, 1, 0, 0, 1, 0, 0, 0 ],20 [ 1, 1, 0, 1, 1, 0, 0, 0 ],21 [ 0, 1, 1, 1, 0, 0, 1, 1 ],22 [ 1, 0, 0, 1, 0, 1, 0, 1 ],
23 [ 1, 0, 1, 0, 0, 1, 0, 0 ],24 [ 1, 1, 1, 1, 0, 1, 1, 1 ],25 [ 0, 0, 0, 0, 0, 0, 1, 0 ],26 [ 0, 0, 0, 0, 0, 1, 1, 0
 ],27 [ 0, 0, 0, 0, 1, 0, 1, 0 ],28 [ 0, 0, 0, 1, 1, 1, 1, 0 ],29 [ 0, 0, 1, 0, 0, 0, 1, 0 ],30
[ 0, 1, 1, 0, 0, 1, 1, 0 ],31 [ 1, 0, 1, 0, 1, 0, 1, 0 ],32 [ 1, 1, 1, 0, 0, 1, 0, 1 ],33 [ 0, 0, 1, 1, 0, 1, 0, 0 ],
34 [ 0, 1, 0, 1, 1, 1, 0, 0 ],35 [ 1, 1, 1, 0, 0, 1, 0, 0 ],36 [ 0, 0, 1, 1, 0, 1, 1, 1 ],37 [ 0, 1, 0, 1, 1, 0, 0, 1
 ],38 [ 1, 1, 1, 0, 1, 0, 1, 1 ],39 [ 0, 0, 1, 0, 0, 1, 1, 0 ],40 [ 0, 1, 1, 0, 1, 0, 1, 0 ],41
[ 1, 0, 1, 1, 1, 1, 1, 0 ],42 [ 1, 1, 0, 1, 1, 0, 0, 1 ],43 [ 0, 1, 1, 1, 0, 0, 0, 0 ],44 [ 1, 0, 0, 1, 0, 0, 0, 0 ],
45 [ 1, 0, 1, 0, 1, 0, 1, 1 ],46 [ 1, 1, 1, 0, 0, 1, 1, 0 ],47 [ 0, 0, 1, 1, 0, 0, 0, 1 ],48 [ 0, 1, 0, 1, 0, 0, 1, 1
 ],49 [ 1, 1, 1, 1, 0, 1, 0, 1 ],50 [ 0, 0, 0, 0, 0, 1, 0, 0 ],51 [ 0, 0, 0, 0, 1, 1, 0, 0 ],52
[ 0, 0, 0, 1, 0, 1, 0, 0 ],53 [ 0, 0, 1, 1, 1, 1, 0, 0 ],54 [ 0, 1, 0, 0, 0, 1, 0, 0 ],55 [ 1, 1, 0, 0, 1, 1, 0, 0 ],
56 [ 0, 1, 0, 0, 1, 1, 1, 1 ],57 [ 1, 1, 0, 1, 0, 0, 0, 1 ],58 [ 0, 1, 1, 0, 1, 0, 0, 0 ],59 [ 1, 0, 1, 1, 1, 0, 0, 0
 ],60 [ 1, 1, 0, 1, 0, 0, 1, 1 ],61 [ 0, 1, 1, 0, 1, 1, 1, 0 ],62 [ 1, 0, 1, 1, 0, 0, 1, 0 ],63
[ 1, 1, 0, 0, 1, 1, 0, 1 ],64 [ 0, 1, 0, 0, 1, 1, 0, 0 ],65 [ 1, 1, 0, 1, 0, 1, 0, 0 ],66 [ 0, 1, 1, 0, 0, 1, 1, 1 ],
67 [ 1, 0, 1, 0, 1, 0, 0, 1 ],68 [ 1, 1, 1, 0, 0, 0, 0, 0 ],69 [ 0, 0, 1, 1, 1, 0, 1, 1 ],70 [ 0, 1, 0, 0, 1, 1, 0, 1
 ],71 [ 1, 1, 0, 1, 0, 1, 1, 1 ],72 [ 0, 1, 1, 0, 0, 0, 1, 0 ],73 [ 1, 0, 1, 0, 0, 1, 1, 0 ],74
[ 1, 1, 1, 1, 0, 0, 0, 1 ],75 [ 0, 0, 0, 0, 1, 0, 0, 0 ],76 [ 0, 0, 0, 1, 1, 0, 0, 0 ],77 [ 0, 0, 1, 0, 1, 0, 0, 0 ],
78 [ 0, 1, 1, 1, 1, 0, 0, 0 ],79 [ 1, 0, 0, 0, 1, 0, 0, 0 ],80 [ 1, 0, 0, 0, 0, 0, 1, 1 ],81 [ 1, 0, 0, 1, 1, 1, 1, 0
 ],82 [ 1, 0, 1, 1, 1, 0, 0, 1 ],83 [ 1, 1, 0, 1, 0, 0, 0, 0 ],84 [ 0, 1, 1, 0, 1, 0, 1, 1 ],85
[ 1, 0, 1, 1, 1, 1, 0, 1 ],86 [ 1, 1, 0, 1, 1, 1, 0, 0 ],87 [ 0, 1, 1, 1, 1, 1, 1, 1 ],88 [ 1, 0, 0, 0, 0, 0, 0, 1 ],
89 [ 1, 0, 0, 1, 1, 0, 0, 0 ],90 [ 1, 0, 1, 1, 0, 0, 1, 1 ],91 [ 1, 1, 0, 0, 1, 1, 1, 0 ],92 [ 0, 1, 0, 0, 1, 0, 0, 1
 ],93 [ 1, 1, 0, 1, 1, 0, 1, 1 ],94 [ 0, 1, 1, 1, 0, 1, 1, 0 ],95 [ 1, 0, 0, 1, 1, 0, 1, 0 ],96
[ 1, 0, 1, 1, 0, 1, 0, 1 ],97 [ 1, 1, 0, 0, 0, 1, 0, 0 ],98 [ 0, 1, 0, 1, 0, 1, 1, 1 ],99 [ 1, 1, 1, 1, 1, 0, 0, 1 ],
100 [ 0, 0, 0, 1, 0, 0, 0, 0 ],101 [ 0, 0, 1, 1, 0, 0, 0, 0 ],102 [ 0, 1, 0, 1, 0, 0, 0, 0 ],103
[ 1, 1, 1, 1, 0, 0, 0, 0 ],104 [ 0, 0, 0, 0, 1, 0, 1, 1 ],105 [ 0, 0, 0, 1, 1, 1, 0, 1 ],106 [ 0, 0, 1, 0, 0, 1, 1, 1
 ],107 [ 0, 1, 1, 0, 1, 0, 0, 1 ],108 [ 1, 0, 1, 1, 1, 0, 1, 1 ],109 [ 1, 1, 0, 1, 0, 1, 1, 0 ],110
[ 0, 1, 1, 0, 0, 0, 0, 1 ],111 [ 1, 0, 1, 0, 0, 0, 1, 1 ],112 [ 1, 1, 1, 1, 1, 1, 1, 0 ],113 [ 0, 0, 0, 1, 1, 0, 0, 1
 ],114 [ 0, 0, 1, 0, 1, 0, 1, 1 ],115 [ 0, 1, 1, 1, 1, 1, 0, 1 ],116 [ 1, 0, 0, 0, 0, 1, 1, 1 ],117
[ 1, 0, 0, 1, 0, 0, 1, 0 ],118 [ 1, 0, 1, 0, 1, 1, 0, 1 ],119 [ 1, 1, 1, 0, 1, 1, 0, 0 ],120 [ 0, 0, 1, 0, 1, 1, 1, 1
 ],121 [ 0, 1, 1, 1, 0, 0, 0, 1 ],122 [ 1, 0, 0, 1, 0, 0, 1, 1 ],123 [ 1, 0, 1, 0, 1, 1, 1, 0 ],124
[ 1, 1, 1, 0, 1, 0, 0, 1 ],125 [ 0, 0, 1, 0, 0, 0, 0, 0 ],126 [ 0, 1, 1, 0, 0, 0, 0, 0 ],127 [ 1, 0, 1, 0, 0, 0, 0, 0
 ],128 [ 1, 1, 1, 1, 1, 0, 1, 1 ],129 [ 0, 0, 0, 1, 0, 1, 1, 0 ],130 [ 0, 0, 1, 1, 1, 0, 1, 0 ],131
[ 0, 1, 0, 0, 1, 1, 1, 0 ],132 [ 1, 1, 0, 1, 0, 0, 1, 0 ],133 [ 0, 1, 1, 0, 1, 1, 0, 1 ],134 [ 1, 0, 1, 1, 0, 1, 1, 1
 ],135 [ 1, 1, 0, 0, 0, 0, 1, 0 ],136 [ 0, 1, 0, 1, 1, 1, 0, 1 ],137 [ 1, 1, 1, 0, 0, 1, 1, 1 ],138
[ 0, 0, 1, 1, 0, 0, 1, 0 ],139 [ 0, 1, 0, 1, 0, 1, 1, 0 ],140 [ 1, 1, 1, 1, 1, 0, 1, 0 ],141 [ 0, 0, 0, 1, 0, 1, 0, 1
 ],142 [ 0, 0, 1, 1, 1, 1, 1, 1 ],143 [ 0, 1, 0, 0, 0, 0, 0, 1 ],144 [ 1, 1, 0, 0, 0, 0, 1, 1 ],145
[ 0, 1, 0, 1, 1, 1, 1, 0 ],146 [ 1, 1, 1, 0, 0, 0, 1, 0 ],147 [ 0, 0, 1, 1, 1, 1, 0, 1 ],148 [ 0, 1, 0, 0, 0, 1, 1, 1
 ],149 [ 1, 1, 0, 0, 1, 0, 0, 1 ],150 [ 0, 1, 0, 0, 0, 0, 0, 0 ],151 [ 1, 1, 0, 0, 0, 0, 0, 0 ],152
[ 0, 1, 0, 1, 1, 0, 1, 1 ],153 [ 1, 1, 1, 0, 1, 1, 0, 1 ],154 [ 0, 0, 1, 0, 1, 1, 0, 0 ],155 [ 0, 1, 1, 1, 0, 1, 0, 0
 ],156 [ 1, 0, 0, 1, 1, 1, 0, 0 ],157 [ 1, 0, 1, 1, 1, 1, 1, 1 ],158 [ 1, 1, 0, 1, 1, 0, 1, 0 ],159
[ 0, 1, 1, 1, 0, 1, 0, 1 ],160 [ 1, 0, 0, 1, 1, 1, 1, 1 ],161 [ 1, 0, 1, 1, 1, 0, 1, 0 ],162 [ 1, 1, 0, 1, 0, 1, 0, 1
 ],163 [ 0, 1, 1, 0, 0, 1, 0, 0 ],164 [ 1, 0, 1, 0, 1, 1, 0, 0 ],165 [ 1, 1, 1, 0, 1, 1, 1, 1 ],166
[ 0, 0, 1, 0, 1, 0, 1, 0 ],167 [ 0, 1, 1, 1, 1, 1, 1, 0 ],168 [ 1, 0, 0, 0, 0, 0, 1, 0 ],169 [ 1, 0, 0, 1, 1, 1, 0, 1
 ],170 [ 1, 0, 1, 1, 1, 1, 0, 0 ],171 [ 1, 1, 0, 1, 1, 1, 1, 1 ],172 [ 0, 1, 1, 1, 1, 0, 1, 0 ],173
[ 1, 0, 0, 0, 1, 1, 1, 0 ],174 [ 1, 0, 0, 0, 1, 0, 0, 1 ],175 [ 1, 0, 0, 0, 0, 0, 0, 0 ],176 [ 1, 0, 0, 1, 1, 0, 1, 1
 ],177 [ 1, 0, 1, 1, 0, 1, 1, 0 ],178 [ 1, 1, 0, 0, 0, 0, 0, 1 ],179 [ 0, 1, 0, 1, 1, 0, 0, 0 ],180
[ 1, 1, 1, 0, 1, 0, 0, 0 ],181 [ 0, 0, 1, 0, 0, 0, 1, 1 ],182 [ 0, 1, 1, 0, 0, 1, 0, 1 ],183 [ 1, 0, 1, 0, 1, 1, 1, 1
 ],184 [ 1, 1, 1, 0, 1, 0, 1, 0 ],185 [ 0, 0, 1, 0, 0, 1, 0, 1 ],186 [ 0, 1, 1, 0, 1, 1, 1, 1 ],187
[ 1, 0, 1, 1, 0, 0, 0, 1 ],188 [ 1, 1, 0, 0, 1, 0, 0, 0 ],189 [ 0, 1, 0, 0, 0, 0, 1, 1 ],190 [ 1, 1, 0, 0, 0, 1, 0, 1
 ],191 [ 0, 1, 0, 1, 0, 1, 0, 0 ],192 [ 1, 1, 1, 1, 1, 1, 0, 0 ],193 [ 0, 0, 0, 1, 1, 1, 1, 1 ],194
[ 0, 0, 1, 0, 0, 0, 0, 1 ],195 [ 0, 1, 1, 0, 0, 0, 1, 1 ],196 [ 1, 0, 1, 0, 0, 1, 0, 1 ],197 [ 1, 1, 1, 1, 0, 1, 0, 0
 ],198 [ 0, 0, 0, 0, 0, 1, 1, 1 ],199 [ 0, 0, 0, 0, 1, 0, 0, 1 ],200 [ 0, 0, 0, 1, 1, 0, 1, 1 ],201
[ 0, 0, 1, 0, 1, 1, 0, 1 ],202 [ 0, 1, 1, 1, 0, 1, 1, 1 ],203 [ 1, 0, 0, 1, 1, 0, 0, 1 ],204 [ 1, 0, 1, 1, 0, 0, 0, 0
 ],205 [ 1, 1, 0, 0, 1, 0, 1, 1 ],206 [ 0, 1, 0, 0, 0, 1, 1, 0 ],207 [ 1, 1, 0, 0, 1, 0, 1, 0 ],208
[ 0, 1, 0, 0, 0, 1, 0, 1 ],209 [ 1, 1, 0, 0, 1, 1, 1, 1 ],210 [ 0, 1, 0, 0, 1, 0, 1, 0 ],211 [ 1, 1, 0, 1, 1, 1, 1, 0
 ],212 [ 0, 1, 1, 1, 1, 0, 0, 1 ],213 [ 1, 0, 0, 0, 1, 0, 1, 1 ],214 [ 1, 0, 0, 0, 0, 1, 1, 0 ],215
[ 1, 0, 0, 1, 0, 0, 0, 1 ],216 [ 1, 0, 1, 0, 1, 0, 0, 0 ],217 [ 1, 1, 1, 0, 0, 0, 1, 1 ],218 [ 0, 0, 1, 1, 1, 1, 1, 0
 ],219 [ 0, 1, 0, 0, 0, 0, 1, 0 ],220 [ 1, 1, 0, 0, 0, 1, 1, 0 ],221 [ 0, 1, 0, 1, 0, 0, 0, 1 ],222
[ 1, 1, 1, 1, 0, 0, 1, 1 ],223 [ 0, 0, 0, 0, 1, 1, 1, 0 ],224 [ 0, 0, 0, 1, 0, 0, 1, 0 ],225 [ 0, 0, 1, 1, 0, 1, 1, 0
 ],226 [ 0, 1, 0, 1, 1, 0, 1, 0 ],227 [ 1, 1, 1, 0, 1, 1, 1, 0 ],228 [ 0, 0, 1, 0, 1, 0, 0, 1 ],229
[ 0, 1, 1, 1, 1, 0, 1, 1 ],230 [ 1, 0, 0, 0, 1, 1, 0, 1 ],231 [ 1, 0, 0, 0, 1, 1, 0, 0 ],232 [ 1, 0, 0, 0, 1, 1, 1, 1
 ],233 [ 1, 0, 0, 0, 1, 0, 1, 0 ],234 [ 1, 0, 0, 0, 0, 1, 0, 1 ],235 [ 1, 0, 0, 1, 0, 1, 0, 0 ],236
[ 1, 0, 1, 0, 0, 1, 1, 1 ],237 [ 1, 1, 1, 1, 0, 0, 1, 0 ],238 [ 0, 0, 0, 0, 1, 1, 0, 1 ],239 [ 0, 0, 0, 1, 0, 1, 1, 1
 ],240 [ 0, 0, 1, 1, 1, 0, 0, 1 ],241 [ 0, 1, 0, 0, 1, 0, 1, 1 ],242 [ 1, 1, 0, 1, 1, 1, 0, 1 ],243
[ 0, 1, 1, 1, 1, 1, 0, 0 ],244 [ 1, 0, 0, 0, 0, 1, 0, 0 ],245 [ 1, 0, 0, 1, 0, 1, 1, 1 ],246 [ 1, 0, 1, 0, 0, 0, 1, 0
 ],247 [ 1, 1, 1, 1, 1, 1, 0, 1 ],248 [ 0, 0, 0, 1, 1, 1, 0, 0 ],249 [ 0, 0, 1, 0, 0, 1, 0, 0 ],250
[ 0, 1, 1, 0, 1, 1, 0, 0 ],251 [ 1, 0, 1, 1, 0, 1, 0, 0 ],252 [ 1, 1, 0, 0, 0, 1, 1, 1 ],253 [ 0, 1, 0, 1, 0, 0, 1, 0
 ],254 [ 1, 1, 1, 1, 0, 1, 1, 0 ],255 [ 0, 0, 0, 0, 0, 0, 0, 1 ],
gap> n:=256;B:=Basis(GF(n));for i in [0..n-1] do Print (i, " ", Reversed(IntVecFFE(Coefficients(B,Z(n)^i))),",");od;
256
CanonicalBasis( GF(2^8) )
0 [ 0, 0, 0, 0, 0, 0, 0, 1 ],1 [ 0, 0, 0, 0, 0, 0, 1, 0 ],2 [ 0, 0, 0, 0, 0, 1, 0, 0 ],3 [ 0, 0, 0, 0, 1, 0, 0, 0 ],
4 [ 0, 0, 0, 1, 0, 0, 0, 0 ],5 [ 0, 0, 1, 0, 0, 0, 0, 0 ],6 [ 0, 1, 0, 0, 0, 0, 0, 0 ],7 [ 1, 0, 0, 0, 0, 0, 0, 0 ],
8 [ 0, 0, 0, 1, 1, 1, 0, 1 ],9 [ 0, 0, 1, 1, 1, 0, 1, 0 ],10 [ 0, 1, 1, 1, 0, 1, 0, 0 ],11 [ 1, 1, 1, 0, 1, 0, 0, 0 ],
12 [ 1, 1, 0, 0, 1, 1, 0, 1 ],13 [ 1, 0, 0, 0, 0, 1, 1, 1 ],14 [ 0, 0, 0, 1, 0, 0, 1, 1 ],15 [ 0, 0, 1, 0, 0, 1, 1, 0
 ],16 [ 0, 1, 0, 0, 1, 1, 0, 0 ],17 [ 1, 0, 0, 1, 1, 0, 0, 0 ],18 [ 0, 0, 1, 0, 1, 1, 0, 1 ],19
[ 0, 1, 0, 1, 1, 0, 1, 0 ],20 [ 1, 0, 1, 1, 0, 1, 0, 0 ],21 [ 0, 1, 1, 1, 0, 1, 0, 1 ],22 [ 1, 1, 1, 0, 1, 0, 1, 0 ],
23 [ 1, 1, 0, 0, 1, 0, 0, 1 ],24 [ 1, 0, 0, 0, 1, 1, 1, 1 ],25 [ 0, 0, 0, 0, 0, 0, 1, 1 ],26 [ 0, 0, 0, 0, 0, 1, 1, 0
 ],27 [ 0, 0, 0, 0, 1, 1, 0, 0 ],28 [ 0, 0, 0, 1, 1, 0, 0, 0 ],29 [ 0, 0, 1, 1, 0, 0, 0, 0 ],30
[ 0, 1, 1, 0, 0, 0, 0, 0 ],31 [ 1, 1, 0, 0, 0, 0, 0, 0 ],32 [ 1, 0, 0, 1, 1, 1, 0, 1 ],33 [ 0, 0, 1, 0, 0, 1, 1, 1 ],
34 [ 0, 1, 0, 0, 1, 1, 1, 0 ],35 [ 1, 0, 0, 1, 1, 1, 0, 0 ],36 [ 0, 0, 1, 0, 0, 1, 0, 1 ],37 [ 0, 1, 0, 0, 1, 0, 1, 0
 ],38 [ 1, 0, 0, 1, 0, 1, 0, 0 ],39 [ 0, 0, 1, 1, 0, 1, 0, 1 ],40 [ 0, 1, 1, 0, 1, 0, 1, 0 ],41
[ 1, 1, 0, 1, 0, 1, 0, 0 ],42 [ 1, 0, 1, 1, 0, 1, 0, 1 ],43 [ 0, 1, 1, 1, 0, 1, 1, 1 ],44 [ 1, 1, 1, 0, 1, 1, 1, 0 ],
45 [ 1, 1, 0, 0, 0, 0, 0, 1 ],46 [ 1, 0, 0, 1, 1, 1, 1, 1 ],47 [ 0, 0, 1, 0, 0, 0, 1, 1 ],48 [ 0, 1, 0, 0, 0, 1, 1, 0
 ],49 [ 1, 0, 0, 0, 1, 1, 0, 0 ],50 [ 0, 0, 0, 0, 0, 1, 0, 1 ],51 [ 0, 0, 0, 0, 1, 0, 1, 0 ],52
[ 0, 0, 0, 1, 0, 1, 0, 0 ],53 [ 0, 0, 1, 0, 1, 0, 0, 0 ],54 [ 0, 1, 0, 1, 0, 0, 0, 0 ],55 [ 1, 0, 1, 0, 0, 0, 0, 0 ],
56 [ 0, 1, 0, 1, 1, 1, 0, 1 ],57 [ 1, 0, 1, 1, 1, 0, 1, 0 ],58 [ 0, 1, 1, 0, 1, 0, 0, 1 ],59 [ 1, 1, 0, 1, 0, 0, 1, 0
 ],60 [ 1, 0, 1, 1, 1, 0, 0, 1 ],61 [ 0, 1, 1, 0, 1, 1, 1, 1 ],62 [ 1, 1, 0, 1, 1, 1, 1, 0 ],63
[ 1, 0, 1, 0, 0, 0, 0, 1 ],64 [ 0, 1, 0, 1, 1, 1, 1, 1 ],65 [ 1, 0, 1, 1, 1, 1, 1, 0 ],66 [ 0, 1, 1, 0, 0, 0, 0, 1 ],
67 [ 1, 1, 0, 0, 0, 0, 1, 0 ],68 [ 1, 0, 0, 1, 1, 0, 0, 1 ],69 [ 0, 0, 1, 0, 1, 1, 1, 1 ],70 [ 0, 1, 0, 1, 1, 1, 1, 0
 ],71 [ 1, 0, 1, 1, 1, 1, 0, 0 ],72 [ 0, 1, 1, 0, 0, 1, 0, 1 ],73 [ 1, 1, 0, 0, 1, 0, 1, 0 ],74
[ 1, 0, 0, 0, 1, 0, 0, 1 ],75 [ 0, 0, 0, 0, 1, 1, 1, 1 ],76 [ 0, 0, 0, 1, 1, 1, 1, 0 ],77 [ 0, 0, 1, 1, 1, 1, 0, 0 ],
78 [ 0, 1, 1, 1, 1, 0, 0, 0 ],79 [ 1, 1, 1, 1, 0, 0, 0, 0 ],80 [ 1, 1, 1, 1, 1, 1, 0, 1 ],81 [ 1, 1, 1, 0, 0, 1, 1, 1
 ],82 [ 1, 1, 0, 1, 0, 0, 1, 1 ],83 [ 1, 0, 1, 1, 1, 0, 1, 1 ],84 [ 0, 1, 1, 0, 1, 0, 1, 1 ],85
[ 1, 1, 0, 1, 0, 1, 1, 0 ],86 [ 1, 0, 1, 1, 0, 0, 0, 1 ],87 [ 0, 1, 1, 1, 1, 1, 1, 1 ],88 [ 1, 1, 1, 1, 1, 1, 1, 0 ],
89 [ 1, 1, 1, 0, 0, 0, 0, 1 ],90 [ 1, 1, 0, 1, 1, 1, 1, 1 ],91 [ 1, 0, 1, 0, 0, 0, 1, 1 ],92 [ 0, 1, 0, 1, 1, 0, 1, 1
 ],93 [ 1, 0, 1, 1, 0, 1, 1, 0 ],94 [ 0, 1, 1, 1, 0, 0, 0, 1 ],95 [ 1, 1, 1, 0, 0, 0, 1, 0 ],96
[ 1, 1, 0, 1, 1, 0, 0, 1 ],97 [ 1, 0, 1, 0, 1, 1, 1, 1 ],98 [ 0, 1, 0, 0, 0, 0, 1, 1 ],99 [ 1, 0, 0, 0, 0, 1, 1, 0 ],
100 [ 0, 0, 0, 1, 0, 0, 0, 1 ],101 [ 0, 0, 1, 0, 0, 0, 1, 0 ],102 [ 0, 1, 0, 0, 0, 1, 0, 0 ],103
[ 1, 0, 0, 0, 1, 0, 0, 0 ],104 [ 0, 0, 0, 0, 1, 1, 0, 1 ],105 [ 0, 0, 0, 1, 1, 0, 1, 0 ],106 [ 0, 0, 1, 1, 0, 1, 0, 0
 ],107 [ 0, 1, 1, 0, 1, 0, 0, 0 ],108 [ 1, 1, 0, 1, 0, 0, 0, 0 ],109 [ 1, 0, 1, 1, 1, 1, 0, 1 ],110
[ 0, 1, 1, 0, 0, 1, 1, 1 ],111 [ 1, 1, 0, 0, 1, 1, 1, 0 ],112 [ 1, 0, 0, 0, 0, 0, 0, 1 ],113 [ 0, 0, 0, 1, 1, 1, 1, 1
 ],114 [ 0, 0, 1, 1, 1, 1, 1, 0 ],115 [ 0, 1, 1, 1, 1, 1, 0, 0 ],116 [ 1, 1, 1, 1, 1, 0, 0, 0 ],117
[ 1, 1, 1, 0, 1, 1, 0, 1 ],118 [ 1, 1, 0, 0, 0, 1, 1, 1 ],119 [ 1, 0, 0, 1, 0, 0, 1, 1 ],120 [ 0, 0, 1, 1, 1, 0, 1, 1
 ],121 [ 0, 1, 1, 1, 0, 1, 1, 0 ],122 [ 1, 1, 1, 0, 1, 1, 0, 0 ],123 [ 1, 1, 0, 0, 0, 1, 0, 1 ],124
[ 1, 0, 0, 1, 0, 1, 1, 1 ],125 [ 0, 0, 1, 1, 0, 0, 1, 1 ],126 [ 0, 1, 1, 0, 0, 1, 1, 0 ],127 [ 1, 1, 0, 0, 1, 1, 0, 0
 ],128 [ 1, 0, 0, 0, 0, 1, 0, 1 ],129 [ 0, 0, 0, 1, 0, 1, 1, 1 ],130 [ 0, 0, 1, 0, 1, 1, 1, 0 ],131
[ 0, 1, 0, 1, 1, 1, 0, 0 ],132 [ 1, 0, 1, 1, 1, 0, 0, 0 ],133 [ 0, 1, 1, 0, 1, 1, 0, 1 ],134 [ 1, 1, 0, 1, 1, 0, 1, 0
 ],135 [ 1, 0, 1, 0, 1, 0, 0, 1 ],136 [ 0, 1, 0, 0, 1, 1, 1, 1 ],137 [ 1, 0, 0, 1, 1, 1, 1, 0 ],138
[ 0, 0, 1, 0, 0, 0, 0, 1 ],139 [ 0, 1, 0, 0, 0, 0, 1, 0 ],140 [ 1, 0, 0, 0, 0, 1, 0, 0 ],141 [ 0, 0, 0, 1, 0, 1, 0, 1
 ],142 [ 0, 0, 1, 0, 1, 0, 1, 0 ],143 [ 0, 1, 0, 1, 0, 1, 0, 0 ],144 [ 1, 0, 1, 0, 1, 0, 0, 0 ],145
[ 0, 1, 0, 0, 1, 1, 0, 1 ],146 [ 1, 0, 0, 1, 1, 0, 1, 0 ],147 [ 0, 0, 1, 0, 1, 0, 0, 1 ],148 [ 0, 1, 0, 1, 0, 0, 1, 0
 ],149 [ 1, 0, 1, 0, 0, 1, 0, 0 ],150 [ 0, 1, 0, 1, 0, 1, 0, 1 ],151 [ 1, 0, 1, 0, 1, 0, 1, 0 ],152
[ 0, 1, 0, 0, 1, 0, 0, 1 ],153 [ 1, 0, 0, 1, 0, 0, 1, 0 ],154 [ 0, 0, 1, 1, 1, 0, 0, 1 ],155 [ 0, 1, 1, 1, 0, 0, 1, 0
 ],156 [ 1, 1, 1, 0, 0, 1, 0, 0 ],157 [ 1, 1, 0, 1, 0, 1, 0, 1 ],158 [ 1, 0, 1, 1, 0, 1, 1, 1 ],159
[ 0, 1, 1, 1, 0, 0, 1, 1 ],160 [ 1, 1, 1, 0, 0, 1, 1, 0 ],161 [ 1, 1, 0, 1, 0, 0, 0, 1 ],162 [ 1, 0, 1, 1, 1, 1, 1, 1
 ],163 [ 0, 1, 1, 0, 0, 0, 1, 1 ],164 [ 1, 1, 0, 0, 0, 1, 1, 0 ],165 [ 1, 0, 0, 1, 0, 0, 0, 1 ],166
[ 0, 0, 1, 1, 1, 1, 1, 1 ],167 [ 0, 1, 1, 1, 1, 1, 1, 0 ],168 [ 1, 1, 1, 1, 1, 1, 0, 0 ],169 [ 1, 1, 1, 0, 0, 1, 0, 1
 ],170 [ 1, 1, 0, 1, 0, 1, 1, 1 ],171 [ 1, 0, 1, 1, 0, 0, 1, 1 ],172 [ 0, 1, 1, 1, 1, 0, 1, 1 ],173
[ 1, 1, 1, 1, 0, 1, 1, 0 ],174 [ 1, 1, 1, 1, 0, 0, 0, 1 ],175 [ 1, 1, 1, 1, 1, 1, 1, 1 ],176 [ 1, 1, 1, 0, 0, 0, 1, 1
 ],177 [ 1, 1, 0, 1, 1, 0, 1, 1 ],178 [ 1, 0, 1, 0, 1, 0, 1, 1 ],179 [ 0, 1, 0, 0, 1, 0, 1, 1 ],180
[ 1, 0, 0, 1, 0, 1, 1, 0 ],181 [ 0, 0, 1, 1, 0, 0, 0, 1 ],182 [ 0, 1, 1, 0, 0, 0, 1, 0 ],183 [ 1, 1, 0, 0, 0, 1, 0, 0
 ],184 [ 1, 0, 0, 1, 0, 1, 0, 1 ],185 [ 0, 0, 1, 1, 0, 1, 1, 1 ],186 [ 0, 1, 1, 0, 1, 1, 1, 0 ],187
[ 1, 1, 0, 1, 1, 1, 0, 0 ],188 [ 1, 0, 1, 0, 0, 1, 0, 1 ],189 [ 0, 1, 0, 1, 0, 1, 1, 1 ],190 [ 1, 0, 1, 0, 1, 1, 1, 0
 ],191 [ 0, 1, 0, 0, 0, 0, 0, 1 ],192 [ 1, 0, 0, 0, 0, 0, 1, 0 ],193 [ 0, 0, 0, 1, 1, 0, 0, 1 ],194
[ 0, 0, 1, 1, 0, 0, 1, 0 ],195 [ 0, 1, 1, 0, 0, 1, 0, 0 ],196 [ 1, 1, 0, 0, 1, 0, 0, 0 ],197 [ 1, 0, 0, 0, 1, 1, 0, 1
 ],198 [ 0, 0, 0, 0, 0, 1, 1, 1 ],199 [ 0, 0, 0, 0, 1, 1, 1, 0 ],200 [ 0, 0, 0, 1, 1, 1, 0, 0 ],201
[ 0, 0, 1, 1, 1, 0, 0, 0 ],202 [ 0, 1, 1, 1, 0, 0, 0, 0 ],203 [ 1, 1, 1, 0, 0, 0, 0, 0 ],204 [ 1, 1, 0, 1, 1, 1, 0, 1
 ],205 [ 1, 0, 1, 0, 0, 1, 1, 1 ],206 [ 0, 1, 0, 1, 0, 0, 1, 1 ],207 [ 1, 0, 1, 0, 0, 1, 1, 0 ],208
[ 0, 1, 0, 1, 0, 0, 0, 1 ],209 [ 1, 0, 1, 0, 0, 0, 1, 0 ],210 [ 0, 1, 0, 1, 1, 0, 0, 1 ],211 [ 1, 0, 1, 1, 0, 0, 1, 0
 ],212 [ 0, 1, 1, 1, 1, 0, 0, 1 ],213 [ 1, 1, 1, 1, 0, 0, 1, 0 ],214 [ 1, 1, 1, 1, 1, 0, 0, 1 ],215
[ 1, 1, 1, 0, 1, 1, 1, 1 ],216 [ 1, 1, 0, 0, 0, 0, 1, 1 ],217 [ 1, 0, 0, 1, 1, 0, 1, 1 ],218 [ 0, 0, 1, 0, 1, 0, 1, 1
 ],219 [ 0, 1, 0, 1, 0, 1, 1, 0 ],220 [ 1, 0, 1, 0, 1, 1, 0, 0 ],221 [ 0, 1, 0, 0, 0, 1, 0, 1 ],222
[ 1, 0, 0, 0, 1, 0, 1, 0 ],223 [ 0, 0, 0, 0, 1, 0, 0, 1 ],224 [ 0, 0, 0, 1, 0, 0, 1, 0 ],225 [ 0, 0, 1, 0, 0, 1, 0, 0
 ],226 [ 0, 1, 0, 0, 1, 0, 0, 0 ],227 [ 1, 0, 0, 1, 0, 0, 0, 0 ],228 [ 0, 0, 1, 1, 1, 1, 0, 1 ],229
[ 0, 1, 1, 1, 1, 0, 1, 0 ],230 [ 1, 1, 1, 1, 0, 1, 0, 0 ],231 [ 1, 1, 1, 1, 0, 1, 0, 1 ],232 [ 1, 1, 1, 1, 0, 1, 1, 1
 ],233 [ 1, 1, 1, 1, 0, 0, 1, 1 ],234 [ 1, 1, 1, 1, 1, 0, 1, 1 ],235 [ 1, 1, 1, 0, 1, 0, 1, 1 ],236
[ 1, 1, 0, 0, 1, 0, 1, 1 ],237 [ 1, 0, 0, 0, 1, 0, 1, 1 ],238 [ 0, 0, 0, 0, 1, 0, 1, 1 ],239 [ 0, 0, 0, 1, 0, 1, 1, 0
 ],240 [ 0, 0, 1, 0, 1, 1, 0, 0 ],241 [ 0, 1, 0, 1, 1, 0, 0, 0 ],242 [ 1, 0, 1, 1, 0, 0, 0, 0 ],243
[ 0, 1, 1, 1, 1, 1, 0, 1 ],244 [ 1, 1, 1, 1, 1, 0, 1, 0 ],245 [ 1, 1, 1, 0, 1, 0, 0, 1 ],246 [ 1, 1, 0, 0, 1, 1, 1, 1
 ],247 [ 1, 0, 0, 0, 0, 0, 1, 1 ],248 [ 0, 0, 0, 1, 1, 0, 1, 1 ],249 [ 0, 0, 1, 1, 0, 1, 1, 0 ],250
[ 0, 1, 1, 0, 1, 1, 0, 0 ],251 [ 1, 1, 0, 1, 1, 0, 0, 0 ],252 [ 1, 0, 1, 0, 1, 1, 0, 1 ],253 [ 0, 1, 0, 0, 0, 1, 1, 1
 ],254 [ 1, 0, 0, 0, 1, 1, 1, 0 ],255 [ 0, 0, 0, 0, 0, 0, 0, 1 ],











你可能感兴趣的:(低阶有限环的分类(2014-04-25 10:23、2014-05-23 21:39))