A chain complex is a sequence of modules connected by homomorphisms, called differentials, such that the composition of any two consecutive maps is zero.
One can access the differential of a complex as follows.
i1 : R = QQ[a..d]; |
i2 : I = ideal(a*d-b*c, b^2-a*c, c^2-b*d); o2 : Ideal of R |
i3 : C = freeResolution(R^1/I)
1 3 2
o3 = R <-- R <-- R
0 1 2
o3 : Complex
|
i4 : dd^C
1 3
o4 = 0 : R <------------------------- R : 1
| b2-ac bc-ad c2-bd |
3 2
1 : R <----------------- R : 2
{2} | -c d |
{2} | b -c |
{2} | -a b |
o4 : ComplexMap
|
i5 : C.dd
1 3
o5 = 0 : R <------------------------- R : 1
| b2-ac bc-ad c2-bd |
3 2
1 : R <----------------- R : 2
{2} | -c d |
{2} | b -c |
{2} | -a b |
o5 : ComplexMap
|
i6 : assert(dd^C === C.dd) |
i7 : assert(source dd^C === C) |
i8 : assert(target dd^C === C) |
i9 : assert(degree dd^C === -1) |
The composition of the differential with itself is zero.
i10 : (dd^C)^2 == 0 o10 = true |
The individual maps between terms are indexed by their source.
i11 : dd^C_2
o11 = {2} | -c d |
{2} | b -c |
{2} | -a b |
3 2
o11 : Matrix R <--- R
|
i12 : assert(source dd^C_2 === C_2) |
i13 : assert(target dd^C_2 === C_1) |