# This file generates expressions for the positive_roots in the parameters d1,...,d6 starting from the positive roots of E6 constructed in Sage. # 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. # A list of variables d_1, ..., d_6 for the coefficients ds = vector([var("d%s"%i) for i in range(1,7)]) RootSystemE6 = load("L6.sobj") L6 = RootSystemE6.root_lattice() alpha = {i:L6.alpha()[i] for i in range(1,7)} positive_roots = load("posRootsE6.sobj") # # We save the ordered list as a plain text file (one root per line): # f = file("posRootsE6.txt", 'w') # f.write('positive_roots = [' + '\n') # for i in range(0, len(positive_roots)-1): # f.write(str(positive_roots[i]) + ',\n') # f.write(str(positive_roots[-1]) + ']') # f.close() # # We record the ordering of the positive roots: # positive_roots = [alpha[1], # alpha[2], # alpha[3], # alpha[4], # alpha[5], # alpha[6], # alpha[3] + alpha[4], # alpha[2] + alpha[4], # alpha[5] + alpha[6], # alpha[1] + alpha[3], # alpha[4] + alpha[5], # alpha[3] + alpha[4] + alpha[5], # alpha[1] + alpha[3] + alpha[4], # alpha[2] + alpha[4] + alpha[5], # alpha[4] + alpha[5] + alpha[6], # alpha[2] + alpha[3] + alpha[4], # alpha[1] + alpha[2] + alpha[3] + alpha[4], # alpha[2] + alpha[4] + alpha[5] + alpha[6], # alpha[3] + alpha[4] + alpha[5] + alpha[6], # alpha[1] + alpha[3] + alpha[4] + alpha[5], # alpha[2] + alpha[3] + alpha[4] + alpha[5], # alpha[2] + alpha[3] + 2*alpha[4] + alpha[5], # alpha[1] + alpha[2] + alpha[3] + alpha[4] + alpha[5], # alpha[2] + alpha[3] + alpha[4] + alpha[5] + alpha[6], # alpha[1] + alpha[3] + alpha[4] + alpha[5] + alpha[6], # alpha[1] + alpha[2] + alpha[3] + alpha[4] + alpha[5] + alpha[6], # alpha[1] + 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], # alpha[1] + alpha[2] + 2*alpha[3] + 2*alpha[4] + alpha[5], # alpha[1] + alpha[2] + alpha[3] + 2*alpha[4] + alpha[5] + alpha[6], # alpha[1] + alpha[2] + alpha[3] + 2*alpha[4] + 2*alpha[5] + alpha[6], # alpha[1] + alpha[2] + 2*alpha[3] + 2*alpha[4] + alpha[5] + alpha[6], # alpha[1] + alpha[2] + 2*alpha[3] + 2*alpha[4] + 2*alpha[5] + alpha[6], # alpha[1] + alpha[2] + 2*alpha[3] + 3*alpha[4] + 2*alpha[5] + alpha[6], # alpha[1] + 2*alpha[2] + 2*alpha[3] + 3*alpha[4] + 2*alpha[5] + alpha[6]] # The following matrix allows to convert these roots to expressions in the ds, following [RSS] AtoD = matrix([[-1, 1, 0, 0, 0, 0], [ 1, 1,-1, 0, 0, 0], [ 0, 1, 1,-1, 0, 0], [ 0, 0, 0, 1,-1, 0], [ 0, 0, 0, 0, 1,-1], [ 0, 0, 0, 0, 0, 1]]) roots = [ds.dot_product(AtoD*v.to_vector()) for v in positive_roots] # For the record, we print the result, and save it as an sobj file: # [-d1 + d2, # d1 + d2 + d3, # -d2 + d3, # -d3 + d4, # -d4 + d5, # -d5 + d6, # -d2 + d4, # d1 + d2 + d4, # -d4 + d6, # -d1 + d3, # -d3 + d5, # -d2 + d5, # -d1 + d4, # d1 + d2 + d5, # -d3 + d6, # d1 + d3 + d4, # d2 + d3 + d4, # d1 + d2 + d6, # -d2 + d6, # -d1 + d5, # d1 + d3 + d5, # d1 + d4 + d5, # d2 + d3 + d5, # d1 + d3 + d6, # -d1 + d6, # d2 + d3 + d6, # d2 + d4 + d5, # d1 + d4 + d6, # d1 + d5 + d6, # d3 + d4 + d5, # d2 + d4 + d6, # d2 + d5 + d6, # d3 + d4 + d6, # d3 + d5 + d6, # d4 + d5 + d6, # d1 + d2 + d3 + d4 + d5 + d6] # # We save the ordered list as a plain text file (one root per line): # f = file("../Yoshida/Scripts/Input/rootsE6.txt", 'w') # f.write('positive_roots_in_ds = [' + '\n') # for i in range(0, len(roots)-1): # f.write(str(roots[i]) + ',\n') # f.write(str(roots[-1]) + ']') # f.close() # save(roots, "../Yoshida/Scripts/Input/rootsE6.sobj")