Let G be a semisimple algebraic group which acts on a polynomial ring R compatibly with the grading. Let T⊆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 C3 ⊗C4, with the natural action of G = SL3 (C) ×SL4 (C). The ideal is generated by the 2×2 minors of a generic 3×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 S1,1 C3 ⊗S1,1 C4. Here Sλ denotes the Schur functor corresponding to the partition λ.
When the polynomial ring is ℤ-graded the degree can be given as an integer instead of a list. Moreover, in the ℤ-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 |