Macaulay2 » Documentation
Packages » GKMVarieties :: orbitClosure
next | previous | forward | backward | up | index | toc

# orbitClosure -- computes the equivariant K-class of a torus orbit closure of a point in a generalized flag variety

- Usage:
    `C = orbitClosure(X,M)`
- Inputs:
  - X, a GKM variety,
  - M, a matrix, representing a point in a generalized flag variety
- Optional inputs:
  - RREFMethod => ..., default value false
- Outputs:
  - C, an equivariant K-class,

## Description

Let $X$ be a generalized flag variety parameterizing flags of linear subspaces of dimensions $\{r_1, ... , r_k\}$ in $\mathbb C^n$ with $1 <= r_1 < \cdots < r_k$. Then a point $p$ of $X$ can be identified with a matrix $M$ of size $r_k \times n$ such that the first $r_i$ rows of $M$ spans a subspace of dimension $r_i$. Given $X$ and such a matrix $M$ representing the point $p$, this method computes the equivariant K-class of the closure of the torus orbit of $p$.

The following example computes the torus orbit closure of a point in the standard Grassmannian $Gr(2,4)$ and in the Lagrangian Grassmannian $SpGr(2,4)$.

    i1 : M = matrix(QQ,{{1,0,1,2},{0,1,2,1}})

    o1 = | 1 0 1 2 |
         | 0 1 2 1 |

                  2       4
    o1 : Matrix QQ  <-- QQ

    i2 : X1 = generalizedFlagVariety("A",3,{2})

    o2 = a "GKM variety" with an action of a 4-dimensional torus

    o2 : GKMVariety

    i3 : X2 = generalizedFlagVariety("C",2,{2})

    o3 = a "GKM variety" with an action of a 2-dimensional torus

    o3 : GKMVariety

    i4 : C1 = orbitClosure(X1,M)

    o4 = an "equivariant K-class" on a GKM variety

    o4 : KClass

    i5 : C2 = orbitClosure(X2,M)

    o5 = an "equivariant K-class" on a GKM variety

    o5 : KClass

    i6 : peek C1

    o6 = KClass{variety => a "GKM variety" with an action of a 4-dimensional torus}
                                                               -1 -1
                KPolynomials => HashTable{{set {0, 1}} => 1 - T  T  T T   }
                                                               0  1  2 3
                                                               -1   -1
                                          {set {0, 2}} => 1 - T  T T  T
                                                               0  1 2  3
                                                               -1     -1
                                          {set {0, 3}} => 1 - T  T T T
                                                               0  1 2 3
                                                               -1 -1
                                          {set {1, 2}} => - T T  T  T  + 1
                                                             0 1  2  3
                                                               -1   -1
                                          {set {1, 3}} => - T T  T T   + 1
                                                             0 1  2 3
                                                                 -1 -1
                                          {set {2, 3}} => - T T T  T   + 1
                                                             0 1 2  3

    i7 : peek C2

    o7 = KClass{variety => a "GKM variety" with an action of a 2-dimensional torus}
                                                                -2 2
                KPolynomials => HashTable{{set {0, 1*}} => 1 - T  T   }
                                                                0  1
                                                               -2 -2
                                          {set {0, 1}} => 1 - T  T
                                                               0  1
                                                               2 2
                                          {set {1*, 0*}} => - T T  + 1
                                                               0 1
                                                              2 -2
                                          {set {1, 0*}} => - T T   + 1
                                                              0 1

In type "A", the equivariant K-class of the orbit closure of a point coincides with that of its flag matroid.

    i8 : X = generalizedFlagVariety("A",3,{1,2})

    o8 = a "GKM variety" with an action of a 4-dimensional torus

    o8 : GKMVariety

    i9 : Mat = random(QQ^2,QQ^4)

    o9 = | 9/2 3/4 7/9  7/10 |
         | 9/4 7/4 7/10 7/3  |

                  2       4
    o9 : Matrix QQ  <-- QQ

    i10 : C = orbitClosure(X,Mat)

    o10 = an "equivariant K-class" on a GKM variety

    o10 : KClass

    i11 : FM = flagMatroid(Mat,{1,2})

    o11 = a "flag matroid" with rank sequence {1, 2} on 4 elements

    o11 : FlagMatroid

    i12 : C' = makeKClass(X,FM)

    o12 = an "equivariant K-class" on a GKM variety

    o12 : KClass

    i13 : C === C'

    o13 = true

In type "D", the orthogonal Grassmannian $SOGr(n,2n)$ has two connected components. To compute the torus orbit closure of a point $p$ it suffices to restrict to either $SOGr(n,n;2n)$ or $SOGr(n-1,n-1;2n)$, depending on which component $p$ is located in; see the last example in Example: generalized flag varieties for more details. Here is an example with $n=4$:

    i14 : R = makeCharacterRing 4

    o14 = R

    o14 : PolynomialRing

    i15 : X1 = generalizedFlagVariety("D",4,{4,4},R)

    o15 = a "GKM variety" with an action of a 4-dimensional torus

    o15 : GKMVariety

    i16 : X2 = generalizedFlagVariety("D",4,{3,3},R)

    o16 = a "GKM variety" with an action of a 4-dimensional torus

    o16 : GKMVariety

    i17 : A = matrix{{1,3,-2,-1/4},{-1,-1,19,-61/4},{0,1,19,-73/4},{2,0,22,-89/4}};

                   4       4
    o17 : Matrix QQ  <-- QQ

    i18 : B = matrix(QQ,{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}});

                   4       4
    o18 : Matrix QQ  <-- QQ

    i19 : M = A | B

    o19 = | 1  3  -2 -1/4  1  2  3  4  |
          | -1 -1 19 -61/4 5  6  7  8  |
          | 0  1  19 -73/4 9  10 11 12 |
          | 2  0  22 -89/4 13 14 15 16 |

    o19 : Matri    4       8
    x QQ  <-- QQ

    i20 : assert(A* transpose(B)  + B *transpose(A) == 0) -- verifying that M is isotropic

    i21 : C1 = orbitClosure(X1,M)

    o21 = an "equivariant K-class" on a GKM variety

    o21 : KClass

    i22 : C2 = orbitClosure(X2,M)

    o22 = an "equivariant K-class" on a GKM variety

    o22 : KClass

    i23 : peek C1

    o23 = KClass{variety => a "GKM variety" with an action of a 4-dimensional torus                       }
                                                                        -1   -1      -1 -1    -2   -2
                 KPolynomials => HashTable{{set {0, 1*, 2, 3*}} => 1 - T  T T  T  - T  T   + T  T T  T   }
                                                                        0  1 2  3    0  2     0  1 2  3
                                                                       -1 -1 -1 -1    -2 -2 -2 -2
                                           {set {0, 1, 2, 3}} => 1 - 2T  T  T  T   + T  T  T  T
                                                                       0  1  2  3     0  1  2  3
                                                                        -1     -1    -1 -1    -2     -2
                                           {set {0, 2*, 1*, 3}} => 1 - T  T T T   - T  T   + T  T T T
                                                                        0  1 2 3     0  3     0  1 2 3
                                                                        -1 -1        -1 -1    -2 -2
                                           {set {0, 2*, 1, 3*}} => 1 - T  T  T T  - T  T   + T  T  T T
                                                                        0  1  2 3    0  1     0  1  2 3
                                                                          -1 -1            -2 -2    -1 -1
                                           {set {1*, 0*, 2, 3}} => - T T T  T   + 1 + T T T  T   - T  T
                                                                      0 1 2  3         0 1 2  3     2  3
                                                                        -1 -1            -2 -2      -1 -1
                                           {set {1, 0*, 2, 3*}} => - T T  T  T  + 1 + T T  T  T  - T  T
                                                                      0 1  2  3        0 1  2  3    1  2
                                           {set {2*, 1*, 0*, 3*}} => 0
                                                                        -1   -1          -2   -2    -1 -1
                                           {set {2*, 1, 0*, 3}} => - T T  T T   + 1 + T T  T T   - T  T
                                                                      0 1  2 3         0 1  2 3     1  3

    i24 : peek C2 -- since the point corresponding to M lies in X1, C2 is just the empty class i.e. 0

    o24 = KClass{KPolynomials => HashTable{{set {0, 1*, 2, 3}} => 0  }             }
                                           {set {0, 1, 2, 3*}} => 0
                                           {set {0, 2*, 1*, 3*}} => 0
                                           {set {0, 2*, 1, 3}} => 0
                                           {set {1*, 0*, 2, 3*}} => 0
                                           {set {1, 0*, 2, 3}} => 0
                                           {set {2*, 1*, 0*, 3}} => 0
                                           {set {2*, 1, 0*, 3*}} => 0
                 variety => a "GKM variety" with an action of a 4-dimensional torus

By default the option RREFMethod is set to false. In this case the method produces the torus orbit closure by only computing the minors of the matrix. If the option RREFMethod is set to true, the method row reduces the matrix instead of computing its minors.

    i25 : X = generalizedFlagVariety("A",3,{1,2,3})

    o25 = a "GKM variety" with an action of a 4-dimensional torus

    o25 : GKMVariety

    i26 : Mat = random(QQ^3,QQ^4)

    o26 = | 7   6   3/10 10/9 |
          | 3/7 5/4 3/7  10   |
          | 6/7 2/9 5    3/2  |

                   3       4
    o26 : Matrix QQ  <-- QQ

    i27 : time C = orbitClosure(X,Mat)
     -- used 0.488766s (cpu); 0.321972s (thread); 0s (gc)

    o27 = an "equivariant K-class" on a GKM variety

    o27 : KClass

    i28 : time C = orbitClosure(X,Mat, RREFMethod => true)
     -- used 1.41186s (cpu); 0.837658s (thread); 0s (gc)

    o28 = an "equivariant K-class" on a GKM variety

    o28 : KClass

## See also

- generalizedFlagVariety -- makes a generalized flag variety as a GKM variety
- makeKClass(GKMVariety,FlagMatroid) -- the equivariant K-class of a flag matroid

## Ways to use orbitClosure:

- `orbitClosure(GKMVariety,Matrix)`

## For the programmer

The object orbitClosure is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/GKMVarieties/Documentation_GKMVarieties.m2:1454:0.