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

## Synopsis

• Usage:
S = solveSchubertProblem(P,k,n)
• Inputs:
• P, a list, Schubert problem given as a list of sequences of the form ($l,F$) where $l$ is a partition (a list of weakly decreasing integers) and $F$ is a flag ($n \times n$ matrix)
• k, an integer,
• n, an integer, $k$ and $n$ define the Grassmannian $Gr(k,n)$ of $k$-planes in $n$-space
• Optional inputs:
• LinearAlgebra => ..., default value true, switch between Linear Algebra and Parameter Homotopy
• Outputs:
• S, a list, solutions of the Schubert Problem given as $n \times k$ matrices

## 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.