|\^/| Maple 2021 (X86 64 LINUX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2021 \ MAPLE / All rights reserved. Maple is a trademark of <____ ____> Waterloo Maple Inc. | Type ? for help. #Corollary22_a.maple # # This is the maple computation reported in the proof of Corollary 22 # # It is for the Schubert problem (3)*(4,1)*(2,1,1)*(2,1,1)*(2,1,1) = 6 # # Frank Sottile # 7 December 2018 ################################################################################# #interface(quiet=true): > kernelopts(printbytes=false): > die:=rand(-1..2): > with(LinearAlgebra): # These are local coordinates for (3) * (4,1) # The second row with last three entries x, w+x, w-x is a bit sneaky # The block structure of its columns will be important. # Rows 1 and 4 give a 2-plane in cols (12789) that meets a 2-plane # and a complementary 3-plane > Coords := Matrix([ > [ 0, 0, 0, 0, 0, 0, 1, a, b], > [ 0, 0, 1, r, z, y, x, w+x, w-x], > [ 0, 1, v, u, t, s, 0, 0, 0], > [ 1, c, 0, 0, 0, 0, 0, 0, 0]]): # These are 3-planes in the C^2 given by columns 1,2,7,8,9 that are in # a particular special position. They are the intersections of the # three seven planes defining (211), (211), (211) > LI := Matrix([ > [1, 1, 0, 0, 0, 0, 1, 1, 1], > [1, 2, 0, 0, 0, 0, 2, 2, 0], > [1, 3, 0, 0, 0, 0, 3, 0, 3]]): > LII := Matrix([ > [1, 1, 0, 0, 0, 0, 2, 2, 2], > [1, 2, 0, 0, 0, 0, 3, 3, 0], > [1, 3, 0, 0, 0, 0, 1, 0, 1]]): > LIII := Matrix([ > [1, 1, 0, 0, 0, 0, 3, 3, 3], > [1, 2, 0, 0, 0, 0, 2, 2, 0], > [1, 3, 0, 0, 0, 0, 1, 0, 1]]): #ij:=2: #LR := [seq(die()+ij,i=1..9)]: #LR := [seq(r,i=1..8),1+2*ij]: # The first two are an attempt to find the 'right' general row for the last row of LaI. > LP := [1,2,3,seq(p,i=1..5),1]: > LaI := Matrix(3,9,die): > LaIlp := Matrix(1,9,LP); LaIlp := [1 2 3 p p p p p 1] > LaII := Matrix(4,9,die): > LaIII := Matrix(4,9,die): > CLLI := Matrix([[Coords], [LI], [LaI], [LaIlp]]) ; [0 0 0 0 0 0 1 a b ] [ ] [0 0 1 r z y x w + x w - x ] [ ] [0 1 v u t s 0 0 0 ] [ ] [1 c 0 0 0 0 0 0 0 ] [ ] [1 1 0 0 0 0 1 1 1 ] [ ] CLLI := [1 2 0 0 0 0 2 2 0 ] [ ] [1 3 0 0 0 0 3 0 3 ] [ ] [-1 1 1 0 -1 2 0 0 1 ] [ ] [2 2 0 -1 1 2 -1 2 -1 ] [ ] [0 1 0 0 2 2 1 1 -1 ] [ ] [: : : : : : : : "11 x 9 Matrix"] > CLLII := Matrix([[Coords], [LII], [LaII]]) : > CLLIII := Matrix([[Coords], [LIII], [LaIII]]) : > COLS :=[seq(ii,ii=1..9)]: # # These are the equations for the auxillary problem in G(2,5) # given by rows 1 and 4 of the coordinates and columns 1,2,7,8,9 # > SEqs:=[ > Determinant(SubMatrix(CLLI, [1,4,5,6,7], [1,2,7,8,9])), > Determinant(SubMatrix(CLLII, [1,4,5,6,7], [1,2,7,8,9])), > Determinant(SubMatrix(CLLIII, [1,4,5,6,7], [1,2,7,8,9]))]; SEqs := [4 a c + 3 b c - c - 6, -3 a c + b c + 15 a + b + 5 c - 19, -4 a c - b c + 16 a + 4 b + 7 c - 22] > GB:=Groebner[Basis](SEqs,plex(a,b,c)); 3 2 2 2 GB := [c - 6 c + 11 c - 6, -c + b + 4 c - 4, c + 2 a - 3 c] > factor(GB[1]); (c - 1) (c - 2) (c - 3) # # As this factors, it shows that the three solutions correspond to c=1,2,3 # which are defined over Q (and are constant) > Eqs:=[]: > for ROWS in combinat[choose]([seq(ii,ii=5..11)],5) do > Eqs:=[Eqs[],Determinant(SubMatrix(CLLI, [1,2,3,4,ROWS[]], COLS)) > ,Determinant(SubMatrix(CLLII, [1,2,3,4,ROWS[]], COLS)) > ,Determinant(SubMatrix(CLLIII, [1,2,3,4,ROWS[]], COLS))]: > end do: > for CLS in combinat[choose](COLS,8) do > Eqs:=[Eqs[],Determinant(SubMatrix(CLLI, [1,2,3,4,8,9,10,11], CLS)) > ,Determinant(SubMatrix(CLLII, [1,2,3,4,8,9,10,11], CLS)) > ,Determinant(SubMatrix(CLLIII, [1,2,3,4,8,9,10,11], CLS))]: > end do: > GG:=Groebner[Basis](subs(p=5,Eqs),lexdeg([z,y,x,w,v,u,t,s,r],[a,b,c])): > GG:=Groebner[Basis](GG,plex(z,y,x,w,v,u,t,s,r,a,b,c)): > with(PolynomialIdeals): > J:=; 2 3 2 2 J := > NumberOfSolutions(J); 6 # # There are six solutions when p=5, which is what is expected. # # # We check that for each value of c=1,2,3 there are two solutions to the Schubert problem, as shown by the degree is 2 in s. # > GG:=Groebner[Basis](subs(c=1,Eqs),plex(a,b,z,y,x,w,v,u,t,r,s)): > S1:=GG[1]; S1 := 3 2 2 (160364319234 p + 5448092340339 p + 34191264927621 p + 35058083420241) s + 3 2 (-36548601666 p + 129105911288 p + 20013653727114 p + 24028486770960) s 3 2 + 2056238492 p - 92391109972 p - 376415422080 p + 192390009084 > GG:=Groebner[Basis](subs(c=2,Eqs),plex(a,b,z,y,x,w,v,u,t,r,s)): > S2:=GG[1]; 3 2 2 S2 := (428044224 p - 40468812488 p + 15709509804 p + 519230985306) s 3 2 + (-1857316392 p + 11355032794 p + 30399732901 p - 79085277108) s 3 2 - 186676110 p + 2190461853 p + 21257242 p - 42081572064 > GG:=Groebner[Basis](subs(c=3,Eqs),plex(a,b,z,y,x,w,v,u,t,r,s)): > S3:=GG[1]; 3 2 S3 := (1347187994294 p - 2955753013339 p - 20106464206440 p + 22007726732043) 2 s + 3 2 (1261921422958 p + 1131305405692 p - 18288495460932 p - 30786096455406) s 3 2 + 142122297008 p + 908671627976 p + 3565671895608 p + 3773080556496 # # Let us compute their discriminants as functions of 4 # > D1:= primpart(expand(coeff(S1,s^2)^2 - 4* coeff(S1,s)*subs(s=0,S1))); 6 5 D1 := 26017325449681880457444 p + 1732790284884141738316460 p 4 3 + 40475899740459256631385821 p + 391219686179767912495083714 p 2 + 1589956460013629623308123231 p + 2418137500022079197061526218 p + 1210577849948017819698895521 > D2:= primpart(expand(coeff(S2,s^2)^2 - 4* coeff(S2,s)*subs(s=0,S2))); 6 5 D2 := -300911134672854576 p - 2473126662279788940 p 4 3 + 393634997646154972276 p - 366498648602645212573 p 2 - 9794208817613715112162 p + 5359381812776498563812 p + 64072171237638185467497 > D3:= primpart(expand(coeff(S3,s^2)^2 - 4* coeff(S3,s)*subs(s=0,S3))); 6 5 D3 := 1097526806872311112919780 p - 13193733613943430792745508 p 4 3 - 57151418070602064415843399 p + 226950305252398257689423508 p 2 + 629837974608835525807829166 p - 169886797454966176045629360 p + 948973723697491278433423353 # # Check that these are relatively prime # > Groebner[Basis]([D1,D2], plex(s)); [1] > Groebner[Basis]([D1,D3], plex(s)); [1] > Groebner[Basis]([D3,D2], plex(s)); [1] # # As these are relatively prime, their branch points in the p-line are distinct. # # Numerically find the roots of the discriminants # > fsolve(D1=0,complex); -24.8911179887126 - 3.68035276103945 I, -24.8911179887126 + 3.68035276103945 I, -8.93019591163769, -5.42921661659899, -1.22987547196203 - 0.0568997073681255 I, -1.22987547196203 + 0.0568997073681255 I > fsolve(D2=0,complex); -40.6485271856401, -3.318105218 - 0.08717075035 I, -3.318105218 + 0.08717075035 I, 3.88391751259518 - 0.325965685239339 I, 3.88391751259518 + 0.325965685239339 I, 31.2981084837225 > fsolve(D3=0,complex); -3.74189009396192, -3.31794410586100, 0.254779383080884 - 1.05062052541982 I, 0.254779383080884 + 1.05062052541982 I, 4.12473611524965, 14.4468708533946 > quit; memory used=4763.6MB, alloc=199.8MB, time=17.99