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

makeGKMVariety -- constructs a GKM variety

Synopsis

Description

The minimum data needed to create a GKMVariety are the set of torus-fixed points and the character ring. Here is an example with projective space

i1 : L = {0,1,2,3};
i2 : R = makeCharacterRing 4

o2 = R

o2 : PolynomialRing
i3 : X = makeGKMVariety(L,R)

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

o3 : GKMVariety

If necessary, we can add the (negatives of) characters of the action of the torus on each torus-invariant chart of $X$. Note that the i-th entry of the list below corresponds to the i-th entry of L.

i4 : M = {{{-1, 1, 0, 0}, {-1, 0, 1, 0}, {-1, 0, 0, 1}},
             {{1, -1, 0, 0}, {0, -1, 1, 0}, {0, -1, 0, 1}},
             {{1, 0, -1, 0}, {0, 1, -1, 0}, {0, 0, -1, 1}},
             {{1, 0, 0, -1}, {0, 1, 0, -1}, {0, 0, 1, -1}}};
i5 : Y = makeGKMVariety(L,M,R);
i6 : peek Y

o6 = GKMVariety{cache => CacheTable{}                                                  }
                characterRing => R
                charts => HashTable{0 => {{-1, 1, 0, 0}, {-1, 0, 1, 0}, {-1, 0, 0, 1}}}
                                    1 => {{1, -1, 0, 0}, {0, -1, 1, 0}, {0, -1, 0, 1}}
                                    2 => {{1, 0, -1, 0}, {0, 1, -1, 0}, {0, 0, -1, 1}}
                                    3 => {{1, 0, 0, -1}, {0, 1, 0, -1}, {0, 0, 1, -1}}
                points => {0, 1, 2, 3}

To produce one of the generalized flag varieties we use the method generalizedFlagVariety Here is an example of the Lagrangian Grassmannian $SpGr(2,4)$ consisting of 2-dimensional subspaces in $\mathbb C^4$ that are isotropic with respect to the standard alternating form.

i7 : SpGr24 = generalizedFlagVariety("C",2,{2})

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

o7 : GKMVariety
i8 : peek SpGr24

o8 = GKMVariety{cache => CacheTable{...2...}                                          }
                characterRing => ZZ[T ..T ]
                                     0   1
                charts => HashTable{{set {0, 1*}} => {{0, 2}, {-1, 1}, {-2, 0}} }
                                    {set {0, 1}} => {{0, -2}, {-2, 0}, {-1, -1}}
                                    {set {1*, 0*}} => {{1, 1}, {2, 0}, {0, 2}}
                                    {set {1, 0*}} => {{2, 0}, {1, -1}, {0, -2}}
                momentGraph => a "moment graph" on 4 vertices with 6 edges 
                points => {{set {0, 1}}, {set {0, 1*}}, {set {1, 0*}}, {set {1*, 0*}}}

Here is the complete flag variety of $Sp_4$.

i9 : SpFl4 = generalizedFlagVariety("C",2,{1,2})

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

o9 : GKMVariety
i10 : peek SpFl4

o10 = GKMVariety{cache => CacheTable{...2...}                                                                                                                                                                                  }
                 characterRing => ZZ[T ..T ]
                                      0   1
                 charts => HashTable{{set {0*}, set {1*, 0*}} => {{1, 1}, {1, -1}, {2, 0}, {0, 2}} }
                                     {set {0*}, set {1, 0*}} => {{1, -1}, {1, 1}, {2, 0}, {0, -2}}
                                     {set {0}, set {0, 1*}} => {{-1, -1}, {-1, 1}, {0, 2}, {-2, 0}}
                                     {set {0}, set {0, 1}} => {{-1, 1}, {-1, -1}, {0, -2}, {-2, 0}}
                                     {set {1*}, set {0, 1*}} => {{0, 2}, {-2, 0}, {1, 1}, {-1, 1}}
                                     {set {1*}, set {1*, 0*}} => {{2, 0}, {0, 2}, {1, 1}, {-1, 1}}
                                     {set {1}, set {0, 1}} => {{0, -2}, {-2, 0}, {1, -1}, {-1, -1}}
                                     {set {1}, set {1, 0*}} => {{2, 0}, {0, -2}, {1, -1}, {-1, -1}}
                 momentGraph => a "moment graph" on 8 vertices with 16 edges 
                 points => {{set {1}, set {0, 1}}, {set {1*}, set {0, 1*}}, {set {1}, set {1, 0*}}, {set {1*}, set {1*, 0*}}, {set {0}, set {0, 1}}, {set {0}, set {0, 1*}}, {set {0*}, set {1, 0*}}, {set {0*}, set {1*, 0*}}}

The following example produces the Orthogonal Grassmannian $SOGr(2,5)$ from its moment graph.

i11 : V = {{set {0, 1}}, {set {0, "1*"}}, {set {"0*", 1}}, {set {"0*", "1*"}}};
i12 : edgs = {{{set {"0*", 1}}, {set {"0*", "1*"}}},
              {{set {0, "1*"}}, {set {"0*", "1*"}}},
              {{set {0, "1*"}}, {set {"0*", 1}}},
              {{set {0, "1*"}}, {set {0, 1}}},
              {{set {0, 1}}, {set {"0*", "1*"}}},
              {{set {0, 1}}, {set {"0*", 1}}}};
i13 : wghts = {{0,-1},{-1,0},{-1,1},{0,1},{-1,-1},{-1,0}}

o13 = {{0, -1}, {-1, 0}, {-1, 1}, {0, 1}, {-1, -1}, {-1, 0}}

o13 : List
i14 : E = hashTable(apply(edgs, v -> (v,wghts)));
i15 : t = symbol t; H = QQ[t_0, t_1]

o16 = H

o16 : PolynomialRing
i17 : G = momentGraph(V,E,H);
i18 : Z = makeGKMVariety(G);
i19 : peek Z

o19 = GKMVariety{cache => CacheTable{}                                                 }
                 characterRing => ZZ[T ..T ]
                                      0   1
                 momentGraph => a "moment graph" on 4 vertices with 6 edges 
                 points => {{set {0, 1}}, {set {0, 1*}}, {set {1, 0*}}, {set {1*, 0*}}}

Caveat

This function does not check if X is a valid GKM variety.

See also

Ways to use makeGKMVariety :

For the programmer

The object makeGKMVariety is a method function.