# # This checks the anamolous cases of Shapiro's # Conjecture for the case of 2-planes in C^8 satisfying # (13)^6 = 15. # # interface(quiet=true): with(Ore_algebra): with(linalg): with(Groebner): with(combinat): trials:=[[1,2,3,6],[1,2,4,8],[1,2,5,10],[1,2,6,12],[1,2,7,14],[1,3,4,12],[2,3,4,6],[2,3,6,9],[2,3,8,12],[2,4,5,10],[2,4,6,12],[2,4,7,14],[3,4,6,8],[3,4,9,12],[3,5,6,10],[3,6,7,14],[4,5,8,10],[4,6,8,12],[4,7,8,14],[5,6,10,12],[5,7,10,14],[6,7,12,14],[6,8,9,12]]: # 14761.840 ST_Nreal:="lprint(`realroots = `,NREAL,`Vals = `,": ST_end:=");": SmMat := 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], [ 1 , a , b , c , d , 0 , 0 , 0 ], [ 0 , 0 , 0 , 1 , e , f , g , h ]]): A:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,3,4,5,6,7]))/s): AA:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,3,4,5,6,8]))/s): BB:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,3,4,5,7,8]))/s^2): CC:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,3,4,6,7,8]))/s^4): DD:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,3,5,6,7,8]))/s^4): EE:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,2,4,5,6,7,8]))/s^5): FF:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[1,3,4,5,6,7,8]))/s^6): GG:=simplify(det(submatrix(SmMat(s),[1,2,3,4,5,6,7],[2,3,4,5,6,7,8]))/s^7): GB:=gbasis([A,AA,BB,CC,DD,EE,FF,GG], wdeg([1,2,3,4,1,2,3,4],[a,b,c,d,e,f,g,h])): #for i from 1 to nops(GB) do indets(GB[i]); od; lprint(`timer = 1;`); lprint(`option(redSB);`); lprint(`int t=timer;`); lprint(`ring R= 0, (h,g,f,e,d,c,b,a), dp;`); lprint(`ideal I;`); lprint(`ideal H;`); lprint(`ring Sh= 0, (a,b,c,d,e,f,g,h), (dp(7),dp(1));`); lprint(`ideal Gh;`); lprint(`ring Sg= 0, (h,a,b,c,d,e,f,g), (dp(7),dp(1));`); lprint(`ideal Gg;`); lprint(`ring Sf= 0, (g,h,a,b,c,d,e,f), (dp(7),dp(1));`); lprint(`ideal Gf;`); lprint(`ring Se= 0, (f,g,h,a,b,c,d,e), (dp(7),dp(1));`); lprint(`ideal Ge;`); lprint(`ring Sd= 0, (e,f,g,h,a,b,c,d), (dp(7),dp(1));`); lprint(`ideal Gd;`); lprint(`ring Sc= 0, (d,e,f,g,h,a,b,c), (dp(7),dp(1));`); lprint(`ideal Gc;`); lprint(`ring Sb= 0, (c,d,e,f,g,h,a,b), (dp(7),dp(1));`); lprint(`ideal Gb;`); lprint(`ring Sa= 0, (b,c,d,e,f,g,h,a), (dp(7),dp(1));`); lprint(`ideal Ga;`); 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 = `); equations:=[]: for P in GB do for ii in Vals do equations:=[equations[],subs(s=ii,P)]: od:od: for EQS in equations do lprint(EQS,`,`); od: lprint(`0;`); lprint(`H = std(I);`); lprint(`setring Sg;`); lprint(`Gg = fglm(R,H);`); lprint(`print("POLYg:=");`); lprint(`short=0;`); lprint(`Gg[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYg, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`g`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Sf;`); lprint(`Gf = fglm(R,H);`); lprint(`print("POLYf:=");`); lprint(`short=0;`); lprint(`Gf[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYf, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`f`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Se;`); lprint(`Ge = fglm(R,H);`); lprint(`print("POLYe:=");`); lprint(`short=0;`); lprint(`Ge[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYe, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`e`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Sd;`); lprint(`Gd = fglm(R,H);`); lprint(`print("POLYd:=");`); lprint(`short=0;`); lprint(`Gd[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYd, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`d`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Sc;`); lprint(`Gc = fglm(R,H);`); lprint(`print("POLYc:=");`); lprint(`short=0;`); lprint(`Gc[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYc, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`c`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Sb;`); lprint(`Gb = fglm(R,H);`); lprint(`print("POLYb:=");`); lprint(`short=0;`); lprint(`Gb[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYb, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`b`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`setring Sa;`); lprint(`Ga = fglm(R,H);`); lprint(`print("POLYa:=");`); lprint(`short=0;`); lprint(`Ga[1];`); lprint(`print(":");`); lprint(`print("NREAL:= nops(realroot(POLYa, 1/100)): ");`); lprint(`print(" if NREAL<15 then");`); lprint(`print("`,convert(ST_Nreal,symbol)); lprint(convert(Vals,symbol),`a`); lprint(convert(ST_end,symbol),` ");`); lprint(`print("fi: ");`); lprint(`print(" ");`); 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; quit;