############################################## # Computation of all cells in the Naruki fan # ############################################## # The following script computes the Naruki fan as the union of the images of maximal cells in the Bergman fan under the Yoshida matrix. We only consider those maximal cones in the Bergman fan whose images are top dimensional. #load(“subdivision.sage”) load("BergmanCones.sage") # We load the Yoshida matrix: Yoshida_matrix = load("../../Yoshida/Output/Yoshida_matrix.sobj") RootSystemE6 = load("../../General/L6.sobj") L6 = RootSystem('E6').root_lattice() positive_roots = load("../../General/posRootsE6.sobj") G6 = L6.weyl_group() ############################################### # Data associated to the Bergman fan Berg(E6) # ############################################### # This data was computed in the folder BergmanFan and in Yoshida. E6_1_Numbers = load("../../BergmanFan/Scripts/Input/E6_1_Numbers.sobj") E6_2_Numbers = load("../../BergmanFan/Scripts/Input/E6_2_Numbers.sobj") E6_4_Numbers = load("../../BergmanFan/Scripts/Input/E6_4_Numbers.sobj") E6_7_Numbers = load("../../BergmanFan/Scripts/Input/E6_7_Numbers.sobj") E6_8_Numbers = load("../../BergmanFan/Scripts/Input/E6_8_Numbers.sobj") E6_12_Numbers = load("../../BergmanFan/Scripts/Input/E6_12_Numbers.sobj") E6_13_Numbers = load("../../BergmanFan/Scripts/Input/E6_13_Numbers.sobj") vertexIndexListE6 = E6_1_Numbers[1] + E6_2_Numbers[1]+E6_4_Numbers[1]+E6_7_Numbers[1]+E6_8_Numbers[1]+E6_12_Numbers[1]+E6_13_Numbers[1] BergmanFan = load("BergmanFanOfE6TruncatedFVectorAndOrbitsPerDimension.sobj") # We generate the potential vertices of the Naruki fan. # Naruki_vertex = {i:vector(Yoshida_map([i]).rays()[0]) for i in range(0,750) if Yoshida_map([i]) != Polyhedron()} #v = Naruki_vertex #save(v,"Input/NarukiVertices.sobj") #print len(v) # 678 # # We save the list of all vertices as plain text file (one vector per line) # f = file("../Output/NarukiVertices.txt",'w') # for i in v.keys(): # f.write(str(i) + ':' + str(v[i]) + '\n') # f.close() v = load("../../NarukiFan/Scripts/Input/NarukiVertices.sobj") # We use the knowledge of the Naruki fan to compute each cell type as polyhedrons (using the baricentric subdivision described in [RSS]. Our choice of representatives is compatible with inclusions of polyhedra (e.g. aCell is a face of aa2Cell) # os.chdir('../../ComputeLines/Scripts/') # orig = Polyhedron(vertices=[vector(QQ, {35:0})]) # save(orig, "Input/0Cell.sobj") # a = Polyhedron(rays=[v[0]]) # save(a, "Input/aCell.sobj") # a2= Polyhedron(rays=[v[0]+v[1]]) # save(a2, "Input/a2Cell.sobj") # a3 = Polyhedron(rays=[v[0]+v[1]+v[4]]) # save(a3, "Input/a3Cell.sobj") # a4 = Polyhedron(rays=[v[0]+v[1]+v[4]+v[29]]) # save(a4, "Input/a4Cell.sobj") # b = Polyhedron(rays=[v[36]]) # save(b, "Input/bCell.sobj") # aa2 = Polyhedron(rays=[v[0],v[0]+v[1]]) # save(aa2, "Input/aa2Cell.sobj") # aa3 = Polyhedron(rays=[v[0],v[0]+v[1]+v[4]]) # save(aa3, "Input/aa3Cell.sobj") # aa4 = Polyhedron(rays=[v[0],v[0]+v[1]+v[4]+v[29]]) # save(aa4, "Input/aa4Cell.sobj") # a2a3 = Polyhedron(rays=[v[0]+v[1], v[0]+v[1]+v[4]]) # save(a2a3, "Input/a2a3Cell.sobj") # a2a4 = Polyhedron(rays=[v[0]+v[1], v[0]+v[1]+v[4]+v[29]]) # save(a2a4, "Input/a2a4Cell.sobj") # a3a4 = Polyhedron(rays=[v[0]+v[1]+v[4], v[0]+v[1]+v[4]+v[29]]) # save(a3a4, "Input/a3a4Cell.sobj") # ab = Polyhedron(rays=[v[0], v[36]]) # save(ab, "Input/abCell.sobj") # a2b = Polyhedron(rays=[v[0]+v[1], v[36]]) # save(a2b, "Input/a2bCell.sobj") # a3b = Polyhedron(rays=[v[0]+v[1]+v[4], v[36]]) # save(a3b, "Input/a3bCell.sobj") # aa2a3 = Polyhedron(rays=[v[0], v[0]+v[1], v[0]+v[1]+v[4]]) # save(aa2a3, "Input/aa2a3Cell.sobj") # aa2a4 = Polyhedron(rays=[v[0], v[0]+v[1], v[0]+v[1]+v[4]+v[29]]) # save(aa2a4, "Input/aa2a4Cell.sobj") # aa3a4 = Polyhedron(rays=[v[0], v[0]+v[1]+v[4], v[0]+v[1]+v[4]+v[29]]) # save(aa3a4, "Input/aa3a4Cell.sobj") # a2a3a4 = Polyhedron(rays=[v[0]+v[1], v[0]+v[1]+v[4], v[0]+v[1]+v[4]+v[29]]) # save(a2a3a4, "Input/a2a3a4Cell.sobj") # aa2b = Polyhedron(rays=[v[0], v[0]+v[1], v[36]]) # save(aa2b, "Input/aa2bCell.sobj") # aa3b = Polyhedron(rays=[v[0], v[0]+v[1]+v[4], v[36]]) # save(aa3b, "Input/aa3bCell.sobj") # a2a3b = Polyhedron(rays=[v[0]+v[1], v[0]+v[1]+v[4], v[36]]) # save(a2a3b, "Input/a2a3bCell.sobj") #aa2a3a4 = Polyhedron(rays=[v[0], v[0]+v[1], v[0]+v[1]+v[4], v[0]+v[1]+v[4]+v[29]]) # save(aa2a3a4, "Input/aa2a3a4Cell.sobj") #aa2a3b = Polyhedron(rays=[v[0], v[0]+v[1], v[0]+v[1]+v[4], v[36]]) # save(aa2a3b, "Input/aa2a3bCell.sobj") #We save all these sobj files on "../../ComputeLines/Scripts/Input" ###################### # Plain text outputs # ###################### # os.chdir("../../ComputeLines/Scripts/Input") orig = load("0Cell.sobj") a = load("aCell.sobj") a2 = load("a2Cell.sobj") a3=load("a3Cell.sobj") a4=load("a4Cell.sobj") b = load("bCell.sobj") aa2=load("aa2Cell.sobj") aa3=load("aa3Cell.sobj") aa4=load("aa4Cell.sobj") a2a3=load("a2a3Cell.sobj") a2a4=load("a2a4Cell.sobj") a3a4=load("a3a4Cell.sobj") ab=load("abCell.sobj") a2b=load("a2bCell.sobj") a3b=load("a3bCell.sobj") aa2a3=load("aa2a3Cell.sobj") aa2a4=load("aa2a4Cell.sobj") aa3a4=load("aa3a4Cell.sobj") a2a3a4=load("a2a3a4Cell.sobj") aa2b=load("aa2bCell.sobj") aa3b=load("aa3bCell.sobj") a2a3b=load("a2a3bCell.sobj") aa2a3a4 = load("aa2a3a4Cell.sobj") aa2a3b = load("aa2a3bCell.sobj") os.chdir("../../../NarukiFan/Output") # We save the rays of each cell as a sobj and a plain text file. ################# # 1-dimensional # ################# rays = a.rays() save(rays,'aCell_rays.sobj') f = file("aCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2.rays() save(rays,'a2Cell_rays.sobj') f = file("a2Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a3.rays() save(rays,'a3Cell_rays.sobj') f = file("a3Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a4.rays() save(rays,'a4Cell_rays.sobj') f = file("a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = b.rays() save(rays,'bCell_rays.sobj') f = file("bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() ################# # 2-dimensional # ################# rays = aa2.rays() save(rays,'aa2Cell_rays.sobj') f = file("aa2Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa3.rays() save(rays,'aa3Cell_rays.sobj') f = file("aa3Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa4.rays() save(rays,'aa4Cell_rays.sobj') f = file("aa4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2a3.rays() save(rays,'a2a3Cell_rays.sobj') f = file("a2a3Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2a4.rays() save(rays,'a2a4Cell_rays.sobj') f = file("a2a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a3a4.rays() save(rays,'a3a4Cell_rays.sobj') f = file("a3a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = ab.rays() save(rays,'abCell_rays.sobj') f = file("abCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2b.rays() save(rays,'a2bCell_rays.sobj') f = file("a2bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a3b.rays() save(rays,'a3bCell_rays.sobj') f = file("a3bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() ################# # 3-dimensional # ################# rays = aa2a3.rays() save(rays,'aa2a3Cell_rays.sobj') f = file("aa2a3Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa2a4.rays() save(rays,'aa2a4Cell_rays.sobj') f = file("aa2a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa3a4.rays() save(rays,'aa3a4Cell_rays.sobj') f = file("aa3a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2a3a4.rays() save(rays,'a2a3a4Cell_rays.sobj') f = file("a2a3a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa2b.rays() save(rays,'aa2bCell_rays.sobj') f = file("aa2bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa3b.rays() save(rays,'aa3bCell_rays.sobj') f = file("aa3bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = a2a3b.rays() save(rays,'a2a3bCell_rays.sobj') f = file("a2a3bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() ################# # 4-dimensional # ################# rays = aa2a3a4.rays() save(rays,'aa2a3a4Cell_rays.sobj') f = file("aa2a3a4Cell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close() rays = aa2a3b.rays() save(rays,'aa2a3bCell_rays.sobj') f = file("aa2a3bCell_rays.txt",'w') for i in range(0, len(rays)): f.write(str(rays[i]) + '\n') f.close()