Hypersurface Schubert Conditions and Shapiros’ Conjecture

                                                      schubert1 [1]
F. Sottile

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.

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:

F (s) = det ( \begin{matrix}1 & 0 & a & b & c \\ s & 1 & e & f & g \\ s^{2} & 2 ∗ s & 1 & 0 & 0 \\ s^{3} & 3 ∗ s^{2} & 0 & 1 & 0 \\ s^{4} & 4 ∗ s^{3} & 0 & 0 & 1 \end{matrix} )

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:

m,p # sols. Volume of Newton Polytope Bezout number
2,2  2  4  16
2,3  5  17  64
2,4  14  66  256
2,5  42  247  1024

Example 1:

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:
for ee in equations do
lprint(ee,`,`);od;
lprint(`0;`);

Example 2:

#This case has 14 roots, all real  (m,p)=(2,4)
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;`);
od;

Example 3:

#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;`);

Example 4:

# 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;`);

Example 5:

# 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:
convert(equations,list);

Example 6:

# 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;`);

References

[1] D. Bini and B. Mourrain. Polynomial test suite. 1996.