######################################################################### #25.maple # # # # This MAPLE code sets up[ a Singular file which computes a # # Degree reverse Lexicographic Groebner basis. # # # # It treats the enumerative problem of 10 Schubert # # hypersurfaces in G(5,2), each defined by a 2-plane. # # There are 42 5-planes meeting 10 fixed 2-planes in C^7. # # # # Computing drl Gr\"obner basis (SINGULAR) 3.69 seconds # # # ######################################################################### interface(quiet=true): Eq := s -> simplify(linalg[det](linalg[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], [1,0, 0 , 0 , 0 , a , b ], [0,1, 0 , 0 , 0 , c , d ], [0,0, 1 , 0 , 0 , e , f ], [0,0, 0 , 1 , 0 , g , h ], [0,0, 0 , 0 , 1 , x , y ]]))): eqs:=[]: for i from 1 to 10 do eqs:=[eqs[],Eq(i)]: od: lprint(`//Execute this with:`); lprint(`//Singular --ticks-per-sec=100<25.sing`); lprint(`//`); lprint(`//ring R= 0, (a,b,c,d,e,f,g,h,x,y), dp;`); lprint(`//`); lprint(`timer=1;`); lprint(`//`); lprint(`ring R= 0, (a,b,c,d,e,f,g,h,x,y), dp;`); lprint(`ideal I=`); for i from 1 to 10 do lprint(eqs[i],`,`); od: lprint(`0;`); lprint(`int t=timer;`); lprint(`ideal G = std(I);`); lprint(`int s=timer-t;`); lprint(`print("Time to compute one drl Groebner bases: "); `); lprint(`s;`); lprint(`print("Time units, counts per second:");`); lprint(`system("--ticks-per-sec");`); lprint(`degree(G);`); lprint(`ncols(G);`); lprint(`print(G);`); lprint(`quit;`); quit;