A quasiisomorphism is a chain map that is an isomorphism in homology.Mapping cones currently do not work properly for complexes concentratedin one degree, so isQuism could return bad information in that case.
i1 : R = ZZ/101[a,b,c]
o1 = R
o1 : PolynomialRing
|
i2 : kRes = res coker vars R
1 3 3 1
o2 = R <-- R <-- R <-- R <-- 0
0 1 2 3 4
o2 : ChainComplex
|
i3 : multBya = extend(kRes,kRes,matrix{{a}})
1 1
o3 = 0 : R <--------- R : 0
| a |
3 3
1 : R <----------------- R : 1
{1} | a b c |
{1} | 0 0 0 |
{1} | 0 0 0 |
3 3
2 : R <----- R : 2
0
1 1
3 : R <----- R : 3
0
4 : 0 <----- 0 : 4
0
o3 : ChainComplexMap
|
i4 : isQuism(multBya)
o4 = false
|
i5 : F = extend(kRes,kRes,matrix{{1_R}})
1 1
o5 = 0 : R <--------- R : 0
| 1 |
3 3
1 : R <----------------- R : 1
{1} | 1 0 0 |
{1} | 0 1 0 |
{1} | 0 0 1 |
3 3
2 : R <----------------- R : 2
{2} | 1 0 0 |
{2} | 0 1 0 |
{2} | 0 0 1 |
1 1
3 : R <------------- R : 3
{3} | 1 |
4 : 0 <----- 0 : 4
0
o5 : ChainComplexMap
|
i6 : isQuism(F)
o6 = true
|