Given a complex map $f : C \to D$ this method returns the chain complex $D$.
i1 : R = ZZ/101[a..d] o1 = R o1 : PolynomialRing |
i2 : I = ideal(a^2, b^2, c^2) 2 2 2 o2 = ideal (a , b , c ) o2 : Ideal of R |
i3 : J = I + ideal(a*b*c) 2 2 2 o3 = ideal (a , b , c , a*b*c) o3 : Ideal of R |
i4 : FI = freeResolution I 1 3 3 1 o4 = R <-- R <-- R <-- R 0 1 2 3 o4 : Complex |
i5 : FJ = freeResolution J 1 4 6 3 o5 = R <-- R <-- R <-- R 0 1 2 3 o5 : Complex |
i6 : f = randomComplexMap(FJ, FI, Cycle=>true) 1 1 o6 = 0 : R <---------- R : 0 | 24 | 4 3 1 : R <-------------------- R : 1 {2} | 24 0 0 | {2} | 0 24 0 | {2} | 0 0 24 | {3} | 0 0 0 | 6 3 2 : R <-------------------- R : 2 {4} | 24 0 0 | {4} | 0 0 0 | {4} | 0 0 0 | {4} | 0 24 0 | {4} | 0 0 0 | {4} | 0 0 24 | 3 1 3 : R <---------------- R : 3 {5} | 24c | {5} | -24b | {5} | 24a | o6 : ComplexMap |
i7 : target f 1 4 6 3 o7 = R <-- R <-- R <-- R 0 1 2 3 o7 : Complex |
i8 : assert isWellDefined f |
i9 : assert isComplexMorphism f |
i10 : assert(target f == FJ) |
i11 : assert(source f == FI) |
The differential in a complex is a map of chain complexes.
i12 : kk = coker vars R o12 = cokernel | a b c d | 1 o12 : R-module, quotient of R |
i13 : F = freeResolution kk 1 4 6 4 1 o13 = R <-- R <-- R <-- R <-- R 0 1 2 3 4 o13 : Complex |
i14 : target dd^F == F o14 = true |
i15 : source dd^F == F o15 = true |
i16 : degree dd^F == -1 o16 = true |