#43.big.maple # # Frank Sottile # 10 November 1998 # Berkeley, CA # # We work to show instances of Shapiro's total positivity conjecture # for the case of (135) (136) J_1^5 = 25 in G(3,4). # # Number Seed Time Size # 50 1 Eliminants 9910 70348 \ # die:=rand(1..2): Real roots 408. 186615 > Schur # # # 100 123 Eliminants 26658 145740 > Schur # die:=rand(1..3): Real roots 1419 419986 / # # interface(quiet=true): with(linalg): _seed:=123: #die:=rand(1..2): die:=rand(1..3): ELM:=proc(X,Y,Z,W,S,T) matrix([[1,X,0,0,0,0,0],[0,1,Y,0,0,0,0],[0,0,1,Z,0,0,0], [0,0,0,1,W,0,0],[0,0,0,0,1,S,0],[0,0,0,0,0,1,T],[0,0,0,0,0,0,1]]) end: Pos:=proc(a1,b1,b2,c1,c2,c3,d1,d2,d3,d4,e1,e2,e3,e4,e5,f1,f2,f3,f4,f5,f6) multiply(ELM(a1,0,0,0,0,0),ELM(b1,b2,0,0,0,0),ELM(c1,c2,c3,0,0,0), ELM(d1,d2,d3,d4,0,0),ELM(e1,e2,e3,e4,e5,0),ELM(f1,f2,f3,f4,f5,f6)) end: Coords:=matrix([ [1,a,b,0,0,0,0], [0,0,1,c,d,0,0], [0,0,0,0,0,1,e]]): ELEM:=proc(X,Y,Z,W,S,T) matrix([[0,X,0,0,0,0,0],[0,0,Y,0,0,0,0],[0,0,0,Z,0,0,0], [0,0,0,0,W,0,0],[0,0,0,0,0,S,0],[0,0,0,0,0,0,T], [0,0,0,0,0,0,0]]) end: M.0:=band([1],7): ST_Nreal:="lprint(`realroots = `,NREAL,`seed = `,": ST_end:=");": ############################################################################# # # #lprint(`timer = 1;`); lprint(`option(redSB);`); lprint(`int t=timer;`); lprint(`ring R= 0, (a,b,c,d,e), dp;`); lprint(`ideal I;`); lprint(`ideal G;`); lprint(`ring S= 0, (e,d,c,b,a), (dp(4),dp(1));`); lprint(`ideal H;`); lprint(`print("interface(quiet=true):");`); lprint(`print("readlib(realroot):");`); for ntrials from 1 to 100 do SEED:=_seed: # for j from 1 to 5 do # Params:=[]: # for i from 1 to 21 do Params:=[Params[],die()]: od: # M.j:=multiply(Pos(Params[]),M.(j-1)); # od: for j from 1 to 5 do Params:=[]: for i from 1 to 6 do Params:=[Params[],die()]: od: EX:=ELEM(Params[]): M.j:=multiply( exponential(EX),M.(j-1)): od: lprint(`setring R;`); lprint(`I=`); for j from 1 to 5 do lprint(primpart(det(stackmatrix(submatrix(M.j,[1,2,3,4],[1,2,3,4,5,6,7]),Coords))),`,`);: 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<6 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(SEED,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; BigMat := s -> 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 , 0 , 0 , 0 , 0 ], [ 0 , 0 , 1 , c , d , 0 , 0 ], [ 0 , 0 , 0 , 0 , 1 , e , f ]]): # [ 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,6,7,8],[1,2,3,4,5,6,7]): DD:=det(submatrix(SmMat(s),[1,2,3,4,5,6],[1,2,3,4,5,6])): EE:=det(submatrix(SmMat(s),[1,2,3,4,5,6],[1,2,3,4,5,7])): FF:=det(submatrix(SmMat(s),[1,2,3,4,5,6],[1,2,3,4,6,7])): GG:=det(submatrix(SmMat(s),[1,2,3,4,5,6],[1,2,3,5,6,7])): AA:=det(submatrix(BigMat(s),[1,2,3,4,5,6,7],[1,2,3,4,5,6,7])): BB:=det(submatrix(BigMat(s),[1,2,3,4,5,6,8],[1,2,3,4,5,6,7])): CC:=det(submatrix(BigMat(s),[1,2,3,4,5,7,8],[1,2,3,4,5,6,7])): K:=gbasis([DD,EE,FF,GG,AA,BB,CC],wdeg([1,2,1,2,1,2],[a,b,c,d,e,f])): lprint(`//Execute this with:`); lprint(`//Singular --ticks-per-sec=100<37.sing>37.eqs`); lprint(`//`); lprint(`timer=1;`); lprint(`int T = timer;`); lprint(`short=0;`); lprint(`ring R= 0, (s,t,a,b,c,d,e,f), wp(100,100,10,10,20,20,30,30);`); lprint(`ideal I=`); for i from 1 to 6 do lprint(K[i],`,`); od: for i from 1 to 6 do lprint(subs(s=t,K[i]),`,`); od: lprint(`0;`); lprint(`ideal G=std(I);`); lprint(`timer-T;`); lprint(`G;`); lprint(`quit;`); quit;