next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
CompleteIntersectionResolutions :: exteriorExtModule

exteriorExtModule -- Ext(M,k) or Ext(M,N) as a module over an exterior algebra

Synopsis

Description

If M,N are S-modules annihilated by the elements of the matrix ff = (f1..fc), and k is the residue field of S, then the script exteriorExtModule(f,M) returns ExtS(M, k) as a module over an exterior algebra E = k<e1,...,ec>, where the ei have degree 1. It is computed as the E-dual of exteriorTorModule.

The script exteriorTorModule(f,M,N) returns ExtS(M,N) as a module over a bigraded ring SE = S<e1,..,ec>, where the ei have degrees di,1, where di is the degree of fi. The module structure, in either case, is defined by the homotopies for the fi on the resolution of M, computed by the script makeHomotopies1.The script calls makeModule to compute a (non-minimal) presentation of this module.

i1 : kk = ZZ/101

o1 = kk

o1 : QuotientRing
i2 : S = kk[a,b,c]

o2 = S

o2 : PolynomialRing
i3 : f = matrix"a4,b4,c4"

o3 = | a4 b4 c4 |

             1       3
o3 : Matrix S  <--- S
i4 : R = S/ideal f

o4 = R

o4 : QuotientRing
i5 : p = map(R,S)

o5 = map(R,S,{a, b, c})

o5 : RingMap R <--- S
i6 : M = coker map(R^2, R^{3:-1}, {{a,b,c},{b,c,a}})

o6 = cokernel | a b c |
              | b c a |

                            2
o6 : R-module, quotient of R
i7 : betti (FF =res( M, LengthLimit =>6))

            0 1 2 3 4  5  6
o7 = total: 2 3 4 6 9 13 18
         0: 2 3 . . .  .  .
         1: . . 1 . .  .  .
         2: . . 3 3 .  .  .
         3: . . . 3 3  .  .
         4: . . . . 3  3  .
         5: . . . . 3  9  6
         6: . . . . .  .  3
         7: . . . . .  1  9

o7 : BettiTally
i8 : MS = prune pushForward(p, coker FF.dd_6);
i9 : resFld := pushForward(p, coker vars R);
i10 : T = exteriorTorModule(f,MS);
i11 : E = exteriorExtModule(f,MS);
i12 : hf(-4..0,E)

o12 = {0, 9, 29, 33, 13}

o12 : List
i13 : betti res MS

              0  1  2 3
o13 = total: 13 33 29 9
          9:  3  .  . .
         10:  9  6  . .
         11:  .  3  . .
         12:  1 15  . .
         13:  .  9  8 .
         14:  .  .  6 .
         15:  .  . 12 .
         16:  .  .  3 3
         17:  .  .  . 3
         18:  .  .  . 3

o13 : BettiTally
i14 : betti res (PE = prune E)

              0  1  2  3  4
o14 = total: 16 13 25 49 81
         -3:  9  4  3  3  3
         -2:  6  3  .  .  .
         -1:  .  .  7 18 33
          0:  1  6 15 28 45

o14 : BettiTally
i15 : betti res (PT = prune T)

              0  1  2   3   4
o15 = total: 31 55 87 127 175
          0: 13 24 39  58  81
          1: 18 31 48  69  94

o15 : BettiTally
i16 : E1 = prune exteriorExtModule(f, MS, resFld);
i17 : ring E1

o17 = kk[X , X , X , e , e , e ]
          0   1   2   0   1   2

o17 : PolynomialRing, 3 skew commutative variables
i18 : exRing = kk[e_0,e_1,e_2, SkewCommutative =>true]

o18 = exRing

o18 : PolynomialRing, 3 skew commutative variables

We can also construct the exteriorExtModule as a bigraded module, over a ring SE that has both polynomial variables like S and exterior variables like E. The polynomial variables have degrees 1,0. The exterior variables have degrees deg ffi, 1.

i19 : E1 = prune exteriorExtModule(f, MS, resFld);
i20 : ring E1

o20 = kk[X , X , X , e , e , e ]
          0   1   2   0   1   2

o20 : PolynomialRing, 3 skew commutative variables
i21 : exRing = kk[e_0,e_1,e_2, SkewCommutative =>true]

o21 = exRing

o21 : PolynomialRing, 3 skew commutative variables

To see that this is really the same module, with a more complex grading, we can bring it over to a pure exterior algebra. Note that the necessary map of rings must contain a DegreeMap option. In general we could only take the degrees of the generators of the exterior algebra to be the gcd of the deg ffi ; in the example above this is 1.

i22 : q = map(exRing, ring E1, {3:0,e_0,e_1,e_2}, DegreeMap => d -> {d_1})

o22 = map(exRing,kk[X , X , X , e , e , e ],{0, 0, 0, e , e , e })
                     0   1   2   0   1   2             0   1   2

o22 : RingMap exRing <--- kk[X , X , X , e , e , e ]
                              0   1   2   0   1   2
i23 : E2 = coker q presentation E1;
i24 : hf(-5..5,E2) == hf(-5..5,E)

o24 = true

See also

Ways to use exteriorExtModule :