CellularPersistenceInChunksContext
maxDim means "top homological degree reported," not "top simplex dimension built" -- fixed at the source, the same fix and for the same reason as RipserCohomologyContext's own maxDimension (see .claude/WORKLOG-maxdim-semantics-fix.md). This is homology, not cohomology, so the mirror-image fact holds: correctly determining whether a class BORN at dimension maxDim is essential or killed requires considering real (maxDim + 1)-dimensional cells' own boundaries (a (maxDim+1)-simplex's boundary reduces to a dimension-maxDim pivot exactly when it kills that class) -- without them, every dimension-maxDim class was unconditionally essential, since no cell of the stream was ever considered that could possibly pair against it. Fixed by internally walking 0.to(maxDim + 1) (both in allCells's construction and both loops in advanceAll) instead of 0.to(maxDim), so (maxDim + 1)-cells DO get locally/globally reduced and CAN correctly kill a maxDim-born class -- and filtering diagramAt's essential-bar output back down to sigma.dim <= maxDim (finite bars need no equivalent filter: recordPair's barDim = pivot.dim, and a pivot is always one dimension below its killer, so barDim <= maxDim automatically whenever the killer's own dimension is <= maxDim + 1). (maxDim+1)-cells that themselves end up looking essential (nothing of dimension maxDim + 2 was ever considered to check) are deliberately left in essentialSimplices internally (later pairing logic in recordPair needs an accurate view across all live dimensions) and only excluded at this final reporting boundary, never a filter applied earlier.
Attributes
- Experimental
- true
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class CubicalPersistenceInChunksContext[CoefficientT]