The function max applied to a chain complex returns the largest position of a defined term in a chain complex, which very well might be the zero module. The function nonzeroMax returns the largest positions of a non-zero module.
i1 : S=ZZ/101[x,y]/ideal(x*y) o1 = S o1 : QuotientRing |
i2 : C=chainComplex(matrix{{x}},matrix{{y}}**S^{ -1},matrix{{x}}**S^{ -2})[1] 1 1 1 1 o2 = S <-- S <-- S <-- S -1 0 1 2 o2 : ChainComplex |
i3 : isChainComplex C o3 = true |
i4 : C'=prependZeroMap appendZeroMap C 1 1 1 1 o4 = 0 <-- S <-- S <-- S <-- S <-- 0 -2 -1 0 1 2 3 o4 : ChainComplex |
i5 : min C', nonzeroMin C' o5 = (-2, -1) o5 : Sequence |
i6 : max C', nonzeroMax C' o6 = (3, 2) o6 : Sequence |
The object nonzeroMax is a method function.