# This file contains the list of flat W(E6)-representatives of the hyperplane arrangement associated to the root system E6. Each flat is generated by positive roots (contained in the file "posRootsE6.sobj") # IMPORTANT: We load a saved version of RootSystem('E6') since the ordering of the roots changes with the version of sage, and we use a fixed order in our calculations. ######################################### # Data associated to the root system E6 # ######################################### RootSystemE6 = load("../../General/L6.sobj") L6 = RootSystemE6.root_lattice() # L6.dynkin_diagram() # O 2 # | # | # O---O---O---O---O # 1 3 4 5 6 # E6 alpha = {i:L6.alpha()[i] for i in range(1,7)} # Ordered list of positive roots of E6: pos = load("../../General/posRootsE6.sobj") # The Weyl group is generated by simple reflections. We transform these simple reflections into a list of homomorphisms that act on the set of roots. s = L6.simple_reflections() W = L6.weyl_group() homsStdE6 = [s[i] for i in range(1,len(s)+1)] ###################################### # List of flat W(E6)-representatives # ###################################### #Here is the list of flat W(E6)-representatives generated only by positive roots. They correspond to root subsystems of E6, as indicated in Table 4 of [RSS]. We indicate them by the labeling of the Dynkin diagram. We arrange them by codimension. FF = {} ################# # CODIMENSION 1 # ################# # Root subsystem: A1 = O # 1 FF[1] = set([alpha[1]]) ################# # CODIMENSION 2 # ################# # Root subsystem: A2 = O---O # 1 3 FF[2] = set([alpha[1],alpha[3], alpha[1]+alpha[3]]) # Root subsystem: A1 x A1 = O 2 # # # O # 1 FF[3] = set([alpha[1],alpha[2]]) ################# # CODIMENSION 3 # ################# # Root subsystem: A3 = O---O---O # 1 3 4 FF[4] = set([alpha[1],alpha[3],alpha[4], alpha[1]+alpha[3], alpha[1]+alpha[3]+alpha[4], alpha[3]+alpha[4]]) # Root subsystem: A1 x A2 = O 2 # | # | # O O # 1 4 FF[5] = set([alpha[1],alpha[2], alpha[4], alpha[2]+alpha[4]]) # Root subsystem: A1 x A1 x A1 = O 2 # # # O O # 3 5 FF[6] = set([alpha[2],alpha[3],alpha[5]]) ################# # CODIMENSION 3 # ################# # Root subsystem: D4 = O 2 # | # | # O---O---O # 3 4 5 FF[7] = set([alpha[2],alpha[3],alpha[4],alpha[5], alpha[3]+alpha[4], alpha[2]+alpha[4], alpha[4]+alpha[5], alpha[3]+alpha[4]+alpha[5], alpha[2]+alpha[4]+alpha[5], alpha[3]+alpha[4]+alpha[2], alpha[2]+alpha[3]+alpha[4]+alpha[5], alpha[2]+alpha[3]+2*alpha[4]+alpha[5]]) # Root subsystem: A4 = O 2 # | # | # O---O---O # 1 3 4 FF[8] = set([alpha[1],alpha[3],alpha[4],alpha[2], alpha[1]+alpha[3], alpha[3]+alpha[4],alpha[4]+alpha[2], alpha[1]+alpha[3]+alpha[4], alpha[3]+alpha[4]+alpha[2], alpha[1]+alpha[3]+alpha[4]+alpha[2]]) # Root subsystem: A1 x A3 = O---O---O O # 1 3 4 6 FF[9] = set([alpha[6],alpha[1],alpha[3],alpha[4], alpha[1]+alpha[3], alpha[1]+alpha[3]+alpha[4], alpha[3]+alpha[4]]) # Root subsystem: A2 x A2 = O---O O---O # 1 3 5 6 FF[10] = set([alpha[1],alpha[3], alpha[1]+alpha[3], alpha[5], alpha[6], alpha[5]+alpha[6]]) # Root subsystem: A2 x A1 x A1 = O 2 # # # O O---O # 1 5 6 FF[11] = set([alpha[1],alpha[2], alpha[5], alpha[6], alpha[5]+alpha[6]]) ################# # CODIMENSION 5 # ################# # Root subsystem: D5 = O 2 # | # | # O---O---O---O # 3 4 5 6 FF[12] = set([alpha[2],alpha[3],alpha[4],alpha[5], alpha[6], alpha[3]+alpha[4], alpha[2]+alpha[4], alpha[4]+alpha[5], alpha[5]+alpha[6], alpha[3]+alpha[4]+alpha[5], alpha[2]+alpha[4]+alpha[5], alpha[3]+alpha[4]+alpha[2], alpha[4]+alpha[5]+alpha[6], alpha[6]+alpha[3]+alpha[4]+alpha[5], alpha[6]+alpha[2]+alpha[4]+alpha[5], alpha[2]+alpha[3]+alpha[4]+alpha[5], alpha[2]+alpha[3]+alpha[4]+alpha[5]+alpha[6], alpha[2]+alpha[3]+2*alpha[4]+alpha[5], alpha[2]+alpha[3]+2*alpha[4]+alpha[5]+alpha[6], alpha[2]+alpha[3]+2*alpha[4]+2*alpha[5]+alpha[6]]) # Root subsystem: A5 = O---O---O---O---O # 1 3 4 5 6 FF[13] = set([alpha[1],alpha[3],alpha[4],alpha[5], alpha[6], alpha[1]+alpha[3], alpha[3]+alpha[4],alpha[4]+alpha[5], alpha[5]+alpha[6], alpha[1]+alpha[3]+alpha[4], alpha[3]+alpha[4]+alpha[5], alpha[4]+alpha[5]+alpha[6], alpha[1]+alpha[3]+alpha[4]+alpha[5], alpha[3]+alpha[4]+alpha[5]+alpha[6], alpha[1]+alpha[3]+alpha[4]+alpha[5]+alpha[6]]) # Root subsystem: A4 x A1 = O 2 # | # | # O---O---O O # 1 3 4 6 FF[14] = set([alpha[1],alpha[3],alpha[4],alpha[2], alpha[1]+alpha[3], alpha[3]+alpha[4],alpha[4]+alpha[2], alpha[1]+alpha[3]+alpha[4], alpha[3]+alpha[4]+alpha[2], alpha[1]+alpha[3]+alpha[4]+alpha[2], alpha[6]]) # Root subsystem: A2 x A2 x A1 = O 2 # # # O---O O---O # 1 3 5 6 FF[15] = set([alpha[2],alpha[1],alpha[3], alpha[1]+alpha[3], alpha[5], alpha[6], alpha[5]+alpha[6]]) ######################################### # Calculation of orbits of Flats for E6 # ######################################### # We compute the orbits of these 15 representative flats under the action of W(E6). We save the data of the orbits of each of the flats as sage objects files as well as plain text files: load("FlatOrbits.sage") # OrbitsOfRepFlats = {} # for k in range(1,len(FF)+1): # OrbitsOfRepFlats[k] = [FF[k], orbitOfFlat(FF[k], alpha, homsStdE6)] # save(OrbitsOfRepFlats[k], '../Output/OrbitsOfRepFlatsPosRootsE6_' + str(k)+'.sobj') # f = file('../Output/OrbitsOfRepFlatsPosRootsE6_' + str(k)+'.txt','w') # f.write('OrbitsOfRepFlatsPosRootsE6_'+ str(k) + '='+ str(OrbitsOfRepFlats[k])) # f.close() # We record the lengths of all orbits: # print str([len(OrbitsOfRepFlats[k][1]) for k in range(1, len(FF)+1)]) # [36, 120, 270, 270, 720, 540, 45, 216, 540, 120, 1080, 27, 36, 216, 360] ######################################################################################### # Calculation of indices of positive roots on the orbits of the irreducible flats of E6 # ######################################################################################### # We use a function in BergmanFanArrangements.sage to replace the data of all the positive roots in a flat with the indices of these roots in pos. # The proper irreducible flats are all flats that are W(E6)-conjugate to some FF[k] for k in [1,2,4,7,8,12,13] # E6Numbers= {} # E6Orbits = {} # for k in [1,2,4,7,8,12,13]: # E6Numbers[k] =[fromCellsToFlatNumbers(list(OrbitsOfRepFlats[k][0]), pos)] # E6Orbits[k] = [] # for x in OrbitsOfRepFlats[k][1]: # E6Orbits[k].append(fromCellsToFlatNumbers(list(x),pos)) # E6Orbits[k]=sorted(E6Orbits[k]) # E6Numbers[k].append(E6Orbits[k]) # We save these lists to be used in "settingE6.sage" both as sage objects and plain text files: # for k in [1,2,4,7,8,12,13]: # save(E6Numbers[k], 'Input/E6_'+ str(k) +'_Numbers.sobj') # f = file('Input/E6_'+ str(k) +'_Numbers.txt', 'w') # f.write('E6_' + str(k) +'_Numbers=' + str(E6Numbers[k])) # f.close()