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 -s_1 0 |, {0} |
{-2} | x_0x_1+24x_1^2+49x_0x_2+3x_1x_2+5x_2^2 30s_0 0 -s_1 | {-4} |
{-3} | x_2^3 0 s_0 0 | {-5} |
{-7} | 0 x_2^3 37x_0x_1-21x_1^2-5x_0x_2+10x_1x_2-17x_2^2 -37x_0^2 | {-5} |
---------------------------------------------------------------------------------------------------------------------------
s_0 0 s_1 0 |)
37x_0x_1-21x_1^2-5x_0x_2+10x_1x_2-17x_2^2 -37x_0^2 0 s_1 |
-x_2^3 0 x_0^2 0 |
0 -x_2^3 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 0 |
{-2} | 0 s_1x_2^3+s_0x_0^2 0 0 |
{-3} | 0 0 s_1x_2^3+s_0x_0^2 0 |
{-7} | 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 0 |
{-4} | 0 s_1x_2^3+s_0x_0^2 0 0 |
{-5} | 0 0 s_1x_2^3+s_0x_0^2 0 |
{-5} | 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.