A toric variety is an integral variety containing an open dense algebraic torus. If the toric variety is smooth (or simplicial) it is naturally a GKM variety: Let $X$ be a smooth toric variety and $U$ be an affine chart whose associated character lattice is generated by elements of weights $a_1,\dots, a_m$. Then $(\mathbb C^*)^n$ acts on $U$ by $t \cdot (x_1,\dots, x_n) = (t^{-a_1}x_1,\dots, t^{-a_n}x_n)$. We caution that this package uses the outer normals instead of inner normals.

The method normalToricVariety from the package NormalToricVarieties allows the user to construct smooth toric varieties. To convert it to a GKM variety we use the method makeGKMVariety. Here is an example with $X = Bl_p\mathbb P^2$, the blow-up of $\mathbb P^2$ at a point, which is also the first Hirzebruch surface.

i1 : FF1 = hirzebruchSurface 1; |

i2 : X = makeGKMVariety FF1; |

i3 : peek FF1 o3 = NormalToricVariety{cache => CacheTable{...6...} } max => {{0, 1}, {0, 3}, {1, 2}, {2, 3}} rays => {{1, 0}, {0, 1}, {-1, 1}, {0, -1}} |

i4 : peek X o4 = GKMVariety{cache => CacheTable{...1...} } characterRing => ZZ[T ..T ] 0 1 charts => HashTable{{0, 1} => {{-1, 0}, {0, -1}}} {0, 3} => {{-1, 0}, {0, 1}} {1, 2} => {{-1, -1}, {1, 0}} {2, 3} => {{1, 0}, {1, 1}} momentGraph => a moment graph on 4 vertices with 4 edges points => {{0, 1}, {0, 3}, {1, 2}, {2, 3}} |

If a GKM variety $X$ was originally constructed from normalToricVariety we can convert it back to a toric variety.

i5 : Y = normalToricVariety(X); -- X defined in the previous example above |

i6 : Y === FF1 o6 = true |

Continuing this example, the following shows how to convert a torus-invariant divisor constructed using ToricDivisor to a KClass.

i7 : antiK = - toricDivisor(FF1) -- the anti-canonical class on FF1 o7 = FF1 + FF1 + FF1 + FF1 0 1 2 3 o7 : ToricDivisor on FF1 |

i8 : TantiK = makeKClass(X,antiK) o8 = an equivariant K-class on a GKM variety o8 : KClass |

i9 : isWellDefined TantiK o9 = true |

Since the toric variety $X = Bl_p\mathbb P^2$ is Gorenstein Fano, with its anticanonical embedding in $\mathbb P^8$, the equivariant Euler characteristic of the anticanonical divisor is the sum of the characters of the sections of the associated line bundle.

i10 : euler TantiK -1 -1 -1 -1 -1 -2 -1 o10 = T T + T + T + T T + 1 + T + T + T T + T T 0 1 0 1 0 1 1 0 0 1 0 1 o10 : ZZ[T ..T ] 0 1 |

We caution the following difference in convention: Projective $n$-space $\mathbb P^n$ as a NormalToricVariety constructed using toricProjectiveSpace is acted upon by an $n$-dimensional torus. However, as a GKMVariety constructed using projectiveSpace, it is acted upon by an $(n+1)$-dimensional torus.

i11 : X = makeGKMVariety toricProjectiveSpace 2; -- the torus is C^2 |

i12 : Y = projectiveSpace 2; -- the torus is C^3 |

i13 : peek X o13 = GKMVariety{cache => CacheTable{...1...} } characterRing => ZZ[T ..T ] 0 1 charts => HashTable{{0, 1} => {{0, 1}, {-1, 1}} } {0, 2} => {{1, 0}, {1, -1}} {1, 2} => {{-1, 0}, {0, -1}} momentGraph => a moment graph on 3 vertices with 3 edges points => {{0, 1}, {0, 2}, {1, 2}} |

i14 : peek Y o14 = GKMVariety{cache => CacheTable{...1...} } characterRing => ZZ[T ..T ] 0 2 charts => HashTable{set {0} => {{-1, 1, 0}, {-1, 0, 1}}} set {1} => {{1, -1, 0}, {0, -1, 1}} set {2} => {{1, 0, -1}, {0, 1, -1}} momentGraph => a moment graph on 3 vertices with 3 edges points => {set {0}, set {1}, set {2}} |

- makeGKMVariety(NormalToricVariety) -- constructs a GKM variety
- projectiveSpace -- constructs projective space as a GKM variety
- normalToricVariety -- make a normal toric variety
- makeKClass(GKMVariety,ToricDivisor) -- create the KClass from a ToricDivisor