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.