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.