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*}} => {{1, 1}, {2, 0}, {0, 2}} }
{set {0*, 1}} => {{2, 0}, {1, -1}, {0, -2}}
{set {0, 1*}} => {{0, 2}, {-1, 1}, {-2, 0}}
{set {0, 1}} => {{0, -2}, {-2, 0}, {-1, -1}}
momentGraph => a moment graph on 4 vertices with 6 edges
points => {{set {0, 1}}, {set {0, 1*}}, {set {0*, 1}}, {set {0*, 1*}}}
|
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 {0*, 1*}} => {{1, 1}, {1, -1}, {2, 0}, {0, 2}} }
{set {0*}, set {0*, 1}} => {{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*}} => {{2, 0}, {0, 2}, {1, 1}, {-1, 1}}
{set {1*}, set {0, 1*}} => {{0, 2}, {-2, 0}, {1, 1}, {-1, 1}}
{set {1}, set {0*, 1}} => {{2, 0}, {0, -2}, {1, -1}, {-1, -1}}
{set {1}, set {0, 1}} => {{0, -2}, {-2, 0}, {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 {0*, 1}}, {set {1*}, set {0*, 1*}}, {set {0}, set {0, 1}}, {set {0}, set {0, 1*}}, {set {0*}, set {0*, 1}}, {set {0*}, set {0*, 1*}}}
|
The following example produces the Orthogonal Grassmaninnian $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 {0*, 1}}, {set {0*, 1*}}}
|
This function does not check if X is a valid GKM variety.
The object makeGKMVariety is a method function.