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 Q is a quotient of $R$ by an ideal which is stable under the action of $G$.
Use this function to obtain the decomposition of a graded component of Q. The input is the ring Q 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 ring is the quotient of $R$ by the ideal 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 : Q=R/I; |
i5 : D=dynkinType{{"A",2},{"A",3}}; |
i6 : 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}}; |
i7 : setWeights(R,D,U) o7 = Tally{{1, 0, 1, 0, 0} => 1} o7 : Tally |
i8 : highestWeightsDecomposition(Q,{2}) o8 = Tally{{2, 0, 2, 0, 0} => 1} o8 : Tally |
This shows that the component of Q of degree 2 is the representation $S_2 \mathbb{C}^3 \otimes S_2 \mathbb{C}^4$. Here $S_\lambda$ denotes the Schur functor corresponding to the partition $\lambda$.
When the ring Q 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.
i9 : highestWeightsDecomposition(Q,2) o9 = Tally{{2, 0, 2, 0, 0} => 1} o9 : Tally |
i10 : highestWeightsDecomposition(Q,0,4) o10 = HashTable{0 => Tally{{0, 0, 0, 0, 0} => 1}} 1 => Tally{{1, 0, 1, 0, 0} => 1} 2 => Tally{{2, 0, 2, 0, 0} => 1} 3 => Tally{{3, 0, 3, 0, 0} => 1} 4 => Tally{{4, 0, 4, 0, 0} => 1} o10 : HashTable |