Hypersurface Schubert Conditions and Shapiros' Conjecture: A Challenge Frank Sottile 16 April, 1997 Here are some polynomial systems that arise in the Schubert calculus which I am interested to know whether or not they have only real solutions. Some of these I know have only real roots, and others I do not know. This is both a challenge to you to replicate what I know, as well as to apply your methods to what I do not know. Rather than send the equations, I will send you pieces of MAPLE code. These can be modified to give other sets of equations to test. All of these systems are essentially alike, for instance, the first system is of the form (*) F(s_1)=...=F(s_6) = 0 for s_1,...,s_6 six distinct real numbers, where: [ 1 0 a b c ] [ s 1 e f g ] F(s) = det [ s^2 2*s 1 0 0 ] [ s^3 3*s^2 0 1 0 ] [ s^4 4*s^3 0 0 1 ] This is just the following problem in enumerative geometry, in local coordinates: The first two columns of the matrix give the 2-planes in R^5 which osculate the rational normal curve. The last three columns are local coordinates on the Grassmannian of 3 planes in R^5, and the system (*) is asking for which 3-planes meet 6 2-planes which osculate the rational normal curve? This can easily be formulated in any dimension: Which p-planes meet m*p given m-planes in C^{m+p} which osculate the rational normal curve? One can also ask for m*p general m-planes (not necessarily thos which osculate the rational normal curve). Schubert determined the number last century: 1! 2! ...(p-1)! (mp)! d(m,p) := --------------------- m!(m+1)!....(m+p-1)! Shapiro's conjecture is the following (in this context): For any m,p and any m*p m-planes which osculate the rational normal curve at real points, all d(m,p) p-planes are real. I have tested this conjecture in a number of instances for each of (m,p) = (2,3), (2,4), (2,5) and (3,6). For these, the numbers are: 5 14 42 42 The first four pieces of MAPLE code generate equations, all of whose solutions are real (I've checked them using elimination-theoretic methods). For the next two, with (m,p)=(2,6) (132 solutions) and the next has (m,p)=(3,4) with 462 roots. My computer crashes when I ask it to compute an elimination ideal in these cases. I am think it would be interesting to see how/if other methods work on testing for real solutions. Hence this note. These systems are also interesting in that they are very deficient. | | Volume of | m,p | # sols. | Newton Polytope | Bezout number ------|---------|-----------------|---------------- 2,2 | 2 | 4 | 16 2,3 | 5 | 17 | 64 2,4 | 14 | 66 | 256 2,5 | 42 | 247 | 1024 My next email will contain some non-complete intersection for testing. -Frank Sottile MSRI, Berkeley ############################### # # Begin MAPLE # # ############################## ######################### This first one should have 5 real roots (m,p)=(2,3) ######################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c],[d,e,f]]),band([1],3)): Eq := s -> concat(matrix([ [1, 0],[s , 1],[s^2, 2*s],[s^3,3*s^2],[s^4,4*s^3]]),K): equations :={}: Index :={1, 2, 3,4, 5,6}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: # Prints out the equations for ee in equations do lprint(ee,`,`);od; lprint(`0;`); quit ######################################################### This case has 14 roots, all real (m,p)=(2,4) ######################################################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c,d],[e,f,g,h]]),band([1],4)): Eq := s -> concat(transpose(matrix([ [100000, 10000*s , 1000*s^2 , 100*s^3 , 10*s^4 , s^5 ], [0 , 10000 , 2000*s , 300*s^2 , 40*s^3 , 5*s^4]])),K): equations :={}: Index :={1, 2, 3, 4, 5, 6, 7, 8}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: for ee in equations do lprint(ee,`,`);od; lprint(`0;`); quit ###################################### This case has 42 real roots (m,p)=(2,5) ####################################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c,d,x],[e,f,g,h,y]]),band([1],5)): Eq := s -> concat(transpose(matrix([ [1000000,100000*s,10000*s^2,1000*s^3,100*s^4,10*s^5, s^6], [ 0 ,100000 , 20000*s ,3000*s^2,400*s^3,50*s^4,6*s^5]])),K): equations :={}: Index :={1, 2, 3,4, 5,6, 7, 8, 9, 10}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: for ee in equations do lprint(ee,`,`);od; lprint(`0;`); ###################################### This case has 42 real roots (m,p)=(3,3) ####################################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c],[d,e,f],[g,h,y]]),band([1],3)): Eq := s -> concat(transpose(matrix([ [1, 1*s, 1*s^2, 1*s^3, 1*s^4, 1*s^5 ], [0, 1 , 2*s , 3*s^2, 4*s^3, 5*s^4 ], [0, 0 , 1 , 3*s , 6*s^2, 10*s^3]])),K): equations :={}: Index :={1,2,3,4,5,6,7,8,9}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: for ee in equations do lprint(ee,`,`);od; lprint(`0;`); ######################################################### Now come some systemd that I cannot solve using Grobner bases The first has 132 roots, and the conjecture is that they are all real. Are they? (m,p)=(2,6) ####################################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c,d,e,w],[x,y,z,f,g,h]]),band([1],6)): Eq := s -> concat(transpose(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]])),K): equations :={}: Index :={-6,-5,-4,-3,-2,1,2,3,4,5,8,9}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: for ee in equations do lprint(ee,`,`);od; lprint(`0;`); quit ########################### This one has 462, or so roots are they all real? (m,p)=(3,4) (By the way, this is the first case where I do not know if it is possible to find mp real p-planes in R^{m+p} for which the d(m,p) m-planes which meet all of them are real) ################################################### interface(quiet=true): with(linalg): K := stack(matrix([[a,b,c,d],[e,f,g,h],[x,y,z,w]]),band([1],4)): Eq := s -> concat(transpose(matrix([ [64,32*s,16*s^2, 8*s^3, 4*s^4, 2*s^5 , 1*s^6], [ 0,32 ,32*s , 24*s^2, 16*s^3, 10*s^4 , 6*s^5], [ 0, 0 ,16 , 24*s , 24*s^2, 20*s^3 , 15*s^4]])),K): equations :={}: Index :={-4,-3,-2,-1,1,2,3,4,5,6,7,8}; # Your values here! for ii in Index do equations := equations union {det(Eq(ii))}: od: for ee in equations do lprint(ee,`,`);od; lprint(`0;`); quit