next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NumericalSchubertCalculus :: solveSchubertProblem

solveSchubertProblem -- uses Littlewood-Richardson homotopy algorithm to solve a Schubert problem

Synopsis

Description

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 codimension 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 solveSchubertProblem solves the given instance of 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". Math. Comp., 90 (2021), 1407-1433. https://arxiv.org/abs/1802.00984.

For instance, consider the Schubert problem {2,1}$^3$ in $Gr(3,6)$, which has two solutions

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))
         };

Its solutions to an instance given by random flags

i4 : solveSchubertProblem(SchPblm, k,n)

o4 = {| -.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   |

o4 : List

Caveat

The Schubert conditions must be either all partitions or all brackets.

See also

Ways to use solveSchubertProblem :

For the programmer

The object solveSchubertProblem is a method function with options.