20200406

有限循環環的理想子環表示: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
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章