This function takes a $\mathbb{Z}/2\mathbb{Z}$-graded Young tableau and expresses it as a linear combination of standard tableau. Positive entries in the tableaux correspond to even elements, and negative entries correspond to odd elements.
The user inputs the Young tableau T in the form of a hash table, and a partition of the same shape as T, in the form of a list. The key $(i,j)$ in the hash table of T corresponds to the box of T in column $i$ and row $j$. The values are the entries of the boxes of T.
The output is a hash table with keys representing standard tableaux and values representing the coefficients in the linear combination.
i1 : T = new HashTable from {(1,1) => -3, (1,2) => -2, (1,3) => -2, (2,1) => 1, (2,2) => 2, (2,3) => 3, (3,1) => -1, (3,2) => -1}; |
i2 : lambda = {3,3,2}; |
i3 : straightenTableau(T,lambda) o3 = HashTable{HashTable{(1, 1) => -3} => 1 } (1, 2) => -2 (1, 3) => -2 (2, 1) => -1 (2, 2) => -1 (2, 3) => 3 (3, 1) => 1 (3, 2) => 2 HashTable{(1, 1) => -3} => -1 (1, 2) => -2 (1, 3) => -2 (2, 1) => -1 (2, 2) => -1 (2, 3) => 2 (3, 1) => 1 (3, 2) => 3 HashTable{(1, 1) => -3} => 1 (1, 2) => -2 (1, 3) => -2 (2, 1) => -1 (2, 2) => -1 (2, 3) => 1 (3, 1) => 2 (3, 2) => 3 o3 : HashTable |
We compute a second example.
i4 : T = new HashTable from {(1,1) => -1, (1,2) => -2, (1,3) => 3, (2,1) => 2, (2,2) => 1, (2,3) => -3}; |
i5 : lambda = {2,2,2}; |
i6 : straightenTableau(T,lambda) o6 = HashTable{HashTable{(1, 1) => -3} => 1 } (1, 2) => -2 (1, 3) => 2 (2, 1) => -1 (2, 2) => 1 (2, 3) => 3 HashTable{(1, 1) => -3} => -1 (1, 2) => -2 (1, 3) => 1 (2, 1) => -1 (2, 2) => 2 (2, 3) => 3 HashTable{(1, 1) => -3} => 1 (1, 2) => -1 (1, 3) => 2 (2, 1) => -2 (2, 2) => 1 (2, 3) => 3 HashTable{(1, 1) => -3} => -1 (1, 2) => -1 (1, 3) => 1 (2, 1) => -2 (2, 2) => 2 (2, 3) => 3 HashTable{(1, 1) => -3} => 1 (1, 2) => -2 (1, 3) => -1 (2, 1) => 1 (2, 2) => 2 (2, 3) => 3 o6 : HashTable |
The object straightenTableau is a function closure.