Assume that M is defined over a ring of the form Rbar = R/(f_0..f_{c-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-graded free module over a ring Sbar\cong kk[s_0..s_{c-1},gens Rbar], where the degrees of the s_i are {-2, -degree f_i}. 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} \to F^*_{odd} and d1:F^*_{odd}\to F^*_{even}.
The maps d0,d1 form a matrix factorization of sum(c, i->s_i*f_i). The have the property that for any Rbar module N,
HH_1 chainComplex \{d0**N, d1**N\} = Ext^{even}_{Rbar}(M,N)
S^{{1,0}}**HH_1 chainComplex \{S^{{-2,0}}**d1**N, d0**N\} = Ext^{odd}_{Rbar}(M,N)
This is encoded in the script newExt
Option defaults: Check=>false Variables=>getSymbol "s", Grading =>2}
If Grading =>1, then a singly graded result is returned (just forgetting the honological grading.)
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,Grading =>1) o10 = ({-2} | x_0^2 0 {-2} | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 30s_0 {-3} | x_2^3 0 {-7} | 0 x_2^3 ----------------------------------------------------------------------- -s_1 0 |, {0} | 0 -s_1 | {-4} | s_0 0 | {-5} | 37x_0x_1-21x_1^2-5x_0x_2+10x_1x_2-17x_2^2 -37x_0^2 | {-5} | ----------------------------------------------------------------------- s_0 0 37x_0x_1-21x_1^2-5x_0x_2+10x_1x_2-17x_2^2 -37x_0^2 -x_2^3 0 0 -x_2^3 ----------------------------------------------------------------------- s_1 0 |) 0 s_1 | x_0^2 0 | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 30s_0 | 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 {-7} | 0 0 0 ----------------------------------------------------------------------- 0 | 0 | 0 | s_1x_2^3+s_0x_0^2 | 4 4 o11 : Matrix (kk[s ..s , x ..x ]) <--- (kk[s ..s , x ..x ]) 0 1 0 2 0 1 0 2 |
i12 : d1*d0 o12 = {0} | s_1x_2^3+s_0x_0^2 0 0 {-4} | 0 s_1x_2^3+s_0x_0^2 0 {-5} | 0 0 s_1x_2^3+s_0x_0^2 {-5} | 0 0 0 ----------------------------------------------------------------------- 0 | 0 | 0 | s_1x_2^3+s_0x_0^2 | 4 4 o12 : Matrix (kk[s ..s , x ..x ]) <--- (kk[s ..s , x ..x ]) 0 1 0 2 0 1 0 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 |
The object EisenbudShamashTotal is a method function with options.