有限循環環的理想子環表示:Z/(n)的理想子環mZ/nZ
有限交換環的理想子環表示:Z[i]/(m+ni)、Z[ω]/(m+nω)、Z[E(n)]/(m+nE(n))的理想子環
克羅內克-韋伯定理(1853-1886):有理數域的任一阿貝爾擴張一定是分圓域的子域。
猜想1:有限交換環一定可以表示爲分圓整數環剩餘類環的子環。
猜想2:n階有限環一定可以表示爲k階係數環R_k上的k^(m^2)階全矩陣環M_m(R_k)的子環。
證明a+bi、a+bω都是代數整數:a+bi的首1多項式是(x-a)^2+b^2=x^2-2ax+(a^2+b^2),a+bω的首1多項式是(x-a)^3-b^3
Z[E(8)]中的代數整數形如:a+bE(8)+cE(8)^2+dE(8)^3
乘積:(a1+b1E(8)+c1E(8)^2+d1E(8)^3)(a2+b2E(8)+c2E(8)^2+d2E(8)^3)=a1a2+(a1b2+b1a2)E(8)+(b1b2+a1c2+c1a2)E(8)^2+(b1c2+c1b2+a1d2+d1a2)E(8)^3+(c1c2+b1d2+d1b2)(-1)
+(c1d2+d1c2)(-E(8))+(d1d2)(-E(8)^2)=a1a2-c1c2-b1d2-d1b2+(a1b2+b1a2-c1d2-d1c2)E(8)+(b1b2+a1c2+c1a2-d1d2)E(8)^2+(b1c2+c1b2+a1d2+d1a2)E(8)^3
範數:Norm(a+bE(8)+cE(8)^2+dE(8)^3)=(a^2-c^2+2bd)^2+(d^2-b^2+2ac)^2
gap> L:=[1,E(8),E(8)^2,E(8)^3,E(8)^4,E(8)^5,E(8)^6,E(8)^7];List(L,Order);
[ 1, E(8), E(4), E(8)^3, -1, -E(8), -E(4), -E(8)^3 ]
[ 1, 8, 4, 8, 2, 8, 4, 8 ]
R8_23=ZimodnZObj(2i,8)【還剩10種】
S(R8_23)=6,[1,2,2,2,4,8]
N(R8_23)=6,[1,2,2,2,4,8]
4階理想子環:R4_4
4階商環:R4_1、R4_5、R4_2
R8_16={0,2,4,6,4i,2+4i,4+4i,6+4i}mod8
S(R8_16)=8,[1,2,2,2,4,4,4,8]
N(R8_16)=8,[1,2,2,2,4,4,4,8]
R8_24=ZimodnZObj(1+i,4)
1->0+0i
2->1+1i
3->0-2i
4->-2-2i
5->1-1i
6->-1-1i
7->-2+0i
8->-1+1i
[R8Add]
1 2 3 4 5 6 7 8
2 4 5 6 7 1 8 3
3 5 1 7 2 8 4 6
4 6 7 1 8 2 3 5
5 7 2 8 4 3 6 1
6 1 8 2 3 4 5 7
7 8 4 3 6 5 1 2
8 3 6 5 1 7 2 4
[R8Mul]
1 1 1 1 1 1 1 1
1 3 4 1 7 3 4 7
1 4 1 1 4 4 1 4
1 1 1 1 1 1 1 1
1 7 4 1 3 7 4 3
1 3 4 1 7 3 4 7
1 4 1 1 4 4 1 4
1 7 4 1 3 7 4 3
R8_21=ZimodnZObj(1+2i,4)
1->0+0i
2->1-2i
3->1+0i
4->-2+0i
5->-2-2i
6->-1-2i
7->-1+0i
8->0-2i
[R8Add]
1 2 3 4 5 6 7 8
2 4 5 6 7 1 8 3
3 5 4 7 6 8 1 2
4 6 7 1 8 2 3 5
5 7 6 8 1 3 2 4
6 1 8 2 3 4 5 7
7 8 1 3 2 5 4 6
8 3 2 5 4 7 6 1
[R8Mul]
1 1 1 1 1 1 1 1
1 3 2 4 5 7 6 8
1 2 3 4 5 6 7 8
1 4 4 1 1 4 4 1
1 5 5 1 1 5 5 1
1 7 6 4 5 3 2 8
1 6 7 4 5 2 3 8
1 8 8 1 1 8 8 1
R16_105=Z[i]/(4)=ZimodnZObj(2+i,4)
1->0+0i
2->-2+1i
3->-1+0i
4->0-2i
5->-2-1i
6->1+1i
7->-2+0i
8->1+0i
9->1-1i
10->-1-2i
11->0+1i
12->-1+1i
13->-1-1i
14->0-1i
15->-2-2i
16->1-2i
[R16Add]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2 4 6 5 1 10 11 12 3 9 15 16 8 7 14 13
3 6 7 10 9 11 8 1 14 15 12 2 5 13 16 4
4 5 10 1 2 9 15 16 6 3 14 13 12 11 7 8
5 1 9 2 4 3 14 13 10 6 7 8 16 15 11 12
6 10 11 9 3 15 12 2 7 14 16 4 1 8 13 5
7 11 8 15 14 12 1 3 13 16 2 6 9 5 4 10
8 12 1 16 13 2 3 7 5 4 6 11 14 9 10 15
9 3 14 6 10 7 13 5 15 11 8 1 4 16 12 2
10 9 15 3 6 14 16 4 11 7 13 5 2 12 8 1
11 15 12 14 7 16 2 6 8 13 4 10 3 1 5 9
12 16 2 13 8 4 6 11 1 5 10 15 7 3 9 14
13 8 5 12 16 1 9 14 4 2 3 7 15 10 6 11
14 7 13 11 15 8 5 9 16 12 1 3 10 4 2 6
15 14 16 7 11 13 4 10 12 8 5 9 6 2 1 3
16 13 4 8 12 5 10 15 2 1 9 14 11 6 3 7
[R16Mul]
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 3 5 7 8 9 4 2 13 14 10 6 12 16 15 11
1 5 8 4 2 13 7 3 12 16 14 9 6 11 15 10
1 7 4 1 7 15 1 4 15 4 7 15 15 7 1 4
1 8 2 7 3 12 4 5 6 11 16 13 9 10 15 14
1 9 13 15 12 4 15 6 7 6 12 7 4 9 1 13
1 4 7 1 4 15 1 7 15 7 4 15 15 4 1 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 13 12 15 6 7 15 9 4 9 6 4 7 13 1 12
1 14 16 4 11 6 7 10 9 8 5 12 13 2 15 3
1 10 14 7 16 12 4 11 6 5 3 13 9 8 15 2
1 6 9 15 13 7 15 12 4 12 13 4 7 6 1 9
1 12 6 15 9 4 15 13 7 13 9 7 4 12 1 6
1 16 11 7 10 9 4 14 13 2 8 6 12 3 15 5
1 15 15 1 15 1 1 15 1 15 15 1 1 15 1 15
1 11 10 4 14 13 7 16 12 3 2 9 6 5 15 8
R4_3=ZimodnZObj(1,4)=Z/(3)
1->0+0i
2->1+0i
3->-2+0i
4->-1+0i
[R4Add]
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
[R4Mul]
1 1 1 1
1 2 3 4
1 3 1 3
1 4 3 2
R4_4={0,2,2i,2+2i}mod4
1->0+0i
2->-2+0i
3->0-2i
4->-2-2i
[R4Add]
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
[R4Mul]
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
R4_5=ZimodnZObj(1+i,2+2i)
1->0+0i
2->-1-1i
3->0-2i
4->1-1i
[R4Add]
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
[R4Mul]
1 1 1 1
1 3 1 3
1 1 1 1
1 3 1 3
R8_22=Z[i]/(2+2i)=ZimodnZObj(2+i,2+2i)
1->0+0i
2->0-1i
3->-1+-0i
4->0-2i
5->-0+1i
6->-1-1i
7->1+0i
8->1-1i
[R8Add]
1 2 3 4 5 6 7 8
2 4 6 5 1 7 8 3
3 6 4 7 8 5 1 2
4 5 7 1 2 8 3 6
5 1 8 2 4 3 6 7
6 7 5 8 3 1 2 4
7 8 1 3 6 2 4 5
8 3 2 6 7 4 5 1
[R8Mul]
1 1 1 1 1 1 1 1
1 3 5 4 7 8 2 6
1 5 7 4 2 6 3 8
1 4 4 1 4 1 4 1
1 7 2 4 3 8 5 6
1 8 6 1 8 4 6 4
1 2 3 4 5 6 7 8
1 6 8 1 6 4 8 4
R8_23=ZimodnZObj(2i,8)
1->0+0i
2->0+2i
3->-4+0i
4->0-4i
5->-4+2i
6->0-2i
7->-4-4i
8->-4-2i
[R8Add]
1 2 3 4 5 6 7 8
2 4 5 6 7 1 8 3
3 5 1 7 2 8 4 6
4 6 7 1 8 2 3 5
5 7 2 8 4 3 6 1
6 1 8 2 3 4 5 7
7 8 4 3 6 5 1 2
8 3 6 5 1 7 2 4
[R8Mul]
1 1 1 1 1 1 1 1
1 3 1 1 3 3 1 3
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 3 1 1 3 3 1 3
1 3 1 1 3 3 1 3
1 1 1 1 1 1 1 1
1 3 1 1 3 3 1 3
R8_16={0,2,4,6,4i,2+4i,4+4i,6+4i}mod8
1->0+0i
2->2-4i
3->0-4i
4->-4+0i
5->2+0i
6->-2-4i
7->-4-4i
8->-2+0i
[R8Add]
1 2 3 4 5 6 7 8
2 4 5 6 7 1 8 3
3 5 1 7 2 8 4 6
4 6 7 1 8 2 3 5
5 7 2 8 4 3 6 1
6 1 8 2 3 4 5 7
7 8 4 3 6 5 1 2
8 3 6 5 1 7 2 4
[R8Mul]
1 1 1 1 1 1 1 1
1 4 1 1 4 4 1 4
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 4 1 1 4 4 1 4
1 4 1 1 4 4 1 4
1 1 1 1 1 1 1 1
1 4 1 1 4 4 1 4
function FRZi(z,...)
local S={}
local r0=gMod({0,0},z)
table.insert(S,r0)
local args = { ... }
for i,v in pairs(args) do
local r1=gMod(v,z)
table.insert(S,r1)
end
local cnt=0
local cnt1=get_len(S)
while(cnt1>cnt) do
cnt=get_len(S)
for ki,vi in pairs(S) do
for kj,vj in pairs(S) do
local ij=gMod(gMul(vi,vj),z)
local IJ=get_key2(ij,S)
if(IJ==-1) then
table.insert(S,ij)
end
local ij1=gMod(gAdd(vi,vj),z)
local IJ1=get_key2(ij1,S)
if(IJ1==-1) then
table.insert(S,ij1)
end
end
end
cnt1=get_len(S)
end
return S
end
function ZimodnZObj(z1,z)
local S=FRZi(z,z1)
return S
end
function printZiSet(G)
for k,v in pairs(G) do
io.write(k, "->")
io.write (gStr(v))
io.write("\n")
end
end
function printZiTable(S,z)
local n=get_len(S)
local s1="[R"..n.."Add]"
local s2="[R"..n.."Mul]"
print(s1)
printAddTable(S,z,gAdd)
print(s2)
printAddTable(S,z,gMul)
end