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
public abstract class AColGroupCompressed extends AColGroup
Base class for column groups encoded Encoded in a compressed manner.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.compress.colgroup.AColGroup
AColGroup.CompressionType
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description double
getMax()
Short hand method for getting maximum value contained in this column group.double
getMin()
Short hand method for getting minimum value contained in this column group.double
getSum(int nRows)
Short hand method for getting the sum of this column groupboolean
isEmpty()
Get if the group is only containing zerodouble[]
preAggRows(ValueFunction fn)
abstract boolean
sameIndexStructure(AColGroupCompressed that)
void
tsmm(MatrixBlock ret, int nRows)
Do a transposed self matrix multiplication on the left side t(x) %*% x.void
unaryAggregateOperations(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.void
unaryAggregateOperations(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, computeColSums, containsValue, copyAndSet, decompressToDenseBlock, decompressToDenseBlock, decompressToSparseBlock, decompressToSparseBlock, estimateInMemorySize, get, getColIndices, getCompressionInfo, getCompressionScheme, getCompType, getCost, getEncoding, getExactSizeOnDisk, getIdx, getNumberNonZeros, getNumCols, getNumValues, leftMultByAColGroup, leftMultByMatrixNoPreAgg, morph, recompress, replace, rexpandCols, rightMultByMatrix, rightMultByMatrix, scalarOperation, shiftColIndices, sliceColumn, sliceColumns, sliceRows, sortColumnIndexes, toString, tsmmAColGroup, unaryOperation
-
-
-
-
Method Detail
-
sameIndexStructure
public abstract boolean sameIndexStructure(AColGroupCompressed that)
-
preAggRows
public double[] preAggRows(ValueFunction fn)
-
getMin
public double getMin()
Description copied from class:AColGroup
Short hand method for getting minimum value contained in this column group.
-
getMax
public double getMax()
Description copied from class:AColGroup
Short hand method for getting maximum value contained in this column group.
-
getSum
public double getSum(int nRows)
Description copied from class:AColGroup
Short 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:AColGroup
Unary 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:
unaryAggregateOperations
in 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
public final void tsmm(MatrixBlock ret, int nRows)
Description copied from class:AColGroup
Do 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
-
-