Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
108 views
unlisted
ubuntu2204
Kernel: SageMath 9.8

The group SL2(F3)\mathbf{SL}_2(\mathbf{F}_3) (the binary tetrahedral group) is not the group of units of a ring of characteristic 2.

# TableRing(G, L, C, verbose=False) # # Returns the ring R = Z_C[G]. # # G is a group (defined using GAP) # L is a list of labels for the elements of G; the # label order should match the output of G.Elements() # C is a positive integer # # verbose should be set to true if you want to print # the operation table to check your labels def TableRing(G, L, C, verbose=False): OrdG = int(G.Order()) T = gap.EmptySCTable(OrdG,0) GE = G.Elements() GD = {g: i for i, g in enumerate(GE)} if verbose: print("Group multiplication:") print("---------------------") for i in [1..OrdG]: for j in [1..OrdG]: if verbose: print(L[i-1], "*", L[j-1], "=", L[GD[GE[i]*GE[j]]]) gap.SetEntrySCTable(T,i,j,[1, GD[GE[i]*GE[j]]+1]) O = [C]*OrdG return gap.RingByStructureConstants(O, T, L)
# SL(2,3) is not realizable in characteristic 2. G = gap.SmallGroup(24,3) # To check that L is correct, change "False" to "True" in R = TableRing(...) below and inspect the result. # # The element c below has order 3. L = libgap(["1", "c", "i", "j", "-e", "c^2", "ci", "cj", "-c", "k", "-i", "-j", "c^2i", "c^2j", "-c^2", "ck", "-ci", "-cj", "-k", "c^2k", "-c^2i", "-c^2j", "-ck", "-c^2k"]) C = 2 R = TableRing(G, L, C, True) Gens = gap.GeneratorsOfRing(R)
Group multiplication: --------------------- 1 * 1 = 1 1 * c = c 1 * i = i 1 * j = j 1 * -e = -e 1 * c^2 = c^2 1 * ci = ci 1 * cj = cj 1 * -c = -c 1 * k = k 1 * -i = -i 1 * -j = -j 1 * c^2i = c^2i 1 * c^2j = c^2j 1 * -c^2 = -c^2 1 * ck = ck 1 * -ci = -ci 1 * -cj = -cj 1 * -k = -k 1 * c^2k = c^2k 1 * -c^2i = -c^2i 1 * -c^2j = -c^2j 1 * -ck = -ck 1 * -c^2k = -c^2k c * 1 = c c * c = c^2 c * i = ci c * j = cj c * -e = -c c * c^2 = 1 c * ci = c^2i c * cj = c^2j c * -c = -c^2 c * k = ck c * -i = -ci c * -j = -cj c * c^2i = i c * c^2j = j c * -c^2 = -e c * ck = c^2k c * -ci = -c^2i c * -cj = -c^2j c * -k = -ck c * c^2k = k c * -c^2i = -i c * -c^2j = -j c * -ck = -c^2k c * -c^2k = -k i * 1 = i i * c = cj i * i = -e i * j = k i * -e = -i i * c^2 = c^2k i * ci = -ck i * cj = -c i * -c = -cj i * k = -j i * -i = 1 i * -j = -k i * c^2i = c^2j i * c^2j = -c^2i i * -c^2 = -c^2k i * ck = ci i * -ci = ck i * -cj = c i * -k = j i * c^2k = -c^2 i * -c^2i = -c^2j i * -c^2j = c^2i i * -ck = -ci i * -c^2k = c^2 j * 1 = j j * c = ck j * i = -k j * j = -e j * -e = -j j * c^2 = c^2i j * ci = cj j * cj = -ci j * -c = -ck j * k = i j * -i = k j * -j = 1 j * c^2i = -c^2 j * c^2j = c^2k j * -c^2 = -c^2i j * ck = -c j * -ci = -cj j * -cj = ci j * -k = -i j * c^2k = -c^2j j * -c^2i = c^2 j * -c^2j = -c^2k j * -ck = c j * -c^2k = c^2j -e * 1 = -e -e * c = -c -e * i = -i -e * j = -j -e * -e = 1 -e * c^2 = -c^2 -e * ci = -ci -e * cj = -cj -e * -c = c -e * k = -k -e * -i = i -e * -j = j -e * c^2i = -c^2i -e * c^2j = -c^2j -e * -c^2 = c^2 -e * ck = -ck -e * -ci = ci -e * -cj = cj -e * -k = k -e * c^2k = -c^2k -e * -c^2i = c^2i -e * -c^2j = c^2j -e * -ck = ck -e * -c^2k = c^2k c^2 * 1 = c^2 c^2 * c = 1 c^2 * i = c^2i c^2 * j = c^2j c^2 * -e = -c^2 c^2 * c^2 = c c^2 * ci = i c^2 * cj = j c^2 * -c = -e c^2 * k = c^2k c^2 * -i = -c^2i c^2 * -j = -c^2j c^2 * c^2i = ci c^2 * c^2j = cj c^2 * -c^2 = -c c^2 * ck = k c^2 * -ci = -i c^2 * -cj = -j c^2 * -k = -c^2k c^2 * c^2k = ck c^2 * -c^2i = -ci c^2 * -c^2j = -cj c^2 * -ck = -k c^2 * -c^2k = -ck ci * 1 = ci ci * c = c^2j ci * i = -c ci * j = ck ci * -e = -ci ci * c^2 = k ci * ci = -c^2k ci * cj = -c^2 ci * -c = -c^2j ci * k = -cj ci * -i = c ci * -j = -ck ci * c^2i = j ci * c^2j = -i ci * -c^2 = -k ci * ck = c^2i ci * -ci = c^2k ci * -cj = c^2 ci * -k = cj ci * c^2k = -e ci * -c^2i = -j ci * -c^2j = i ci * -ck = -c^2i ci * -c^2k = 1 cj * 1 = cj cj * c = c^2k cj * i = -ck cj * j = -c cj * -e = -cj cj * c^2 = i cj * ci = c^2j cj * cj = -c^2i cj * -c = -c^2k cj * k = ci cj * -i = ck cj * -j = c cj * c^2i = -e cj * c^2j = k cj * -c^2 = -i cj * ck = -c^2 cj * -ci = -c^2j cj * -cj = c^2i cj * -k = -ci cj * c^2k = -j cj * -c^2i = 1 cj * -c^2j = -k cj * -ck = c^2 cj * -c^2k = j -c * 1 = -c -c * c = -c^2 -c * i = -ci -c * j = -cj -c * -e = c -c * c^2 = -e -c * ci = -c^2i -c * cj = -c^2j -c * -c = c^2 -c * k = -ck -c * -i = ci -c * -j = cj -c * c^2i = -i -c * c^2j = -j -c * -c^2 = 1 -c * ck = -c^2k -c * -ci = c^2i -c * -cj = c^2j -c * -k = ck -c * c^2k = -k -c * -c^2i = i -c * -c^2j = j -c * -ck = c^2k -c * -c^2k = k k * 1 = k k * c = ci k * i = j k * j = -i k * -e = -k k * c^2 = c^2j k * ci = -c k * cj = ck k * -c = -ci k * k = -e k * -i = -j k * -j = i k * c^2i = -c^2k k * c^2j = -c^2 k * -c^2 = -c^2j k * ck = -cj k * -ci = c k * -cj = -ck k * -k = 1 k * c^2k = c^2i k * -c^2i = c^2k k * -c^2j = c^2 k * -ck = cj k * -c^2k = -c^2i -i * 1 = -i -i * c = -cj -i * i = 1 -i * j = -k -i * -e = i -i * c^2 = -c^2k -i * ci = ck -i * cj = c -i * -c = cj -i * k = j -i * -i = -e -i * -j = k -i * c^2i = -c^2j -i * c^2j = c^2i -i * -c^2 = c^2k -i * ck = -ci -i * -ci = -ck -i * -cj = -c -i * -k = -j -i * c^2k = c^2 -i * -c^2i = c^2j -i * -c^2j = -c^2i -i * -ck = ci -i * -c^2k = -c^2 -j * 1 = -j -j * c = -ck -j * i = k -j * j = 1 -j * -e = j -j * c^2 = -c^2i -j * ci = -cj -j * cj = ci -j * -c = ck -j * k = -i -j * -i = -k -j * -j = -e -j * c^2i = c^2 -j * c^2j = -c^2k -j * -c^2 = c^2i -j * ck = c -j * -ci = cj -j * -cj = -ci -j * -k = i -j * c^2k = c^2j -j * -c^2i = -c^2 -j * -c^2j = c^2k -j * -ck = -c -j * -c^2k = -c^2j c^2i * 1 = c^2i c^2i * c = j c^2i * i = -c^2 c^2i * j = c^2k c^2i * -e = -c^2i c^2i * c^2 = ck c^2i * ci = -k c^2i * cj = -e c^2i * -c = -j c^2i * k = -c^2j c^2i * -i = c^2 c^2i * -j = -c^2k c^2i * c^2i = cj c^2i * c^2j = -ci c^2i * -c^2 = -ck c^2i * ck = i c^2i * -ci = k c^2i * -cj = 1 c^2i * -k = c^2j c^2i * c^2k = -c c^2i * -c^2i = -cj c^2i * -c^2j = ci c^2i * -ck = -i c^2i * -c^2k = c c^2j * 1 = c^2j c^2j * c = k c^2j * i = -c^2k c^2j * j = -c^2 c^2j * -e = -c^2j c^2j * c^2 = ci c^2j * ci = j c^2j * cj = -i c^2j * -c = -k c^2j * k = c^2i c^2j * -i = c^2k c^2j * -j = c^2 c^2j * c^2i = -c c^2j * c^2j = ck c^2j * -c^2 = -ci c^2j * ck = -e c^2j * -ci = -j c^2j * -cj = i c^2j * -k = -c^2i c^2j * c^2k = -cj c^2j * -c^2i = c c^2j * -c^2j = -ck c^2j * -ck = 1 c^2j * -c^2k = cj -c^2 * 1 = -c^2 -c^2 * c = -e -c^2 * i = -c^2i -c^2 * j = -c^2j -c^2 * -e = c^2 -c^2 * c^2 = -c -c^2 * ci = -i -c^2 * cj = -j -c^2 * -c = 1 -c^2 * k = -c^2k -c^2 * -i = c^2i -c^2 * -j = c^2j -c^2 * c^2i = -ci -c^2 * c^2j = -cj -c^2 * -c^2 = c -c^2 * ck = -k -c^2 * -ci = i -c^2 * -cj = j -c^2 * -k = c^2k -c^2 * c^2k = -ck -c^2 * -c^2i = ci -c^2 * -c^2j = cj -c^2 * -ck = k -c^2 * -c^2k = ck ck * 1 = ck ck * c = c^2i ck * i = cj ck * j = -ci ck * -e = -ck ck * c^2 = j ck * ci = -c^2 ck * cj = c^2k ck * -c = -c^2i ck * k = -c ck * -i = -cj ck * -j = ci ck * c^2i = -k ck * c^2j = -e ck * -c^2 = -j ck * ck = -c^2j ck * -ci = c^2 ck * -cj = -c^2k ck * -k = c ck * c^2k = i ck * -c^2i = k ck * -c^2j = 1 ck * -ck = c^2j ck * -c^2k = -i -ci * 1 = -ci -ci * c = -c^2j -ci * i = c -ci * j = -ck -ci * -e = ci -ci * c^2 = -k -ci * ci = c^2k -ci * cj = c^2 -ci * -c = c^2j -ci * k = cj -ci * -i = -c -ci * -j = ck -ci * c^2i = -j -ci * c^2j = i -ci * -c^2 = k -ci * ck = -c^2i -ci * -ci = -c^2k -ci * -cj = -c^2 -ci * -k = -cj -ci * c^2k = 1 -ci * -c^2i = j -ci * -c^2j = -i -ci * -ck = c^2i -ci * -c^2k = -e -cj * 1 = -cj -cj * c = -c^2k -cj * i = ck -cj * j = c -cj * -e = cj -cj * c^2 = -i -cj * ci = -c^2j -cj * cj = c^2i -cj * -c = c^2k -cj * k = -ci -cj * -i = -ck -cj * -j = -c -cj * c^2i = 1 -cj * c^2j = -k -cj * -c^2 = i -cj * ck = c^2 -cj * -ci = c^2j -cj * -cj = -c^2i -cj * -k = ci -cj * c^2k = j -cj * -c^2i = -e -cj * -c^2j = k -cj * -ck = -c^2 -cj * -c^2k = -j -k * 1 = -k -k * c = -ci -k * i = -j -k * j = i -k * -e = k -k * c^2 = -c^2j -k * ci = c -k * cj = -ck -k * -c = ci -k * k = 1 -k * -i = j -k * -j = -i -k * c^2i = c^2k -k * c^2j = c^2 -k * -c^2 = c^2j -k * ck = cj -k * -ci = -c -k * -cj = ck -k * -k = -e -k * c^2k = -c^2i -k * -c^2i = -c^2k -k * -c^2j = -c^2 -k * -ck = -cj -k * -c^2k = c^2i c^2k * 1 = c^2k c^2k * c = i c^2k * i = c^2j c^2k * j = -c^2i c^2k * -e = -c^2k c^2k * c^2 = cj c^2k * ci = -e c^2k * cj = k c^2k * -c = -i c^2k * k = -c^2 c^2k * -i = -c^2j c^2k * -j = c^2i c^2k * c^2i = -ck c^2k * c^2j = -c c^2k * -c^2 = -cj c^2k * ck = -j c^2k * -ci = 1 c^2k * -cj = -k c^2k * -k = c^2 c^2k * c^2k = ci c^2k * -c^2i = ck c^2k * -c^2j = c c^2k * -ck = j c^2k * -c^2k = -ci -c^2i * 1 = -c^2i -c^2i * c = -j -c^2i * i = c^2 -c^2i * j = -c^2k -c^2i * -e = c^2i -c^2i * c^2 = -ck -c^2i * ci = k -c^2i * cj = 1 -c^2i * -c = j -c^2i * k = c^2j -c^2i * -i = -c^2 -c^2i * -j = c^2k -c^2i * c^2i = -cj -c^2i * c^2j = ci -c^2i * -c^2 = ck -c^2i * ck = -i -c^2i * -ci = -k -c^2i * -cj = -e -c^2i * -k = -c^2j -c^2i * c^2k = c -c^2i * -c^2i = cj -c^2i * -c^2j = -ci -c^2i * -ck = i -c^2i * -c^2k = -c -c^2j * 1 = -c^2j -c^2j * c = -k -c^2j * i = c^2k -c^2j * j = c^2 -c^2j * -e = c^2j -c^2j * c^2 = -ci -c^2j * ci = -j -c^2j * cj = i -c^2j * -c = k -c^2j * k = -c^2i -c^2j * -i = -c^2k -c^2j * -j = -c^2 -c^2j * c^2i = c -c^2j * c^2j = -ck -c^2j * -c^2 = ci -c^2j * ck = 1 -c^2j * -ci = j -c^2j * -cj = -i -c^2j * -k = c^2i -c^2j * c^2k = cj -c^2j * -c^2i = -c -c^2j * -c^2j = ck -c^2j * -ck = -e -c^2j * -c^2k = -cj -ck * 1 = -ck -ck * c = -c^2i -ck * i = -cj -ck * j = ci -ck * -e = ck -ck * c^2 = -j -ck * ci = c^2 -ck * cj = -c^2k -ck * -c = c^2i -ck * k = c -ck * -i = cj -ck * -j = -ci -ck * c^2i = k -ck * c^2j = 1 -ck * -c^2 = j -ck * ck = c^2j -ck * -ci = -c^2 -ck * -cj = c^2k -ck * -k = -c -ck * c^2k = -i -ck * -c^2i = -k -ck * -c^2j = -e -ck * -ck = -c^2j -ck * -c^2k = i -c^2k * 1 = -c^2k -c^2k * c = -i -c^2k * i = -c^2j -c^2k * j = c^2i -c^2k * -e = c^2k -c^2k * c^2 = -cj -c^2k * ci = 1 -c^2k * cj = -k -c^2k * -c = i -c^2k * k = c^2 -c^2k * -i = c^2j -c^2k * -j = -c^2i -c^2k * c^2i = ck -c^2k * c^2j = c -c^2k * -c^2 = cj -c^2k * ck = j -c^2k * -ci = -e -c^2k * -cj = k -c^2k * -k = -c^2 -c^2k * c^2k = -ci -c^2k * -c^2i = -ck -c^2k * -c^2j = -c -c^2k * -ck = -j -c^2k * -c^2k = ci
# t = 1 + cj + (-c) has order 8 in the group ring, so it must map to an element of Q8 # in the quotient. So our ring must be a quotient of a ring S below. # # The only ring whose unit group is large enough is # F_2[G]/(1 + cj + (-c) + k) # which has unit group # C2 x SL(2,3) t = Gens[1] + Gens[8] + Gens[9] print("t =", t) print("t^8 =", t^8) print() Q = [Gens[1], Gens[3], Gens[4], Gens[5], Gens[10], Gens[11], Gens[12], Gens[19]] print("Checking R/(t + q) for q in", Q) print() for q in Q: I = gap.Ideal(R, [t + q]) S = R/I U = S.Units() print("R/(t+", q, ") has unit group", U.StructureDescription())
t = 1+cj+-c t^8 = 1 Checking R/(t + q) for q in [1, i, j, -e, k, -i, -j, -k] R/(t+ 1 ) has unit group C3 R/(t+ i ) has unit group A4 R/(t+ j ) has unit group A4 R/(t+ -e ) has unit group C3 R/(t+ k ) has unit group C2 x SL(2,3) R/(t+ -i ) has unit group A4 R/(t+ -j ) has unit group A4 R/(t+ -k ) has unit group A4
# b is another element of order 8. Combining it with the case above where the # ring realizes C2 x SL(2,3), our ring must be a quotient of one of these: b = Gens[2] + Gens[4] + Gens[7] print("b =", b) print("b^8 =", b^8) print() Q = [Gens[1], Gens[3], Gens[4], Gens[5], Gens[10], Gens[11], Gens[12], Gens[19]] print("Checking R/(t + k, b + q) for q in ", Q) print() for q in Q: I = gap.Ideal(R, [t + Gens[10], b + q]) S = R/I U = S.Units() print("R/(t +", Gens[10], ", b +", q, ") has unit group", U.StructureDescription())
b = c+j+ci b^8 = 1 Checking R/(t + k, b + q) for q in [1, i, j, -e, k, -i, -j, -k] R/(t + k , b + 1 ) has unit group A4 R/(t + k , b + i ) has unit group C3 R/(t + k , b + j ) has unit group C3 R/(t + k , b + -e ) has unit group A4 R/(t + k , b + k ) has unit group C3 R/(t + k , b + -i ) has unit group C3 R/(t + k , b + -j ) has unit group C3 R/(t + k , b + -k ) has unit group C3