Class AColGroupCompressed
java.lang.Object
org.apache.sysds.runtime.compress.colgroup.AColGroup
org.apache.sysds.runtime.compress.colgroup.AColGroupCompressed
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
ADictBasedColGroup,ColGroupEmpty,ColGroupLinearFunctional
Base class for column groups encoded Encoded in a compressed manner.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroup
AColGroup.CompressionType -
Method Summary
Modifier and TypeMethodDescriptiondoublegetMax()Short hand method for getting maximum value contained in this column group.doublegetMin()Short hand method for getting minimum value contained in this column group.doublegetSum(int nRows) Short hand method for getting the sum of this column groupbooleanisEmpty()Get if the group is only containing zerodouble[]booleansameIndexStructure(AColGroup that) Method to determine if the columnGroup have the same index structure as another.abstract booleanfinal voidtsmm(MatrixBlock ret, int nRows) Do a transposed self matrix multiplication on the left side t(x) %*% x.final voidunaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru) Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed matrix.final voidunaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru, double[] preAgg) Methods inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroup
addVector, append, appendN, binaryRowOpLeft, binaryRowOpRight, centralMoment, clear, colSum, combine, combineWithSameIndex, combineWithSameIndex, computeColSums, containsValue, copyAndSet, decompressToDenseBlock, decompressToDenseBlock, decompressToDenseBlockTransposed, decompressToSparseBlock, decompressToSparseBlock, decompressToSparseBlockTransposed, estimateInMemorySize, get, getColIndices, getCompressionInfo, getCompressionScheme, getCompType, getCost, getEncoding, getExactSizeOnDisk, getIdx, getNumberNonZeros, getNumCols, getNumValues, getSparsity, leftMultByAColGroup, leftMultByMatrixNoPreAgg, morph, recompress, reduceCols, removeEmptyCols, removeEmptyRows, replace, rexpandCols, rightDecompressingMult, rightMultByMatrix, rightMultByMatrix, scalarOperation, selectionMultiply, shiftColIndices, sliceColumn, sliceColumns, sliceRows, sort, sortColumnIndexes, splitReshape, splitReshapePushDown, toString, tsmmAColGroup, unaryOperation
-
Method Details
-
sameIndexStructure
Description copied from class:AColGroupMethod to determine if the columnGroup have the same index structure as another. Note that the column indexes and dictionaries are allowed to be different.- Overrides:
sameIndexStructurein classAColGroup- Parameters:
that- the other column group- Returns:
- if the index is the same.
-
sameIndexStructure
-
preAggRows
-
getMin
public double getMin()Description copied from class:AColGroupShort hand method for getting minimum value contained in this column group. -
getMax
public double getMax()Description copied from class:AColGroupShort hand method for getting maximum value contained in this column group. -
getSum
public double getSum(int nRows) Description copied from class:AColGroupShort hand method for getting the sum of this column group -
unaryAggregateOperations
public final void unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru) Description copied from class:AColGroupUnary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed matrix. The range of rl to ru only applies to row aggregates. (ReduceCol)- Specified by:
unaryAggregateOperationsin classAColGroup- Parameters:
op- The operator usedc- The output matrix blocknRows- The total number of rows in the Column Grouprl- The starting row to do aggregation fromru- The last row to do aggregation to (not included)
-
unaryAggregateOperations
public final void unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru, double[] preAgg) -
tsmm
Description copied from class:AColGroupDo a transposed self matrix multiplication on the left side t(x) %*% x. but only with this column group. This gives better performance since there is no need to iterate through all the rows of the matrix, but the execution can be limited to its number of distinct values. Note it only calculate the upper triangle -
isEmpty
public boolean isEmpty()Description copied from class:AColGroupGet if the group is only containing zero
-