Assume $X$ is a GKM-variety for which there exists a contracting torus-invariant affine chart around each torus-fixed point. For instance, generalized flag varieties and smooth toric varieties have this property. This returns a HashTable whose keys are the torus-fixed points of $X$ and the values are the negatives of characters of the torus action on the associated contracting affine chart.
The following example describes the charts of the isotropic Grassmannian $SpGr(2,6)$.
i1 : X = generalizedFlagVariety("C",3,{2}); |
i2 : X.charts o2 = HashTable{{set {0*, 1*}} => {{1, 0, 1}, {1, 0, -1}, {0, 1, 1}, {0, 1, -1}, {1, 1, 0}, {2, 0, 0}, {0, 2, 0}} } {set {0*, 1}} => {{1, 0, 1}, {1, 0, -1}, {0, -1, 1}, {0, -1, -1}, {2, 0, 0}, {1, -1, 0}, {0, -2, 0}} {set {0*, 2*}} => {{1, 1, 0}, {1, -1, 0}, {1, 0, 1}, {2, 0, 0}, {0, 0, 2}, {0, 1, 1}, {0, -1, 1}} {set {0*, 2}} => {{1, 1, 0}, {1, -1, 0}, {2, 0, 0}, {1, 0, -1}, {0, 0, -2}, {0, 1, -1}, {0, -1, -1}} {set {0, 1*}} => {{-1, 0, 1}, {-1, 0, -1}, {0, 1, 1}, {0, 1, -1}, {0, 2, 0}, {-1, 1, 0}, {-2, 0, 0}} {set {0, 1}} => {{-1, 0, 1}, {-1, 0, -1}, {0, -1, 1}, {0, -1, -1}, {0, -2, 0}, {-2, 0, 0}, {-1, -1, 0}} {set {0, 2*}} => {{-1, 1, 0}, {-1, -1, 0}, {0, 0, 2}, {-1, 0, 1}, {-2, 0, 0}, {0, 1, 1}, {0, -1, 1}} {set {0, 2}} => {{-1, 1, 0}, {-1, -1, 0}, {0, 0, -2}, {-2, 0, 0}, {-1, 0, -1}, {0, 1, -1}, {0, -1, -1}} {set {1*, 2*}} => {{0, 1, 1}, {0, 2, 0}, {0, 0, 2}, {1, 1, 0}, {-1, 1, 0}, {1, 0, 1}, {-1, 0, 1}} {set {1*, 2}} => {{0, 2, 0}, {0, 1, -1}, {0, 0, -2}, {1, 1, 0}, {-1, 1, 0}, {1, 0, -1}, {-1, 0, -1}} {set {1, 2*}} => {{0, 0, 2}, {0, -1, 1}, {0, -2, 0}, {1, -1, 0}, {-1, -1, 0}, {1, 0, 1}, {-1, 0, 1}} {set {1, 2}} => {{0, 0, -2}, {0, -2, 0}, {0, -1, -1}, {1, -1, 0}, {-1, -1, 0}, {1, 0, -1}, {-1, 0, -1}} o2 : HashTable |
If $X$ does not have its charts stored, we can manually cache it as follows.
i3 : R = makeCharacterRing 2; |
i4 : X = makeGKMVariety({{0,1},{0,3},{1,2},{2,3}},R); |
i5 : peek X o5 = GKMVariety{cache => CacheTable{} } characterRing => R points => {{0, 1}, {0, 3}, {1, 2}, {2, 3}} |
i6 : L = {{{-1,0},{0,-1}},{{-1,0},{0,1}},{{-3,-1},{1,0}},{{1,0},{3,1}}}; |
i7 : charts(X,L); |
i8 : peek X o8 = GKMVariety{cache => CacheTable{} } characterRing => R charts => HashTable{{0, 1} => {{-1, 0}, {0, -1}}} {0, 3} => {{-1, 0}, {0, 1}} {1, 2} => {{-3, -1}, {1, 0}} {2, 3} => {{1, 0}, {3, 1}} points => {{0, 1}, {0, 3}, {1, 2}, {2, 3}} |
i9 : peek makeGKMVariety hirzebruchSurface 3 o9 = 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} => {{-3, -1}, {1, 0}} {2, 3} => {{1, 0}, {3, 1}} momentGraph => a moment graph on 4 vertices with 4 edges points => {{0, 1}, {0, 3}, {1, 2}, {2, 3}} |
The object charts is a method function.