i1 : S = ZZ/101[a,b,c] o1 = S o1 : PolynomialRing |
i2 : kRes = res coker vars S 1 3 3 1 o2 = S <-- S <-- S <-- S <-- 0 0 1 2 3 4 o2 : ChainComplex |
i3 : multBya = extend(kRes,kRes,matrix{{a}}) 1 1 o3 = 0 : S <--------- S : 0 | a | 3 3 1 : S <----------------- S : 1 {1} | a b c | {1} | 0 0 0 | {1} | 0 0 0 | 3 3 2 : S <----- S : 2 0 1 1 3 : S <----- S : 3 0 4 : 0 <----- 0 : 4 0 o3 : ChainComplexMap |
i4 : isChainComplexMap(multBya) o4 = true |
i5 : T = chainComplex(map(S^1,S^1,a)) 1 1 o5 = S <-- S 0 1 o5 : ChainComplex |
i6 : T' = chainComplex{map(S^1/(ideal a),S^1, 1), map(S^1,S^1, -a)}[1] 1 1 o6 = cokernel | a | <-- S <-- S -1 0 1 o6 : ChainComplex |
i7 : phi = chainComplexMap(T',T,apply(toList(min T..max T), i->id_(T_i))) 1 1 o7 = 0 : S <--------- S : 0 | 1 | 1 1 1 : S <--------- S : 1 | 1 | o7 : ChainComplexMap |
i8 : isChainComplexMap phi o8 = true |
The object isChainComplexMap is a method function.