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(s1)=...=F(s6) = 0 (*)
for s1,...,s6 six distinct real numbers, where:

F(s) = det æ
ç
ç
ç
ç
è
1 0 a b c
s 1 e f g
s2 2*s 1 0 0
s3 3*s2 0 1 0
s4 4*s3 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 R5 which osculate the rational normal curve. The last three columns are local coordinates on the Grassmannian of 3 planes in R5, 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 Cm+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.