Description
The algebraic Scarf complex of a monomial ideal is the sub-chain complex of the taylorResolution supported on subsets of generators with unique LCMs.
i1 : R = QQ[a,b,c,d,e];
|
i2 : I = monomialIdeal(b^4*c^3, a*b^3*c*d^2*e, a*b^2*c^2*d*e^2, a^2*d^3*e^5, b*c^2*d^5*e^4);
o2 : MonomialIdeal of R
|
i3 : s = scarfComplex I
1 5 8 3
o3 = R <-- R <-- R <-- R <-- 0
0 1 2 3 4
o3 : ChainComplex
|
i4 : s.dd
1 5
o4 = 0 : R <-------------------------------------------- R : 1
| b4c3 ab3cd2e ab2c2de2 bc2d5e4 a2d3e5 |
5 8
1 : R <----------------------------------------------------------- R : 2
{7} | -ad2e -ade2 0 -d5e4 0 0 0 0 |
{8} | bc2 0 -ce 0 0 -ade4 0 0 |
{8} | 0 b2c bd 0 -d4e2 0 -ad2e3 0 |
{12} | 0 0 0 b3c ab 0 0 -a2e |
{10} | 0 0 0 0 0 b3c b2c2 bc2d2 |
8 3
2 : R <------------------------ R : 3
{11} | e 0 0 |
{11} | -d 0 0 |
{10} | bc ade3 0 |
{16} | 0 0 0 |
{14} | 0 0 ae |
{14} | 0 -c 0 |
{14} | 0 b -d2 |
{15} | 0 0 b |
3
3 : R <----- 0 : 4
0
o4 : ChainComplexMap
|
The Scarf complex of I is always a subcomplex of the minimal free resolution of I, computed in M2 with the command res I. In this first example the Scarf complex is strictly smaller.
i5 : (betti s, betti res I)
0 1 2 3 0 1 2 3
o5 = (total: 1 5 8 3, total: 1 5 8 4)
0: 1 . . . 0: 1 . . .
1: . . . . 1: . . . .
2: . . . . 2: . . . .
3: . . . . 3: . . . .
4: . . . . 4: . . . .
5: . . . . 5: . . . .
6: . 1 . . 6: . 1 . .
7: . 2 . . 7: . 2 . .
8: . . 1 . 8: . . 1 .
9: . 1 2 1 9: . 1 2 1
10: . . . . 10: . . . .
11: . 1 . . 11: . 1 . .
12: . . 3 1 12: . . 3 1
13: . . 1 1 13: . . 1 1
14: . . 1 . 14: . . 1 1
o5 : Sequence
|
In some cases, such as when I is a generic monomial ideal, the Scarf complex of I is a minimal free resolution of I. In this case scarfComplex I and res I will be isomorphic but not necessarily equal.
i6 : I = monomialIdeal(a^2*b^11*c^7*d*e, a^5*b^10*c^2*d^3*e^2, a^6*b^8*c^11*d^2*e^3, a^3*b^5*c^3*d^5*e^4, a^8*b^2*c*d^4*e^7);
o6 : MonomialIdeal of R
|
i7 : isExact(prependZeroMap scarfComplex I)
o7 = true
|
i8 : isMinimalChainComplex scarfComplex I
o8 = true
|
i9 : betti scarfComplex I == betti res I
o9 = true
|
i10 : scarfComplex I == res I
o10 = false
|