Represent a Schubert variety in the Grassmannian Gr(k,n) by a partition l (a weakly decreasing list of nonegative integers less than n-k) and a flag F (given as an n× n matrix). A Schubert problem is a list of Schubert varieties (l1, F1), ..., (lm, Fm) such that |l1|+|l2| + …+ |lm| = k(n-k), where |li| is the sum of the entries of li.
The function solves the Schubert problem by Littlewood-Richardson homotopies. This algorithm uses homotopy continuation to track solutions of a simpler problem to a general problem according to the specializations of the geometric Littlewood-Richardson.
This algorithm is described in the paper: Sottile,Vakil, and Verschelde, "Littlewood-Richardson homotopies"
i1 : k = 3; |
i2 : n = 6; |
i3 : SchPblm = { ({2,1}, random(CC^6,CC^6)), ({2,1}, random(CC^6,CC^6)), ({2,1}, random(CC^6,CC^6)) }; |
i4 : stdio << "Schubert problem {2,1}^3 in Gr(3,6) with respect to random flags"<<endl; Schubert problem {2,1}^3 in Gr(3,6) with respect to random flags |
i5 : solveSchubertProblem(SchPblm, k,n) o5 = {| -.973546-.443329i -.193482-.957391i -.460977-.267623i |, | | .153343-.291038i .339479-1.30008i -.577303-.171329i | | | .326239-.770744i .120186-1.46205i -.0769985-.323186i | | | -.451322-.514227i -.144874-.987789i -.589493-.209825i | | | -.052568-.692383i .364061-.704785i -.325325-.185011i | | | -.942864-.594173i -.826353-.203654i -.236865+.691374i | | ------------------------------------------------------------------------ -5.47422+1.18674i -.912706-1.64344i -.590144+.126046i |} -2.80395-.714508i -.793467-2.20255i -.016225+.340982i | -2.29873-2.34724i -.905617-2.59114i .0951404+.355536i | -3.36313+2.14592i -.703202-1.58202i -.375349+.205204i | -3.91243-.845457i -.528411-.900447i -.187047+.545512i | -4.19554+1.93172i -1.11528-.480829i .19859+1.24706i | o5 : List |
Need to input partitions together with flags. In the future, there will be an option for generating random flags and just input the partitions.