Let $G$ be a semisimple algebraic group which acts on a polynomial ring $R$ compatibly with the grading. Let $T\subseteq G$ be a maximal torus and assume the variables in $R$ are weight vectors for the action of $T$.
Suppose I is an ideal which is stable under the action of $G$.
Use this function to obtain the decomposition of a graded component of I. The input is the ideal I and the (multi)degree of the graded component.
The output is a tally whose keys are the highest weights of certain irreducible representations and whose values are the multiplicities of those representations.
In the following example, the polynomial ring R is the symmetric algebra over $\mathbb{C}^3 \otimes \mathbb{C}^4$, with the natural action of $G = SL_3 (\mathbb{C}) \times SL_4 (\mathbb{C})$. The ideal is generated by the $2\times 2$ minors of a generic $3\times 4$ matrix.
i1 : R=QQ[x_(1,1)..x_(3,4)]; |
i2 : G=genericMatrix(R,4,3) o2 = | x_(1,1) x_(2,1) x_(3,1) | | x_(1,2) x_(2,2) x_(3,2) | | x_(1,3) x_(2,3) x_(3,3) | | x_(1,4) x_(2,4) x_(3,4) | 4 3 o2 : Matrix R <--- R |
i3 : I=minors(2,G); o3 : Ideal of R |
i4 : D=dynkinType{{"A",2},{"A",3}}; |
i5 : U={{1,0,1,0,0},{1,0,-1,1,0},{1,0,0,-1,1},{1,0,0,0,-1},{-1,1,1,0,0},{-1,1,-1,1,0},{-1,1,0,-1,1},{-1,1,0,0,-1},{0,-1,1,0,0},{0,-1,-1,1,0},{0,-1,0,-1,1},{0,-1,0,0,-1}}; |
i6 : setWeights(R,D,U) o6 = Tally{{1, 0, 1, 0, 0} => 1} o6 : Tally |
i7 : highestWeightsDecomposition(I,{2}) o7 = Tally{{0, 1, 0, 1, 0} => 1} o7 : Tally |
This shows that the component of I of degree 2 is the representation $S_{1,1} \mathbb{C}^3 \otimes S_{1,1} \mathbb{C}^4$. Here $S_\lambda$ denotes the Schur functor corresponding to the partition $\lambda$.
When the polynomial ring is $\mathbb{Z}$-graded the degree can be given as an integer instead of a list. Moreover, in the $\mathbb{Z}$-graded case, one can decompose a range of degrees all at once as illustrated below.
i8 : highestWeightsDecomposition(I,2) o8 = Tally{{0, 1, 0, 1, 0} => 1} o8 : Tally |
i9 : highestWeightsDecomposition(I,0,4) o9 = HashTable{0 => Tally{} } 1 => Tally{} 2 => Tally{{0, 1, 0, 1, 0} => 1} 3 => Tally{{0, 0, 0, 0, 1} => 1} {1, 1, 1, 1, 0} => 1 4 => Tally{{0, 2, 0, 2, 0} => 1} {1, 0, 1, 0, 1} => 1 {2, 1, 2, 1, 0} => 1 o9 : HashTable |