# Goal: To check that there is no effective divisor C on a smooth del # Pezzo surface satisfiying the following conditions: # C . F_{i,k} = 0 for all {i,k} not containing 1 # C . G_1 = 0 # C . E_k = 0 for all k other than 1. # Write C = Sum a_i E_i + Sum b_{i,j} F_{i,j} + Sum c_i G_i, where a_i, b_{i,j}, c_i >= 0. # The above conditions give linear equations in these coefficients. # The goal is achieved if they have no solutions in the non-negative cone. # A list of variables E_1, ..., E_6 Es = [var("E%s"%i) for i in range(1,7)] # A list of variables F_12, ..., F_56 Fs = [var("F%s%s"%(i,j)) for i in range(1,7) for j in range(1,7) if i < j] # A list of variables E_1, ..., E_6 Gs = [var("G%s"%i) for i in range(1,7)] # LIst of all Es, Fs and Gs: ListEFG = Es+Fs+Gs # Write down the equations from above: Equations1 = [var("E%s"%i) + var("E%s"%k) + var("G%s"%i) + var("G%s"%k) + sum(Fs) - sum(var("F%s%s"%(i,j)) for j in range(i+1, 7)) - sum(var("F%s%s"%(j,i)) for j in range(1, i)) - sum(var("F%s%s"%(j,k)) for j in range(1, k)) - sum(var("F%s%s"%(k,j)) for j in range(k+1, 7)) for i in range(1,7) for k in range(i+1, 7) if i != 1 and k != 1] # We record the equations: # [E2 + E3 + F14 + F15 + F16 - F23 + F45 + F46 + F56 + G2 + G3, # E2 + E4 + F13 + F15 + F16 - F24 + F35 + F36 + F56 + G2 + G4, # E2 + E5 + F13 + F14 + F16 - F25 + F34 + F36 + F46 + G2 + G5, # E2 + E6 + F13 + F14 + F15 - F26 + F34 + F35 + F45 + G2 + G6, # E3 + E4 + F12 + F15 + F16 + F25 + F26 - F34 + F56 + G3 + G4, # E3 + E5 + F12 + F14 + F16 + F24 + F26 - F35 + F46 + G3 + G5, # E3 + E6 + F12 + F14 + F15 + F24 + F25 - F36 + F45 + G3 + G6, # E4 + E5 + F12 + F13 + F16 + F23 + F26 + F36 - F45 + G4 + G5, # E4 + E6 + F12 + F13 + F15 + F23 + F25 + F35 - F46 + G4 + G6, # E5 + E6 + F12 + F13 + F14 + F23 + F24 + F34 - F56 + G5 + G6] Equations2 = [sum(Es) - E1 + sum([var("F%s%s"%(1,j)) for j in range(2,7)]) - G1] # We record the equations: # [E2 + E3 + E4 + E5 + E6 + F12 + F13 + F14 + F15 + F16 - G1] Equations3 = [-var("E%s"%k) + sum([var("F%s%s"%(i,k)) for i in range(1,k)]) + sum([var("F%s%s"%(k,i)) for i in range(k+1,7)]) + sum(Gs) - var("G%s"%k) for k in range(2, 7)] # We record the equations: # [-E2 + F12 + F23 + F24 + F25 + F26 + G1 + G3 + G4 + G5 + G6, # -E3 + F13 + F23 + F34 + F35 + F36 + G1 + G2 + G4 + G5 + G6, # -E4 + F14 + F24 + F34 + F45 + F46 + G1 + G2 + G3 + G5 + G6, # -E5 + F15 + F25 + F35 + F45 + F56 + G1 + G2 + G3 + G4 + G6, # -E6 + F16 + F26 + F36 + F46 + F56 + G1 + G2 + G3 + G4 + G5] Equations = Equations1 + Equations2 + Equations3 There are no solutions! There are no solutions! SupportEquations=[vector([list(Equations)[j].coefficient(ListEFG[i]) for i in range(0,len(ListEFG))]) for j in range(0,len(Equations))] # We record the equations in matrix format: # print matrix(SupportNewEquations).str() # [ 0 1 1 0 0 0 0 0 1 1 1 -1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0] # [ 0 1 0 1 0 0 0 1 0 1 1 0 -1 0 0 0 1 1 0 0 1 0 1 0 1 0 0] # [ 0 1 0 0 1 0 0 1 1 0 1 0 0 -1 0 1 0 1 0 1 0 0 1 0 0 1 0] # [ 0 1 0 0 0 1 0 1 1 1 0 0 0 0 -1 1 1 0 1 0 0 0 1 0 0 0 1] # [ 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 -1 0 0 0 0 1 0 0 1 1 0 0] # [ 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 -1 0 0 1 0 0 0 1 0 1 0] # [ 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 -1 1 0 0 0 0 1 0 0 1] # [ 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 -1 0 0 0 0 0 1 1 0] # [ 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 -1 0 0 0 0 1 0 1] # [ 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 -1 0 0 0 0 1 1] # [ 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0] # [ 0 -1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1] # [ 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1] # [ 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1] # [ 0 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1] # [ 0 0 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0] # [ 1 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0] # [ 1 0 1 0 0 0 0 -1 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0] # [ 1 0 0 1 0 0 0 0 -1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0] # [ 1 0 0 0 1 0 0 0 0 -1 0 1 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0] # [ 1 0 0 0 0 1 0 0 0 0 -1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1] # [ 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 -1 0 0 0 0] # [ 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 -1 0 0 0] # [ 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 -1 0 0] # [ 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 -1 0] # [ 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 -1] # [-1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1] rank( matrix(SupportEquations)) # 6 solve([e == 0 for e in Equations] + [e >= 0 for e in Es+Fs+Gs], Es+Fs+Gs) # Turns out to be empty! ########################### # Non-Effective solutions # ########################### # We add 11 extra equations associated to the intersection points: Equations4 = [var("E%s"%1) + var("E%s"%k) + var("G%s"%1) + var("G%s"%k) + sum(Fs) - sum(var("F%s%s"%(1,j)) for j in range(2, 7)) - sum(var("F%s%s"%(j,k)) for j in range(1, k)) - sum(var("F%s%s"%(k,j)) for j in range(k+1, 7)) for k in range(2, 7)] # # we record the equations: # [E1 + E2 - F12 + F34 + F35 + F36 + F45 + F46 + F56 + G1 + G2, # E1 + E3 - F13 + F24 + F25 + F26 + F45 + F46 + F56 + G1 + G3, # E1 + E4 - F14 + F23 + F25 + F26 + F35 + F36 + F56 + G1 + G4, # E1 + E5 - F15 + F23 + F24 + F26 + F34 + F36 + F46 + G1 + G5, # E1 + E6 - F16 + F23 + F24 + F25 + F34 + F35 + F45 + G1 + G6] Equations5 = [sum(Es) - var("E%s"%i) + sum([var("F%s%s"%(j,i)) for j in range(1,i)]) + sum([var("F%s%s"%(i,j)) for j in range(i+1,7)]) - var("G%s"%i) for i in range(2,6)] + [sum(Es) - E6 + sum([var("F%s%s"%(j,6)) for j in range(1,6)]) - G6] # # We record the equations: # [E1 + E3 + E4 + E5 + E6 + F12 + F23 + F24 + F25 + F26 - G2, # E1 + E2 + E4 + E5 + E6 + F13 + F23 + F34 + F35 + F36 - G3, # E1 + E2 + E3 + E5 + E6 + F14 + F24 + F34 + F45 + F46 - G4, # E1 + E2 + E3 + E4 + E6 + F15 + F25 + F35 + F45 + F56 - G5, # E1 + E2 + E3 + E4 + E5 + F16 + F26 + F36 + F46 + F56 - G6] Equations6 = [ -E1 + sum([var("F%s%s"%(1,k)) for k in range(2,7)]) + sum(Gs) - G1] # # We record the equations: # [-E1 + F12 + F13 + F14 + F15 + F16 + G2 + G3 + G4 + G5 + G6] #vector of constants: v = {} for i in range(0,16): v[i]=0; for i in range(16, 27): v[i]=1 v[27]=5 constantV = vector(QQ, v) # print constantV # (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5) newEquations = Equations1 + Equations2 + Equations3 + Equations4+ Equations5 + Equations6 SupportNewEquations=[vector([list(newEquations)[j].coefficient(ListEFG[i]) for i in range(0,len(ListEFG))]) for j in range(0,len(newEquations))] # # We record the equations in matrix format: # # print matrix(SupportNewEquations).str() # [ 0 1 1 0 0 0 0 0 1 1 1 -1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0] # [ 0 1 0 1 0 0 0 1 0 1 1 0 -1 0 0 0 1 1 0 0 1 0 1 0 1 0 0] # [ 0 1 0 0 1 0 0 1 1 0 1 0 0 -1 0 1 0 1 0 1 0 0 1 0 0 1 0] # [ 0 1 0 0 0 1 0 1 1 1 0 0 0 0 -1 1 1 0 1 0 0 0 1 0 0 0 1] # [ 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 -1 0 0 0 0 1 0 0 1 1 0 0] # [ 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 -1 0 0 1 0 0 0 1 0 1 0] # [ 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 -1 1 0 0 0 0 1 0 0 1] # [ 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 -1 0 0 0 0 0 1 1 0] # [ 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 -1 0 0 0 0 1 0 1] # [ 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 -1 0 0 0 0 1 1] # [ 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0] # [ 0 -1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1] # [ 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1] # [ 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1] # [ 0 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1] # [ 0 0 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0] # [ 1 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0] # [ 1 0 1 0 0 0 0 -1 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0] # [ 1 0 0 1 0 0 0 0 -1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0] # [ 1 0 0 0 1 0 0 0 0 -1 0 1 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0] # [ 1 0 0 0 0 1 0 0 0 0 -1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 1] # [ 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 -1 0 0 0 0] # [ 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 -1 0 0 0] # [ 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 -1 0 0] # [ 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 -1 0] # [ 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 -1] # [-1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1] rank(matrix(SupportNewEquations)) 7 solve([e == constantV for e in newEquations] , Es+Fs+Gs) [] # Turns out to be empty!