// 2010-03-28 // Z:=Integers(); // Q:=Rationals(); F:=GF(2); // Z2:=IntegerRing(2); // Z4:=IntegerRing(4); // Z8:=IntegerRing(8); // iota:=func; //////////////////////////////////////////////////////////////// desd24genmats:=[ [ 0xC75001, 0x49F002, 0xD4B004, 0x6E3008, 0x9B3010, 0xB66020, 0xECC040, 0x1ED080, 0x3DA100, 0x7B4200, 0xB1D400, 0xE3A800 ], [ 0xD003C1, 0xD1A042, 0xD1A084, 0xD1A108, 0xD1A210, 0x1A3E0, 0xE400, 0x1C800, 0x17000, 0x720000, 0xE40000, 0xB80000 ], [ 0x7FE801, 0x802802, 0x804804, 0x808808, 0x810810, 0x820820, 0x840840, 0x880880, 0x900900, 0xA00A00, 0xC00C00, 0xFFF000 ], [ 0x7E0F81, 0xFC0082, 0xFC0104, 0xFC0208, 0xFC0410, 0xFC0820, 0x820FC0, 0x861000, 0x8A2000, 0x924000, 0xA28000, 0xC30000 ], [ 0xCC6009, 0x66A00A, 0xAAC00C, 0xC6C090, 0x6A60A0, 0xACA0C0, 0x6CC900, 0xA66A00, 0xCAAC00, 0xF000, 0xF0000, 0xF00000 ], [ 0xE24031, 0x738012, 0x738024, 0x91C038, 0x938C40, 0xE1C480, 0xE1C900, 0x724E00, 0x2D000, 0x36000, 0xB40000, 0xD80000 ], [ 0x7800E1, 0x88F022, 0x88F044, 0x88F088, 0xF0F0F0, 0x78E100, 0x78D200, 0x78B400, 0x787800, 0x990000, 0xAA0000, 0xCC0000 ], [ 0xB1, 0xE2, 0x74, 0xD8, 0x7E8100, 0x828200, 0x848400, 0x888800, 0x909000, 0xA0A000, 0xC0C000, 0xFF0000 ], [ 0xB1, 0xE2, 0x74, 0xD8, 0xB100, 0xE200, 0x7400, 0xD800, 0xB10000, 0xE20000, 0x740000, 0xD80000 ]]; desd24:=[LinearCode :G in desd24genmats]; #desd24 eq 9; &and{not IsIsomorphic(desd24[i],desd24[j]) :i,j in {1..9}|i lt j}; //////////////////////////////////////////////////////////////// subcodesDW4:=function(C) n:=Length(C); A:=AutomorphismGroup(C); P:=PermutationModule(A,GF(2)); V:=VectorSpace(P); N:=sub; E,fe:=sub; M,f:=quo; G:=MatrixGroup(M); X:=[V|(o[1] @@ f) @ fe:o in Orbits(G)|not 0 in o]; overcodes:=[LinearCode:x in X]; return [Dual(c):c in overcodes|MinimumWeight(c) ge 4]; end function; //////////////////////////////////////////////////////////////// uptoequivalence:=function(Cs) remaining:=Seqset(Cs); Css:={}; while not IsEmpty(remaining) do C:=Random(remaining); Include(~Css,C); remaining:={R:R in remaining|not IsEquivalent(C,R)}; end while; return Setseq(Css); end function; //////////////////////////////////////////////////////////////// de24:=[]; de24[12]:=desd24; for i in [1..11] do sbcds:=[subcodesDW4(c):c in de24[12-i+1]]; de24[12-i]:=uptoequivalence(&cat(sbcds)); end for; [#x:x in de24] eq [0,0,0,0,0,1,7,32,60,49,21,9]; //////////////////////////////////////////////////////////////// allcodes:=[[]:i in [1..12]]; load "dim6-r-d8.magma"; allcodes[6] cat:=codes; load "dim7-r-d4.magma"; allcodes[7] cat:=codes; load "dim7-r-d8.magma"; allcodes[7] cat:=codes; load "dim8-r-d4.magma"; allcodes[8] cat:=codes; load "dim8-r-d8.magma"; allcodes[8] cat:=codes; load "dim9-r-d4.magma"; allcodes[9] cat:=codes; load "dim9-r-d8.magma"; allcodes[9] cat:=codes; load "dim10-r-d4.magma"; allcodes[10] cat:=codes; load "dim10-r-d8.magma"; allcodes[10] cat:=codes; load "dim11-r-d4.magma"; allcodes[11] cat:=codes; load "dim11-r-d8.magma"; allcodes[11] cat:=codes; load "dim12-r-d4.magma"; allcodes[12] cat:=codes; load "dim12-r-d8.magma"; allcodes[12] cat:=codes; load "dim7-nr-d4.magma"; allcodes[7] cat:=codes; load "dim7-nr-d8.magma"; allcodes[7] cat:=codes; load "dim8-nr-d4.magma"; allcodes[8] cat:=codes; load "dim8-nr-d8.magma"; allcodes[8] cat:=codes; load "dim9-nr-d4.magma"; allcodes[9] cat:=codes; load "dim9-nr-d8.magma"; allcodes[9] cat:=codes; load "dim10-nr-d4.magma"; allcodes[10] cat:=codes; [#x:x in allcodes] eq [0,0,0,0,0,1,7,32,60,49,21,9]; for k in [6..12] do de24k:=Seqset(de24[k]); for j in [1..#allcodes[k]] do t:=exists(d){c:c in de24k|IsIsomorphic(c,allcodes[k][j])}; if not t then print t; end if; Exclude(~de24k,d); end for; end for; // Magma V2.16-6 Sun Mar 28 2010 21:43:34 on para1 [Seed = 2372503570] // Total time: 7.669 seconds, Total memory usage: 29.80MB