For postulate REF , we find that clearing a pivot block by column operations uses similar-order-of-magnitude time and memory as does clearing the same pivot block by row operations. In the standard approach to reducing a filtered boundary operator by row-reduction, one would apply the cohomology algorithm to \(D_{ \rho  \mathbf {n} },\)  having deleted all nonpivot rows via the clearing/compression optimizationCompression does not remove all non-pivot rows, in general. However, since the final space in our filtration is nullhomotopic, the image of \(\partial _2\)  equals the kernel of \(\partial _1\) , hence (by the rank-nullity theorem) the number of pivot columns of \(\partial _1\)  equals the number of non-pivot rows of \(\partial _2\) ; therefore, compression removes all non-pivot rows for each of the data sets studied here.. In this case, the time to reduce \(D_{ \rho  \mathbf {n} }\)  would be roughly similar to that of applying the same algorithm to \(D_{ \rho  \kappa }\)  since construction of the vast majority of pivot rows is short-circuited, c.f. [1]}. Thus, the time needed to compute generators by first row-reducing (thus, revealing the pivot elements) then column-reducing the submatrix indexed by pivot indices, is approximately double the time required only to row-reduce. On the other hand, performing a sparse triangular solve requires only a fraction of a second. Thus, in regimes where only a small number of generators are required, the lazy approach offers concrete performance advantages.
