a Schubert variety in the Grassmannian $Gr(k,n)$ is represented by a partition $l$ (a weakly decreasing list of nonegative integers less than $n-k$) and a flag $F$ (given as an $n\times n$ matrix). A Schubert problem is a list of Schubert varieties $(l_1, F_1), \ldots, (l_m, F_m)$ such that $|l_1|+|l_2| + \cdots + |l_m| = k(n-k)$, where $|l_i|$ is the sum of the entries of $l_i$.
The function solves a Schubert problem by the Pieri homotopy algorithm. It assumes all partitions except possibly the first two are simple (e.g. equal to {1}). This algorithm uses homotopy continuation to track solutions of a simpler problem to a general problem according to the specializations of the geometric Pieri rule.
This algorithm is described in the paper: Huber, Sottile, and Sturmfels, "Numerical Schubert Calculus", J. Symb. Comp., 26 (1998), 767-788.
for instance, the Schubert problem {2,1}$^2$ {1}$^3$ in $Gr(3,6)$ has six solutions. Consider the following instance given by random flags
i1 : k = 3; |
i2 : n = 6; |
i3 : SchPblm = { ({2,1}, random(CC^6,CC^6)), ({2,1}, random(CC^6,CC^6)), ({1}, random(CC^6,CC^6)), ({1}, random(CC^6,CC^6)), ({1}, random(CC^6,CC^6)) }; |
Its solutions to this instance
i4 : solveSimpleSchubert(SchPblm, k,n) o4 = {| .426402+.387024ii -.767149+.88679ii -.299645+.514617ii |, | | .350714+.0538475ii -1.21057+.628777ii .141417+.670654ii | | | -.00144609+.0615438ii -1.36249+.957226ii -.135443+.402697ii | | | .236976-.167254ii -.849462+.793055ii -.0797972+.62109ii | | | .251567+.0963873ii -.584053+.120158ii -.0811626+.616193ii | | | .16406+.140612ii .147134+1.02782ii .700057+.537171ii | | ------------------------------------------------------------------------ .0495704+.786748ii 1.06866+.233544ii -.050555-.348219ii |, | -.206829-.120362ii 1.77239+.496154ii -.495726-.478418ii | | -.649096-.0452157ii 1.69103+.597783ii -.0259685-.564318ii | | -.288447+.394938ii .928957+.172057ii -.307244-.389747ii | | -.458603+.164307ii 1.24868+.022694ii -.109204-.543584ii | | -.159612+.837151ii .145965-.131173ii -.311686-.109522ii | | ------------------------------------------------------------------------ .786345+.0390369ii 2.04868+.698543ii -.111359-.0502477ii |, | .850935+.235992ii 2.99936+1.61752ii -.249658-.107736ii | | .583656+.186089ii 3.03503+1.65758ii -.036834-.234947ii | | .739055-.656875ii 1.87368+.627178ii -.203199-.0546734ii | | .900963+.0645478ii 2.00882+.70537ii -.0684508-.152856ii | | .488143-.479836ii .601493-.588086ii .0472758+.081476ii | | ------------------------------------------------------------------------ .29604+.607542ii -.426858-.110817ii -.120347+.0333611ii |, | .0792163+.0318581ii -.264013-.679973ii -.172278-.0120918ii | | -.307005+.0794883ii -.488333-.457673ii -.0312588-.143993ii | | .0557081+.142424ii -.514797-.16939ii -.165842+.0348618ii | | -.0644923+.200208ii -.00925758-.689311ii -.0470698-.0463538ii | | .0883581+.490683ii -.344437+.638705ii .151061+.124719ii | | ------------------------------------------------------------------------ .416853+.43068ii -2.06356+1.47596ii -.555553+.0429811ii |, | .304534+.0650379ii -3.3745+.909754ii -.611663+.448933ii | | -.0510879+.0812111ii -3.56377+1.40773ii -.494457-.0547096ii | | .223864-.106046ii -2.10608+1.35519ii -.600561+.286352ii | | .204877+.130855ii -1.91259+.304428ii -.579545+.13444ii | | .170645+.202745ii .219633+1.87171ii -.00171043+.686346ii | | ------------------------------------------------------------------------ .948004+.00971475ii .374969+.499562ii -.059199+.251334ii |} .954212+.376895ii .636613+.574365ii .116788+.149588ii | .720595+.326751ii .530465+.763105ii .073638+.0777737ii | .96532-.698926ii .256842+.425251ii .0170751+.221298ii | 1.08396+.174263ii .551008+.0768382ii .112884+.198469ii | .689695-.590038ii .157157+.310587ii .453721+.129014ii | o4 : List |
Need to input partitions together with flags.
The object solveSimpleSchubert is a method function.