did not account for negative values in the purely mathematical MatrixOps and SparkEngine version of numNonZeroElementsPerColumn so fixed this and added to tests