Represent a Schubert variety in the Grassmannian $Gr(k,n)$ by a condition $c$ either a partition or a bracket (see partition2bracket for details) and a flag $F$ (given as an $n{\times} n$ matrix). The codimention of the Schubert variety is $|C|$. A Schubert problem is a list of Schubert varieties, whose codimention add up to $k(n-k)$, which is the dimension of the Grassmannian.
The function solves the Schubert problem by the Littlewood-Richardson homotopy. 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: Leykin, Martin del Campo, Sottile, Vakil, Verschelde "Numerical Schubert Calculus via the Littlewood-Richardson homotopy algorithm".
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-.443329ii -.193482-.957391ii -.460977-.267623ii |, |
| .153343-.291038ii .339479-1.30008ii -.577303-.171329ii | |
| .326239-.770744ii .120186-1.46205ii -.0769985-.323186ii | |
| -.451322-.514227ii -.144874-.987789ii -.589493-.209825ii | |
| -.0525679-.692383ii .364061-.704785ii -.325325-.185011ii | |
| -.942864-.594173ii -.826353-.203654ii -.236865+.691374ii | |
------------------------------------------------------------------------
-5.47422+1.18674ii -.912706-1.64344ii -.590144+.126046ii |}
-2.80395-.714508ii -.793467-2.20255ii -.016225+.340982ii |
-2.29873-2.34724ii -.905617-2.59114ii .0951404+.355536ii |
-3.36313+2.14592ii -.703202-1.58202ii -.375349+.205204ii |
-3.91243-.845457ii -.528411-.900447ii -.187047+.545512ii |
-4.19554+1.93172ii -1.11528-.480829ii .19859+1.24706ii |
o5 : List
|
The Schubert conditions are either all partitions or all brackets.
The object solveSchubertProblem is a method function with options.