# Example 1 -- The coordinate ring of the Grassmannian

Let $E={\mathbb C}^6$, the standard representation of $SL_6 ({\mathbb C})$, with coordinate basis $\{e_0,\ldots,e_5\}$. The Grassmannian $V = Gr (2,E^*)$ is the projective variety which parametrizes two dimensional subspaces of $E^*$; it is embedded in $\PP (\wedge^2 E^*)$ using the Pl\"ucker equations (see Shafarevich - Basic Algebraic Geometry 1, Ch. I, Sec. 4.1). Consider $\wedge^2 E^*$ as a complex affine space. Let $C$ be the affine cone over $V$, i.e., the subvariety of $\wedge^2 E^*$ which is the union of all the one dimensional subspaces of $\wedge^2 E^*$ belonging to $V$. The space $\wedge^2 E^*$ has a natural action of $SL_6 ({\mathbb C})$ which fixes $C$.

Our polynomial ring $R$ is the ring of polynomial functions over $\wedge^2 E^*$, i.e., the symmetric algebra $Sym(\wedge^2 E)$. The elements $p_{i,j} = e_i \wedge e_j$, for $0\leq i < j \leq 5$, form a basis of weight vectors of $\wedge^2 E$ and will be the variables in $R$. The defining ideal of $C$ is generated by the Pl\"ucker equations; this ideal, which we call $I$, can be conveniently obtained in M2 using the command Grassmannian. We resolve the quotient $R/I$ as an $R$-module and call RI the minimal free resolution.

 i1 : I=Grassmannian(1,5,CoefficientRing=>QQ); R=ring I; o1 : Ideal of QQ[p ..p , p , p , p , p , p , p , p , p , p , p , p , p , p ] 0,1 0,2 1,2 0,3 1,3 2,3 0,4 1,4 2,4 3,4 0,5 1,5 2,5 3,5 4,5 i3 : RI=res I; betti RI 0 1 2 3 4 5 6 o4 = total: 1 15 35 42 35 15 1 0: 1 . . . . . . 1: . 15 35 21 . . . 2: . . . 21 35 15 . 3: . . . . . . 1 o4 : BettiTally

Now we assign weights to the variables of $R$. First we input the weights of $e_0,\ldots,e_5$ in a list L.

 i5 : L={{1,0,0,0,0},{-1,1,0,0,0},{0,-1,1,0,0},{0,0,-1,1,0},{0,0,0,-1,1},{0,0,0,0,-1}} o5 = {{1, 0, 0, 0, 0}, {-1, 1, 0, 0, 0}, {0, -1, 1, 0, 0}, {0, 0, -1, 1, 0}, ------------------------------------------------------------------------ {0, 0, 0, -1, 1}, {0, 0, 0, 0, -1}} o5 : List

The weight of $p_{i,j} = e_i \wedge e_j$ is the sum of the weights of $e_i$ and $e_j$. The subscripts of the variables $p_{i,j}$ are the elements of subsets({0,1,2,3,4,5},2), the 2-subsets of the set $\{0,1,2,3,4,5\}$. Hence taking sums of pairs of weights in L over this indexing set will give us a complete list of weights for the variables $p_{i,j}$, as listed by M2.

 i6 : W=apply(subsets({0,1,2,3,4,5},2),s->L_(s_0)+L_(s_1)) o6 = {{0, 1, 0, 0, 0}, {1, -1, 1, 0, 0}, {-1, 0, 1, 0, 0}, {1, 0, -1, 1, 0}, ------------------------------------------------------------------------ {-1, 1, -1, 1, 0}, {0, -1, 0, 1, 0}, {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, 1, -1}, {0, 0, 0, -1, 0}} o6 : List

We declare D to be the Dynkin type $A_5$, which is the type of the group $SL_6 ({\mathbb C})$. Then we attach the weights in W to the variables in $R$ using the command setWeights; the arguments are in order the ring, the type and the weights of the variables.

The output will be the highest weight decomposition of the ${\mathbb C}$-linear subspace of $R$ generated by its variables; it is given in the form of a Tally, with keys describing the highest weights of the irreducible representation appearing in the decomposition and values equal to the multiplicities of those representations.

In this case, we get simply {0, 1, 0, 0, 0} => 1 which means that the decomposition contains only one copy of the irreducible representation with highest weight {0, 1, 0, 0, 0}, i.e., $\wedge^2 E$ as expected.

 i7 : D=dynkinType{{"A",5}}; setWeights(R,D,W) o8 = Tally{{0, 1, 0, 0, 0} => 1} o8 : Tally

All monomials in $R$ are weight vectors. To recover the weight of a monomial, use the command getWeights with the monomial as the argument.

 i9 : getWeights(p_(0,1)*p_(1,2)) o9 = {-1, 1, 1, 0, 0} o9 : List

We can now issue the command highestWeightsDecomposition to obtain the decomposition of the representations corresponding to the free modules in the resolution; the only argument is the resolution RI. Suppose the free modules in RI are $F_0, \ldots, F_6$. The outermost HashTable in the output has keys equal to the subscripts of the free modules in RI. The value corresponding to a key $i$ is itself a HashTable with keys equal to the degrees of the generators of $F_i$. Finally the value corresponding to a certain degree $d$ is a Tally containing the highest weight decomposition of the representation $(F_i/m F_i)_d$ where $m$ is the maximal ideal generated by the variables in $R$.

 i10 : highestWeightsDecomposition(RI) o10 = HashTable{0 => HashTable{{0} => Tally{{0, 0, 0, 0, 0} => 1}}} 1 => HashTable{{2} => Tally{{0, 0, 0, 1, 0} => 1}} 2 => HashTable{{3} => Tally{{1, 0, 0, 0, 1} => 1}} 3 => HashTable{{4} => Tally{{2, 0, 0, 0, 0} => 1}} {5} => Tally{{0, 0, 0, 0, 2} => 1} 4 => HashTable{{6} => Tally{{1, 0, 0, 0, 1} => 1}} 5 => HashTable{{7} => Tally{{0, 1, 0, 0, 0} => 1}} 6 => HashTable{{9} => Tally{{0, 0, 0, 0, 0} => 1}} o10 : HashTable

By analyzing the above output, we obtain the following description for RI: $$R \leftarrow \wedge^4 E \otimes R(-2) \leftarrow S_{2,1,1,1,1} E \otimes R(-3) \leftarrow S_{2} E \otimes R(-4) \oplus S_{2,2,2,2,2} E \otimes R(-5) \leftarrow S_{2,1,1,1,1} E \otimes R(-6) \leftarrow \wedge^2 E \otimes R(-7) \leftarrow R(-9) \leftarrow 0$$ Here $S_\lambda$ denotes the Schur functor associated to the partition $\lambda$ (for the construction of Schur functors see Fulton, Harris - Representation Theory, Ch. 6 or Fulton - Young Tableaux, Ch. 8). Recall that the Schur module $S_{\lambda} {\mathbb C}^{n+1}$ is the irreducible representation of $SL_{n+1} {\mathbb C}$ with highest weight $(\lambda_1 -\lambda_2,\ldots,\lambda_{n-1} -\lambda_n,\lambda_n)$ written in the basis of fundamental weights (as all lists of weights used by this package).

Next we turn to the coordinate ring of $C$, i.e., the quotient ring $Q=R/I$. We decompose its graded components in the range of degrees from 0 to 4, again with the command highestWeightsDecomposition. This time the arguments are the ring followed by the lowest and highest degrees in the range to be decomposed.

 i11 : Q=R/I; highestWeightsDecomposition(Q,0,4) o12 = HashTable{0 => Tally{{0, 0, 0, 0, 0} => 1}} 1 => Tally{{0, 1, 0, 0, 0} => 1} 2 => Tally{{0, 2, 0, 0, 0} => 1} 3 => Tally{{0, 3, 0, 0, 0} => 1} 4 => Tally{{0, 4, 0, 0, 0} => 1} o12 : HashTable

We deduce that, for $d\in\{0,\ldots,4\}$, $(R/I)_d = S_{d,d} E$. We can also decompose the graded components of the ring $R$ in a range of degrees or in a single degree.

 i13 : highestWeightsDecomposition(R,2) o13 = Tally{{0, 0, 0, 1, 0} => 1} {0, 2, 0, 0, 0} => 1 o13 : Tally

For example, $R_2 = \wedge^4 E \oplus S_{2,2} E$. Since the representation $\wedge^4 E$ appears in $R_2$ but not in $(R/I)_2$, we deduce that it must be in $I_2$, the graded component of $I$ of degree 2. This can be verified directly by decomposing $I_2$ as follows.

 i14 : highestWeightsDecomposition(I,2) o14 = Tally{{0, 0, 0, 1, 0} => 1} o14 : Tally