#38.maple # # Frank Sottile # 4 November 1998 # Berkeley, CA # # We compute instances of Shapiro's conjecture for the 32 # 3-planes in C^8 satisfying 5 Schubert conditions of type 135. # # We first try the 200 3-tuples: # choose([5,6,7,8,9,10,11],3): choose([-7,-6,-5,-4,-3,-2,-1,1,2,3,4],3): # # size time # Singular file 1472782 5283 # Maple File 356007 3849 # # Next, the 200 3-tuples: # choose([-7,-6,9,10,12,13,14],3): choose([-5,-4,6,7,12,13,17,23,29,31,37],3): # # size time # Singular file 1743256 9364 # Maple File 425035 3161 # interface(quiet=true): with(linalg): with(Groebner): #T:=combinat[choose]([-7,-6,-5,-4,-3,-2,-1,1,2,3,4],3): #TT:=combinat[choose]([5,6,7,8,9,10,11],3): T:=combinat[choose]([-7,-6,9,10,12,13,14],3): TT:=combinat[choose]([-5,-4,6,7,12,13,17,23,29,31,37],3): trials:=[T[],TT[]]: #nops(trials); quit; BigMat := s -> matrix([ [ 1 , s ,s^2, s^3 , s^4 , s^5 , s^6, s^7], [ 0 , 1 ,2*s,3*s^2,4*s^3, 5*s^4, 6*s^5, 7*s^6], [ 0 , 0 , 1 , 3*s ,6*s^2,10*s^3,15*s^4,21*s^5], [ 0 , 0 , 0 , 1 , 4*s ,10*s^2,20*s^3,35*s^4], [ 0 , 0 , 0 , 0 , 1 , 5*s ,15*s^2,35*s^3], [ 0 , 0 , 0 , 0 , 0 , 1 , 6*s ,21*s^2], [ 1 , a , b , c , 0 , 0 , 0 , 0 ], [ 0 , 0 , 1 , d , e , f , 0 , 0 ], [ 0 , 0 , 0 , 0 , 1 , g , h , x ]]): # [ 1 ,x12,x13, 0 , 0 , 0 , 0 ], # [ 0 , 0 , 1 , x24 , x25 , 0 , 0 ], # [ 0 , 0 , 0 , 0 , 1 , x36 , x37 ]]): SmMat := s -> submatrix(BigMat(s),[1,2,3,4,7,8,9],[1,2,3,4,5,6,7,8]): ROWS:=[1,2,3,4,5,6,7]: COLS:=combinat[choose](8,7): G:=[]: for COL in COLS do G:=[G[],det(submatrix(SmMat(s),ROWS,convert(COL,list)))]: od: COL:=[1,2,3,4,5,6,7,8]: ROWS:=combinat[choose](9,8): for ROW in ROWS do G:=[G[],det(submatrix(BigMat(s),convert(ROW,list),COL))]: od: G:=gbasis(G,wdeg([1,2,3,2,3,4,3,4,5],[a,b,c,e,d,f,g,h,x])): ST_Nreal:="lprint(`realroots = `,NREAL,`Vals = `,": ST_end:=");": lprint(`//Execute this with:`); lprint(`//Singular --ticks-per-sec=100<38.sing>38eqs`); lprint(`//`); lprint(`option(redSB);`); lprint(`int t = timer;`); lprint(`short=0;`); lprint(`ring R= 0, (a,b,c,d,e,f,g,h,x), dp;`); lprint(`ideal I;`); lprint(`ideal G;`); lprint(`ring S= 0, (h,x,g,f,e,d,c,b,a), (dp(8),dp(1));`); lprint(`ideal H;`); 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 IND from 1 to 3 do for i from 1 to nops(G) do lprint(subs(s=Vals[IND],G[i]),`,`); od: od: lprint(`0;`); lprint(`G=std(I);`); lprint(`setring S;`); lprint(`H = fglm(R,G);`); lprint(`print("POLY:=");`); lprint(`short=0;`); lprint(`H[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLY, 1/100)): ");`); lprint(`print(" if NREAL<32 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;