Low dimensional examples
In this section we construct specific relevant GKM graphs.
Low-dimensional GKM graphs
GKMtools.gkm_2d
— Functiongkm_2d(w::Matrix{Int64}) -> AbstractGKM_graph
Return the 2-valent GKM cyclic connected GKM graph whose vertices are $1,2,\dots,n$ and whose edges are $(1, 2), (2, 3), ..., (n, 1)$. The weights of those edges are given by the rows of the matrix w
.
Example
The following example is the GKM graph from [GKZ24, Example 2.44, left figure], which cannot come from a Hamiltonian action. One way of seeing this is that the combinatorial Betti numbers are not the geometric Betti numbers of any connected space.
julia> G = gkm_2d([1 0; 0 1; -1 0; 0 -1; 1 0; 0 1; -1 0; 0 -1;])
GKM graph with 8 nodes, valency 2 and axial function:
2 -> 1 => (-1, 0)
3 -> 2 => (0, -1)
4 -> 3 => (1, 0)
5 -> 4 => (0, 1)
6 -> 5 => (-1, 0)
7 -> 6 => (0, -1)
8 -> 1 => (0, -1)
8 -> 7 => (1, 0)
julia> betti_numbers(G)
3-element Vector{Int64}:
2
4
2
GKMtools.gkm_3d_positive_non_toric
— Functiongkm_3d_positive_non_toric(i::Int64) -> AbstractGKM_graph
Return the i
-th GKM graph from [CK23, Appendix A]'s classification of 3-valent Hamiltonian positive GKM-graphs with 2-dimensional torus-action that are not projections of GKM graphs coming from smooth projective polytopes.
The argument i
runs from 1 ot 7 and is the index in the list.
Example
We reproduce here the Betti numbers and the integrals $\int_M (c_1(M))^3$ as listed in [CK23, Appendix A].
julia> for i in 1:7
G = gkm_3d_positive_non_toric(i)
integral = integrate(first_chern_class(G)^3, G)
println("Graph $i: Betti numbers = $(betti_numbers(G)), [M] . (c_1(M))^3 = $integral")
end
Graph 1: Betti numbers = [1, 1, 1, 1], [M] . (c_1(M))^3 = 54
Graph 2: Betti numbers = [1, 2, 2, 1], [M] . (c_1(M))^3 = 30
Graph 3: Betti numbers = [1, 2, 2, 1], [M] . (c_1(M))^3 = 40
Graph 4: Betti numbers = [1, 2, 2, 1], [M] . (c_1(M))^3 = 46
Graph 5: Betti numbers = [1, 2, 2, 1], [M] . (c_1(M))^3 = 48
Graph 6: Betti numbers = [1, 3, 3, 1], [M] . (c_1(M))^3 = 26
Graph 7: Betti numbers = [1, 3, 3, 1], [M] . (c_1(M))^3 = 38
GKMtools.gkm_3d_twisted_flag
— Functiongkm_3d_twisted_flag() -> AbstractGKM_graph
Return the 3-valent GKM graph of the twisted flag varieties of Eschenburg, Tolman, and Woodward (see [GKZ23, Example 4.8] and references therein).
Example
Note that the resulting GKM graph does not occur in the output of gkm_3d_positive_non_toric()
since one edge has non-positive Chern number.
julia> G = gkm_3d_twisted_flag()
GKM graph with 6 nodes, valency 3 and axial function:
2 -> 1 => (0, -1)
3 -> 2 => (1, 0)
4 -> 1 => (1, -2)
4 -> 3 => (-1, 1)
5 -> 2 => (1, -1)
5 -> 4 => (0, -1)
6 -> 1 => (1, -1)
6 -> 3 => (2, -1)
6 -> 5 => (1, 0)
julia> print_curve_classes(G)
2 -> 1: (0, 1), Chern number: 4
3 -> 2: (-1, 1), Chern number: 2
4 -> 1: (1, 0), Chern number: 2
4 -> 3: (-2, 1), Chern number: 0
5 -> 2: (1, 0), Chern number: 2
5 -> 4: (-1, 1), Chern number: 2
6 -> 1: (1, 1), Chern number: 6
6 -> 3: (1, 0), Chern number: 2
6 -> 5: (0, 1), Chern number: 4