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

Example 3 -- A multigraded Eagon-Northcott complex

Let E=C3 with coordinate basis {e1,e2,e3}, F=C4 with coordinate basis {f1,...,f4} and H=C2 with coordinate basis {h1,h2}. Denote R the symmetric algebra Sym((E⊕F)⊗H); R is a polynomial ring with variables xi,j = ei⊗hj and yi,j = fi⊗hj. We take the variables xi,j to have degree (1,0) and the variables yi,j to have degree (0,1). Let G be a 2×7 generic matrix of variables in R and I the ideal generated by the 2×2 minors of G. The minimal free resoluiton of I is an example of an Eagon-Northcott complex (see Eisenbud - Commutative Algebra, Appendix A2.6).

i1 : R=QQ[x_(1,1)..x_(3,2),y_(1,1)..y_(4,2),Degrees=>{6:{1,0},8:{0,1}}]

o1 = R

o1 : PolynomialRing
i2 : G=genericMatrix(R,2,3)|genericMatrix(R,y_(1,1),2,4)

o2 = | x_(1,1) x_(2,1) x_(3,1) y_(1,1) y_(2,1) y_(3,1) y_(4,1) |
     | x_(1,2) x_(2,2) x_(3,2) y_(1,2) y_(2,2) y_(3,2) y_(4,2) |

             2       7
o2 : Matrix R  <--- R
i3 : I=minors(2,G);

o3 : Ideal of R
i4 : EN=res I; betti EN

            0  1  2   3  4  5 6
o5 = total: 1 21 70 105 84 35 6
         0: 1  .  .   .  .  . .
         1: . 21 70 105 84 35 6

o5 : BettiTally

Notice how the first three columns of G involve only the xi,j variables while the other columns involve only the yi,j variables. In fact, G is the matrix of the map

φ: E⊗R(-1,0) ⊕F⊗R(0,-1) →H* ⊗R, ei ⊗1 ↦∑k=12 hk* ⊗xi,k, fj ⊗1 ↦∑k=12 hk* ⊗yj,k

with respect to the bases {e1⊗1,...,e3⊗1,f1⊗1,...,f4⊗1} of the domain and {h1*⊗1,h2*⊗1} of the codomain.

The ring R carries a degree compatible action of SL3 (C) ×SL4 (C) ×SL2 (C). Notice how the SL3 (C) factor acts non trivially on E, i.e., on the variables xi,j, and trivially on F, i.e., on the variables yi,j. The opposite holds for the SL4 (C) factor. The map φ is G-equivariant and so the ideal generated by the 2×2 of φ inherits the G-action on R.

The weight of xi,j = ei⊗hj is obtained by concatenating the weight of ei with the trivial weight {0,0,0} for the action of SL4 (C) and then with the weight of hj. Similarly the weight of yi,j = fi⊗hj is obtained by concatenating the trivial weight {0,0} for the action of SL3 (C) with the weight of fi and then with the weight of hj. As in Example 2, we automatize the process as illustrated below and then we attach the list of weights to the ring R.

i6 : e={{1,0},{-1,1},{0,-1}}

o6 = {{1, 0}, {-1, 1}, {0, -1}}

o6 : List
i7 : f={{1,0,0},{-1,1,0},{0,-1,1},{0,0,-1}}

o7 = {{1, 0, 0}, {-1, 1, 0}, {0, -1, 1}, {0, 0, -1}}

o7 : List
i8 : h={{1},{-1}}

o8 = {{1}, {-1}}

o8 : List
i9 : W=(flatten table(e,h,(u,v)->u|{0,0,0}|v))|(flatten table(f,h,(u,v)->{0,0}|u|v))

o9 = {{1, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, -1}, {-1, 1, 0, 0, 0, 1}, {-1, 1, 0, 0, 0, -1}, {0, -1, 0, 0, 0, 1}, {0, -1, 0, 0, 0,
     ----------------------------------------------------------------------------------------------------------------------------
     -1}, {0, 0, 1, 0, 0, 1}, {0, 0, 1, 0, 0, -1}, {0, 0, -1, 1, 0, 1}, {0, 0, -1, 1, 0, -1}, {0, 0, 0, -1, 1, 1}, {0, 0, 0, -1,
     ----------------------------------------------------------------------------------------------------------------------------
     1, -1}, {0, 0, 0, 0, -1, 1}, {0, 0, 0, 0, -1, -1}}

o9 : List
i10 : D=dynkinType{{"A",2},{"A",3},{"A",1}}; setWeights(R,D,W)

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

o11 : Tally

Now we decompose the resolution of I.

i12 : highestWeightsDecomposition(EN)

o12 = HashTable{0 => HashTable{{0, 0} => Tally{{0, 0, 0, 0, 0, 0} => 1}}}
                1 => HashTable{{0, 2} => Tally{{0, 0, 0, 1, 0, 0} => 1}}
                               {1, 1} => Tally{{1, 0, 1, 0, 0, 0} => 1}
                               {2, 0} => Tally{{0, 1, 0, 0, 0, 0} => 1}
                2 => HashTable{{0, 3} => Tally{{0, 0, 0, 0, 1, 1} => 1}}
                               {1, 2} => Tally{{1, 0, 0, 1, 0, 1} => 1}
                               {2, 1} => Tally{{0, 1, 1, 0, 0, 1} => 1}
                               {3, 0} => Tally{{0, 0, 0, 0, 0, 1} => 1}
                3 => HashTable{{0, 4} => Tally{{0, 0, 0, 0, 0, 2} => 1}}
                               {1, 3} => Tally{{1, 0, 0, 0, 1, 2} => 1}
                               {2, 2} => Tally{{0, 1, 0, 1, 0, 2} => 1}
                               {3, 1} => Tally{{0, 0, 1, 0, 0, 2} => 1}
                4 => HashTable{{1, 4} => Tally{{1, 0, 0, 0, 0, 3} => 1}}
                               {2, 3} => Tally{{0, 1, 0, 0, 1, 3} => 1}
                               {3, 2} => Tally{{0, 0, 0, 1, 0, 3} => 1}
                5 => HashTable{{2, 4} => Tally{{0, 1, 0, 0, 0, 4} => 1}}
                               {3, 3} => Tally{{0, 0, 0, 0, 1, 4} => 1}
                6 => HashTable{{3, 4} => Tally{{0, 0, 0, 0, 0, 5} => 1}}

o12 : HashTable

We show what part of the resolution looks like in terms of Schur functors:

R ←(∧2 F ⊗R(0,-2)) ⊕(E ⊗F ⊗R(-1,-1)) ⊕(∧2 E ⊗R(-2,0)) ←(∧3 F ⊗H ⊗R(0,-3)) ⊕(E ⊗∧2 F ⊗H ⊗R(-1,-2)) ⊕(∧2 E ⊗F ⊗H ⊗R(-2,-1)) ⊕(H ⊗R(-3,0)) ←...

Finally we decompose some graded components in the quotient ring R/I. Unlike with -gradings, when working in the multigraded setting it is not possible to decompose a range of degrees but only one multidegree at a time.

i13 : Q=R/I

o13 = Q

o13 : QuotientRing
i14 : highestWeightsDecomposition(Q,{2,0})

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

o14 : Tally
i15 : highestWeightsDecomposition(Q,{1,1})

o15 = Tally{{1, 0, 1, 0, 0, 2} => 1}

o15 : Tally
i16 : highestWeightsDecomposition(Q,{0,2})

o16 = Tally{{0, 0, 2, 0, 0, 2} => 1}

o16 : Tally

We have Q(2,0) = S2 E ⊗S2 H, Q(1,1) = E ⊗F ⊗S2 H and Q(0,2) = S2 F ⊗S2 H.