#52.instances # # This maple file is set up to run instances of # Shapiro's conjecture for Grass(2,5). # # We work in local coordinates for the set of 2-planes which meet # the 5-planes K_5(0) and K_5(\infty). These are evaluated at different # integral 8-tuples of the parameters. # We create a Singular input file with the resulting equations, then run it # to create a MAPLE file to test for real roots. # # We began with all 495 subsets of [-6,-5,-4,-3,-2,-1,1,2,3,4,5,6] of # size 8. # (On laptop) This first test used an inefficient Singular code. # # Creating the Singular input file took 213.030 seconds, and the file was # 885556 bytes with 18581 lines. # Singular v 1.2.1 took 63295 seconds to compute eliminants in each of # the 495 polynomial systems, and created a Maple file of length # 1788032 bytes it took 140400.440 to test all cases # 480 had all 42 root real. # # Values of Vals symmetric about the origin all had only 22 real roots # Under a change of coordinates, all the roots were shown to be real. # # The Second run used all 495 subsets of [1,2,3,5,7,11,13,17,23,29,31,37] # Creating the Singular input file took 436.269 seconds on Blinn and it had # size 1216524 bytes # Computing the Eliminants (using FGLM) took BLINN 22974 seconds and # created a file of size 1547567. # Maple took 81164.140 to verify that all were real, one was # problematic, but a different eliminant had all 42 roots real. # # # interface(quiet=true): ST_Nreal:="lprint(`realroots = `,NREAL,`Vals = `,": ST_end:=");": with(combinat): with(linalg): with(Groebner): trials:=choose([1,2,3,5,7,11,13,17,23,29,31,37],8): #nops(trials); quit; #trials:=choose([1,2,3,4,5,6,7,8,9],8): #nops(trials); quit; AA := s -> simplify(det(matrix([ [1,s,s^2, s^3 , s^4 , s^5, s^6], [0,1,2*s,3*s^2,4*s^3, 5*s^4, 6*s^5], [0,0, 1 , 3*s ,6*s^2,10*s^3,15*s^4], [0,0, 0 , 1 ,4*s ,10*s^2,20*s^3 ], [0,0, 0 , 0 , 1 , 5*s ,15*s^2], [1,a, b , c , e , 0 , 0 ], [0,0, 1 , d , f , g , h ]]))/s): ############################################################################# # # # #lprint(`timer = 1;`); lprint(`option(redSB);`); lprint(`int t=timer;`); lprint(`ring R= 0, (a,b,c,d,e,f,g,h), dp;`); lprint(`ideal I;`); lprint(`ideal H;`); lprint(`ring S= 0, (h,g,f,e,d,c,b,a), (dp(7),dp(1));`); lprint(`ideal G;`); lprint(`print("interface(quiet=true):");`); lprint(`print("readlib(realroot):");`); for ntimes from 1 to nops(trials) do Vals:=trials[ntimes]: lprint(`setring R;`); lprint(`I = `); for i from 1 to 8 do lprint(AA(Vals[i]),`,`); od: lprint(`0;`); lprint(`H = std(I);`); lprint(`setring S;`); lprint(`G = fglm(R,H);`); lprint(`print("POLY:=");`); lprint(`short=0;`); lprint(`G[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLY, 1/100)): ");`); lprint(`print(" if NREAL<42 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol)); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`print(" ");`); lprint(`print(" ");`); lprint(`print("############################################################");`); lprint(`print("# #");`); lprint(`print("# Next One #");`); lprint(`print("# #");`); lprint(`print("############################################################");`); lprint(`print(" ");`); od: lprint(`print("time(); ");`); lprint(`print("quit; ");`); lprint(`timer-t;`); lprint(`quit;`); time(); quit; ############################################################## # ############################################################## #G52.ambiguous # # Values of Vals symmetric about the origin all had only 22 real roots # when we ran the first test of G52.instances. This file chooses slightly # different local coordinates, and creates a Singular input file. # Singular computes eliminants, and writes a maple file. # # All of these were checked to have only real roots. # interface(quiet=true): ST_Nreal:="lprint(`realroots = `,NREAL,`Vals = `,": ST_end:=");": with(combinat): with(linalg): with(Groebner): trials:=[ [-6,-5,-4,-3,3,4,5,6],[-6,-5,-4,-2,2,4,5,6],[-6,-5,-4,-1,1,4,5,6], [-6,-5,-3,-2,2,3,5,6],[-6,-5,-3,-1,1,3,5,6],[-6,-5,-2,-1,1,2,5,6], [-6,-4,-3,-2,2,3,4,6],[-6,-4,-3,-1,1,3,4,6],[-6,-4,-2,-1,1,2,4,6], [-6,-3,-2,-1,1,2,3,6],[-5,-4,-3,-2,2,3,4,5],[-5,-4,-3,-1,1,3,4,5], [-5,-4,-2,-1,1,2,4,5],[-5,-3,-2,-1,1,2,3,5],[-4,-3,-2,-1,1,2,3,4]]: AA := s -> simplify(det(matrix([ [1,s,s^2, s^3 , s^4 , s^5, s^6], [0,1,2*s,3*s^2,4*s^3, 5*s^4, 6*s^5], [0,0, 1 , 3*s ,6*s^2,10*s^3,15*s^4], [0,0, 0 , 1 ,4*s ,10*s^2,20*s^3 ], [0,0, 0 , 0 , 1 , 5*s ,15*s^2], [1,a, b , c+d , d , 0 , 0 ], [0,0, e , f , g , h , 1 ]]))/s): ############################################################################# # # # #lprint(`timer = 1;`); lprint(`int t=timer;`); lprint(`short=0;`); lprint(`option(redSB);`); lprint(`ring R= 0, (c,d,e,f,g,h,a,b), dp;`); lprint(`ideal I;`); lprint(`ideal H;`); lprint(`ring S= 0, (b,a,h,g,f,e,d,c), (dp(7),dp(1));`); lprint(`ideal G;`); lprint(`print("interface(quiet=true):");`); lprint(`print("readlib(realroot):");`); for ntimes from 1 to nops(trials) do Vals:=trials[ntimes]: lprint(`setring R;`); lprint(`I = `); for i from 1 to 8 do lprint(AA(Vals[i]),`,`); od: lprint(`0;`); lprint(`H = std(I);`); # lprint(`hilb(H);`); # lprint(`quit;`); lprint(`setring S;`); lprint(`G = fglm(R,H);`); lprint(`short=0;`); lprint(`print("POLY:=");`); lprint(`G[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLY, 1/100)): ");`); lprint(`print(" if NREAL<42 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol)); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`print(" ");`); lprint(`print(" ");`); lprint(`print("############################################################");`); lprint(`print("# #");`); lprint(`print("# Next One #");`); lprint(`print("# #");`); lprint(`print("############################################################");`); lprint(`print(" ");`); od: lprint(`print("time(); ");`); lprint(`print("quit; ");`); lprint(`timer-t;`); lprint(`quit;`); time(); quit;