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

solveSimpleSchubert -- uses Pieri homotopy algorithm to solve simple Schubert problems on Grassmannians

Synopsis

Description

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{\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 the Schubert problem by the Pieri homotopy algorithm. 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".

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))
         };
i4 : stdio << "Schubert problem {2,1}^2 {1}^3 in Gr(3,6) with respect to random flags"<<endl;
Schubert problem {2,1}^2 {1}^3 in Gr(3,6) with respect to random flags
i5 : solveSimpleSchubert(SchPblm, k,n)

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

o5 : List

Caveat

Need to input partitions together with flags. In the future, there will be an option for generating random flags and just input the first two partitions. Also, it will be able to take brackets.

See also

Ways to use solveSimpleSchubert :

For the programmer

The object solveSimpleSchubert is a method function.