# makeGKMVariety -- constructs a GKM variety

## Synopsis

• Usage:
X = makeGKMVariety(L,R)
X = makeGKMVariety(L,M,R)
X = makeGKMVariety(G)
X = makeGKMVariety(G,R)
X = makeGKMVariety(R)
X = makeGKMVariety(Y,R)
X = makeGKMVariety(C)
• Inputs:
• L, a list, of torus-fixed points of $X$
• M, a list, of lists; the i-th list consists of the (negatives of) characters of the action of the torus on a torus-invariant affine chart around the torus-fixed point corresponding to L_i
• G, , representing the one dimensional torus-orbits of $X$
• R, a ring, representing the character ring of the torus acting on $X$
• Y, ,
• C, ,
• Outputs:
• X, ,

## 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*}} => {{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 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 {0*, 1}}, {set {0*, 1*}}}

## Caveat

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

## Ways to use makeGKMVariety :

• "makeGKMVariety(KClass)"
• "makeGKMVariety(List,List,Ring)"
• "makeGKMVariety(List,Ring)"
• "makeGKMVariety(MomentGraph)"
• "makeGKMVariety(MomentGraph,Ring)"
• "makeGKMVariety(NormalToricVariety)"
• "makeGKMVariety(NormalToricVariety,Ring)"

## For the programmer

The object makeGKMVariety is .