Assume that M is defined over a ring of the form Rbar = R/(f0..fc-1), a complete intersection, and that M has a finite free resolution G over R. In this case M has a free resolution F over Rbar whose dual, F* is a finitely generated, Z/2-graded free module over a ring Sbar≅Rbar[s0..sc-1], where the degrees of the si are the negatives of the degrees of the fi. This resolution is is constructed from the dual of G, together with the duals of the higher homotopies on G defined by Eisenbud.
The function returns the differentials d0:F*even →F*odd and d1:F*odd→F*even.
The maps d0,d1 form a matrix factorization of sum(c, i->si*fi). The have the property that for any Rbar module N,
HH1 chainComplex {d0**N, d1**N}= ExtevenRbar(M,N)
HH1 chainComplex {d1**N, d0**N}= ExtoddRbar(M,N)
i1 : n = 3 o1 = 3 |
i2 : c = 2 o2 = 2 |
i3 : kk = ZZ/101 o3 = kk o3 : QuotientRing |
i4 : R = kk[x_0..x_(n-1)] o4 = R o4 : PolynomialRing |
i5 : I = ideal(x_0^2, x_2^3) 2 3 o5 = ideal (x , x ) 0 2 o5 : Ideal of R |
i6 : ff = gens I o6 = | x_0^2 x_2^3 | 1 2 o6 : Matrix R <--- R |
i7 : Rbar = R/I o7 = Rbar o7 : QuotientRing |
i8 : bar = map(Rbar, R) o8 = map(Rbar,R,{x , x , x }) 0 1 2 o8 : RingMap Rbar <--- R |
i9 : Mbar = prune coker random(Rbar^1, Rbar^{-2}) o9 = cokernel | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 | 1 o9 : Rbar-module, quotient of Rbar |
i10 : (d0,d1) = EisenbudShamashTotal Mbar o10 = ({-2} | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 {-2} | x_0^2 {-3} | x_2^3 {-3} | x_1^3+27x_1^2x_2+24x_0x_2^2-18x_1x_2^2 {-7} | 0 ----------------------------------------------------------------------- s_1 0 0 s_1 0 -s_0 -37s_1x_0-21s_1x_1+29s_1x_2 37s_1x_1-5s_1x_2+44s_0 -x_0^2 x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 ----------------------------------------------------------------------- s_0x_0+24s_0x_1+39s_0x_2 -30s_0 |, 0 0 | 0 0 | 37s_1x_2^3+s_0x_1^2-22s_0x_1x_2+20s_0x_2^2 -s_0x_0+24s_0x_1+39s_0x_2 | x_0x_2^3+24x_1x_2^3+39x_2^4 -30x_2^3 | ----------------------------------------------------------------------- {0} | 0 s_0 {-5} | x_2^3 0 {-5} | 0 x_2^3 {-3} | x_0-24x_1-39x_2 -x_1-49x_2 {-4} | x_1^2-22x_1x_2+20x_2^2 24x_2^2 ----------------------------------------------------------------------- s_1 0 0 |) -x_0x_1-24x_1^2-49x_0x_2-3x_1x_2-5x_2^2 0 -s_0 | -x_0^2 0 0 | -7 -30 0 | -44x_0-46x_1+x_2 -x_0-24x_1-39x_2 37s_1 | o10 : Sequence |
i11 : d0*d1 o11 = {-2} | s_1x_2^3+s_0x_0^2 0 0 {-2} | 0 s_1x_2^3+s_0x_0^2 0 {-3} | 0 0 s_1x_2^3+s_0x_0^2 {-3} | 0 0 0 {-7} | 0 0 0 ----------------------------------------------------------------------- 0 0 | 0 0 | 0 0 | s_1x_2^3+s_0x_0^2 0 | 0 s_1x_2^3+s_0x_0^2 | 5 5 o11 : Matrix (kk[s , s , x , x , x ]) <--- (kk[s , s , x , x , x ]) 0 1 0 1 2 0 1 0 1 2 |
i12 : d1*d0 o12 = {0} | s_1x_2^3+s_0x_0^2 0 0 {-5} | 0 s_1x_2^3+s_0x_0^2 0 {-5} | 0 0 s_1x_2^3+s_0x_0^2 {-3} | 0 0 0 {-4} | 0 0 0 ----------------------------------------------------------------------- 0 0 | 0 0 | 0 0 | s_1x_2^3+s_0x_0^2 0 | 0 s_1x_2^3+s_0x_0^2 | 5 5 o12 : Matrix (kk[s , s , x , x , x ]) <--- (kk[s , s , x , x , x ]) 0 1 0 1 2 0 1 0 1 2 |
i13 : S = ring d0 o13 = S o13 : PolynomialRing |
i14 : phi = map(S,R) o14 = map(S,R,{x , x , x }) 0 1 2 o14 : RingMap S <--- R |
i15 : IS = phi I 2 3 o15 = ideal (x , x ) 0 2 o15 : Ideal of S |
i16 : Sbar = S/IS o16 = Sbar o16 : QuotientRing |
i17 : SMbar = Sbar**Mbar o17 = cokernel | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 | 1 o17 : Sbar-module, quotient of Sbar |
Hom(d0,Sbar) and Hom(d1,Sbar) together form the resolution of Mbar; thus the homology of one composition is 0, while the other is Mbar
i18 : prune HH_1 chainComplex{dual (Sbar**d0), dual(Sbar**d1)} == 0 o18 = true |
i19 : Mbar' = Sbar^1/(Sbar_0, Sbar_1)**SMbar o19 = cokernel | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 s_0 s_1 | 1 o19 : Sbar-module, quotient of Sbar |
i20 : ideal presentation prune HH_1 chainComplex{dual (Sbar**d1), dual(Sbar**d0)} == ideal presentation Mbar' o20 = true |
As a second example we compute Ext(Mbar, Rbar):
i21 : prune HH_1 chainComplex {Sbar**d0,Sbar**d1} o21 = 0 o21 : Sbar-module |
i22 : prune HH_1 chainComplex {Sbar**d1,Sbar**d0} o22 = cokernel {-2} | s_1 s_0 x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 | 1 o22 : Sbar-module, quotient of Sbar |
i23 : prune Ext(Mbar, Rbar^1) o23 = cokernel {-1, -2} | X_2 x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 x_0^2 X_1 x_2^3 | 1 o23 : kk[X , X , x , x , x ]-module, quotient of (kk[X , X , x , x , x ]) 1 2 0 1 2 1 2 0 1 2 |