# GKMVariety ** GKMVariety -- product of GKM varieties

## Synopsis

• Operator: **
• Usage:
X ** Y
• Inputs:
• X, ,
• Y, ,
• Outputs:
• X, , product of X and Y

## Description

Given two GKM varieties $X$ and $Y$ with an action of a common torus $T$, the product is $X \times Y$ with the structure of a GKM variety given by the diagonal action of $T$. This method constructs $X \times Y$ as a GKMVariety. To speed up computation, this method does not automatically cache the moment graph of $X \times Y$. The user can cache this using the method MomentGraph ** MomentGraph.

The following example exhibits the product of $\mathbb P^1$ with the Lagrangian Grassmannian SpGr(2,4).

 i1 : R = makeCharacterRing 2; i2 : X = projectiveSpace(1,R); i3 : Y = generalizedFlagVariety("C",2,{2},R); i4 : Z = X ** Y; i5 : peek Z o5 = GKMVariety{cache => CacheTable{} } characterRing => R charts => HashTable{(set {0}, {set {0*, 1*}}) => {{-1, 1}, {1, 1}, {2, 0}, {0, 2}} } (set {0}, {set {0*, 1}}) => {{-1, 1}, {2, 0}, {1, -1}, {0, -2}} (set {0}, {set {0, 1*}}) => {{-1, 1}, {0, 2}, {-1, 1}, {-2, 0}} (set {0}, {set {0, 1}}) => {{-1, 1}, {0, -2}, {-2, 0}, {-1, -1}} (set {1}, {set {0*, 1*}}) => {{1, -1}, {1, 1}, {2, 0}, {0, 2}} (set {1}, {set {0*, 1}}) => {{1, -1}, {2, 0}, {1, -1}, {0, -2}} (set {1}, {set {0, 1*}}) => {{1, -1}, {0, 2}, {-1, 1}, {-2, 0}} (set {1}, {set {0, 1}}) => {{1, -1}, {0, -2}, {-2, 0}, {-1, -1}} points => {(set {0}, {set {0, 1*}}), (set {0}, {set {0, 1}}), (set {1}, {set {0*, 1*}}), (set {1}, {set {0*, 1}}), (set {0}, {set {0*, 1}}), (set {0}, {set {0*, 1*}}), (set {1}, {set {0, 1*}}), (set {1}, {set {0, 1}})}

We can cache the moment graph of $Z$ as follows:

 i6 : G = momentGraph X; i7 : H = momentGraph Y; i8 : momentGraph(Z, G** H); i9 : peek Z o9 = GKMVariety{cache => CacheTable{} } characterRing => R charts => HashTable{(set {0}, {set {0*, 1*}}) => {{-1, 1}, {1, 1}, {2, 0}, {0, 2}} } (set {0}, {set {0*, 1}}) => {{-1, 1}, {2, 0}, {1, -1}, {0, -2}} (set {0}, {set {0, 1*}}) => {{-1, 1}, {0, 2}, {-1, 1}, {-2, 0}} (set {0}, {set {0, 1}}) => {{-1, 1}, {0, -2}, {-2, 0}, {-1, -1}} (set {1}, {set {0*, 1*}}) => {{1, -1}, {1, 1}, {2, 0}, {0, 2}} (set {1}, {set {0*, 1}}) => {{1, -1}, {2, 0}, {1, -1}, {0, -2}} (set {1}, {set {0, 1*}}) => {{1, -1}, {0, 2}, {-1, 1}, {-2, 0}} (set {1}, {set {0, 1}}) => {{1, -1}, {0, -2}, {-2, 0}, {-1, -1}} momentGraph => a "moment graph" on 8 vertices with 17 edges points => {(set {0}, {set {0, 1*}}), (set {0}, {set {0, 1}}), (set {1}, {set {0*, 1*}}), (set {1}, {set {0*, 1}}), (set {0}, {set {0*, 1}}), (set {0}, {set {0*, 1*}}), (set {1}, {set {0, 1*}}), (set {1}, {set {0, 1}})}