next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
HighestWeights :: Example 1

Example 1 -- The coordinate ring of the Grassmannian

Let E=C6, the standard representation of SL6 (C), with coordinate basis {e0,...,e5}. The Grassmannian V = Gr (2,E*) is the projective variety which parametrizes two dimensional subspaces of E*; it is embedded in ℙ(∧2 E*) using the Plücker equations (see Shafarevich - Basic Algebraic Geometry 1, Ch. I, Sec. 4.1). Consider 2 E* as a complex affine space. Let C be the affine cone over V, i.e., the subvariety of 2 E* which is the union of all the one dimensional subspaces of 2 E* belonging to V. The space 2 E* has a natural action of SL6 (C) which fixes C.

Our polynomial ring R is the ring of polynomial functions over 2 E*, i.e., the symmetric algebra Sym(∧2 E). The elements pi,j = ei ∧ej, for 0≤i < j ≤5, form a basis of weight vectors of 2 E and will be the variables in R. The defining ideal of C is generated by the Plücker 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 e0,...,e5 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 pi,j = ei ∧ej is the sum of the weights of ei and ej. The subscripts of the variables pi,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 pi,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 A5, which is the type of the group SL6 (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 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., 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 F0, ..., F6. 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 Fi. Finally the value corresponding to a certain degree d is a Tally containing the highest weight decomposition of the representation (Fi/m Fi)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 ←∧4 E ⊗R(-2) ←S2,1,1,1,1 E ⊗R(-3) ←S2 E ⊗R(-4) ⊕S2,2,2,2,2 E ⊗R(-5) ←S2,1,1,1,1 E ⊗R(-6) ←∧2 E ⊗R(-7) ←R(-9) ←0

Here Sλ denotes the Schur functor associated to the partition λ (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λ Cn+1 is the irreducible representation of SLn+1 C with highest weight 12,...,λn-1nn) 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∈{0,...,4}, (R/I)d = Sd,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, R2 = ∧4 E ⊕S2,2 E. Since the representation 4 E appears in R2 but not in (R/I)2, we deduce that it must be in I2, the graded component of I of degree 2. This can be verified directly by decomposing I2 as follows.

i14 : highestWeightsDecomposition(I,2)

o14 = Tally{{0, 0, 0, 1, 0} => 1}

o14 : Tally