Consider the exceptional group of type G2; we denote V(a,b) the highest weight representation of G2 with highest weight aω1 + bω2, where ω1 and ω2 are the fundamental weights for G2 (see Fulton, Harris - Representation Theory, Ch, 22.3 for a construction of the representations appearing in this example). We work over the polynomial ring Sym(V(1,0)), which has a natural action of G2. For lack of a better notation, we index the variables in R by their weight (recall that variables in R must be weight vectors). Consider the maximal ideal m generated by the variables of R. This ideal is clearly stable under the action of G2. Moreover the minimal free resolution of R/I is the Koszul complex over the variables of R (see Eisenbud - Commutative Algebra, Ch. 17).
i1 : R=QQ[x_(-2, 1),x_(-1, 0),x_(-1, 1),x_(0, 0),x_(1,-1),x_(1, 0),x_(2,-1)] o1 = R o1 : PolynomialRing |
i2 : m=ideal vars R; o2 : Ideal of R |
i3 : K=koszul gens m; betti K 0 1 2 3 4 5 6 7 o4 = total: 1 7 21 35 35 21 7 1 0: 1 7 21 35 35 21 7 1 o4 : BettiTally |
Now we define the list of weights of the variables and attach it to the ring.
i5 : W={{-2, 1},{-1, 0},{-1, 1},{0, 0},{1,-1},{1, 0},{2,-1}} o5 = {{-2, 1}, {-1, 0}, {-1, 1}, {0, 0}, {1, -1}, {1, 0}, {2, -1}} o5 : List |
i6 : D=dynkinType{{"G",2}}; setWeights(R,D,W) o7 = Tally{{1, 0} => 1} o7 : Tally |
We can ask to decompose the complex K up to homological degree 3 using the option Range:
i8 : highestWeightsDecomposition(K,Range=>{0,3}) o8 = HashTable{0 => HashTable{{0} => Tally{{0, 0} => 1}}} 1 => HashTable{{1} => Tally{{1, 0} => 1}} 2 => HashTable{{2} => Tally{{0, 1} => 1}} {1, 0} => 1 3 => HashTable{{3} => Tally{{0, 0} => 1}} {1, 0} => 1 {2, 0} => 1 o8 : HashTable |
Then the first half of K is:
The second half can be reconstructed using the duality of the Koszul complex and the fact that all the representations in the first half are self dual.
While the quotient ring R/m is isomorphic to C, the trivial representation of G2, it may be more interesting to decompose some graded components of m.
i9 : highestWeightsDecomposition(m,0,4) o9 = HashTable{0 => Tally{} } 1 => Tally{{1, 0} => 1} 2 => Tally{{0, 0} => 1} {2, 0} => 1 3 => Tally{{1, 0} => 1} {3, 0} => 1 4 => Tally{{0, 0} => 1} {2, 0} => 1 {4, 0} => 1 o9 : HashTable |
Since m is generated by the variables, it contains all graded components of R except for the one in degree zero. In particular, the graded components of R and m coincide in degree 1 and higher, which is illustrated up to degree 4 by the computation below.
i10 : highestWeightsDecomposition(R,0,4) o10 = HashTable{0 => Tally{{0, 0} => 1}} 1 => Tally{{1, 0} => 1} 2 => Tally{{0, 0} => 1} {2, 0} => 1 3 => Tally{{1, 0} => 1} {3, 0} => 1 4 => Tally{{0, 0} => 1} {2, 0} => 1 {4, 0} => 1 o10 : HashTable |