Macaulay2 » Documentation
Packages » GKMVarieties :: Example: smooth toric varieties
next | previous | forward | backward | up | index | toc

Example: smooth toric varieties

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}}

See also