If $f$ is a graded (homogeneous) map of complexes over a ring $R$, and $d$ is a degree, this method computes the degree $d$ part of the complex map over the coefficient ring of $R$.
Taking parts of a graded (homogeneous) complex commutes with taking homology.
i1 : kk = ZZ/7 o1 = kk o1 : QuotientRing |
i2 : R = kk[a,b,c,d]; |
i3 : I = ideal(a*b, a*c, b*c, a*d) o3 = ideal (a*b, a*c, b*c, a*d) o3 : Ideal of R |
i4 : J = I + ideal(b^3) 3 o4 = ideal (a*b, a*c, b*c, a*d, b ) o4 : Ideal of R |
i5 : C = freeResolution I 1 4 4 1 o5 = R <-- R <-- R <-- R 0 1 2 3 o5 : Complex |
i6 : D = freeResolution ((R^1/J) ** R^{{1}}) 1 5 6 2 o6 = R <-- R <-- R <-- R 0 1 2 3 o6 : Complex |
i7 : f = randomComplexMap(D,C, Cycle=>true) 1 1 o7 = 0 : R <--------------------- R : 0 {-1} | 3a-3c+2d | 5 4 1 : R <---------------------------------------------- R : 1 {1} | 3a+c-3d -d -3d 2c+d | {1} | 3b+3d 3a-2b-3c -2b+3d 2b-3d | {1} | 0 2a -2a-3c+2d 3a | {1} | -2b-3c b+2c 3b-3c 3a-b+2d | {2} | 0 0 0 0 | 6 4 2 : R <------------------------------------------------ R : 2 {2} | 3a+c+3d 0 -2b -2c | {2} | 2b -2a-2b-3c+2d 3b 3c-2d | {2} | b+c 3a-b 3a-b+c-3d -c-d | {2} | 3b+3c -3a-2b -b+3d 3a | {3} | 0 0 0 0 | {3} | 0 0 0 0 | 2 1 3 : R <------------------- R : 3 {3} | 3a+c+3d | {4} | 0 | o7 : ComplexMap |
i8 : g = part(2,f) 20 10 o8 = 0 : kk <------------------------------------- kk : 0 | 3 0 0 0 0 0 0 0 0 0 | | 0 3 0 0 0 0 0 0 0 0 | | -3 0 3 0 0 0 0 0 0 0 | | 2 0 0 3 0 0 0 0 0 0 | | 0 0 0 0 3 0 0 0 0 0 | | 0 -3 0 0 0 3 0 0 0 0 | | 0 2 0 0 0 0 3 0 0 0 | | 0 0 -3 0 0 0 0 3 0 0 | | 0 0 2 -3 0 0 0 0 3 0 | | 0 0 0 2 0 0 0 0 0 3 | | 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 -3 0 0 0 0 0 | | 0 0 0 0 2 0 0 0 0 0 | | 0 0 0 0 0 -3 0 0 0 0 | | 0 0 0 0 0 2 -3 0 0 0 | | 0 0 0 0 0 0 2 0 0 0 | | 0 0 0 0 0 0 0 -3 0 0 | | 0 0 0 0 0 0 0 2 -3 0 | | 0 0 0 0 0 0 0 0 2 -3 | | 0 0 0 0 0 0 0 0 0 2 | 17 4 1 : kk <------------------- kk : 1 | 3 0 0 0 | | 0 0 0 0 | | 1 0 0 2 | | -3 -1 -3 1 | | 0 3 0 0 | | 3 -2 -2 2 | | 0 -3 0 0 | | 3 0 3 -3 | | 0 2 -2 3 | | 0 0 0 0 | | 0 0 -3 0 | | 0 0 2 0 | | 0 0 0 3 | | -2 1 3 -1 | | -3 2 -3 0 | | 0 0 0 2 | | 0 0 0 0 | o8 : ComplexMap |
i9 : assert(part(2, HH f) == prune HH part(2, f)) |