Class OperationsOnMatrixValues
- java.lang.Object
- 
- org.apache.sysds.runtime.matrix.data.OperationsOnMatrixValues
 
- 
 public class OperationsOnMatrixValues extends Object 
- 
- 
Constructor SummaryConstructors Constructor Description OperationsOnMatrixValues()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static voidincrementalAggregation(MatrixValue valueAgg, MatrixValue correction, MatrixValue valueAdd, AggregateOperator op, boolean embeddedCorrection)static voidincrementalAggregation(MatrixValue valueAgg, MatrixValue correction, MatrixValue valueAdd, AggregateOperator op, boolean embeddedCorrection, boolean deep)static MatrixBlockmatMult(MatrixBlock value1, MatrixBlock value2, MatrixBlock valueOut, AggregateBinaryOperator op)static MatrixBlockmatMult(MatrixBlock value1, MatrixBlock value2, AggregateBinaryOperator op)static MatrixBlockmatMult(MatrixIndexes indexes1, MatrixBlock value1, MatrixIndexes indexes2, MatrixBlock value2, MatrixIndexes indexesOut, MatrixBlock valueOut, AggregateBinaryOperator op)static voidperformAggregateUnary(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, AggregateUnaryOperator op, int blen)static voidperformAppend(MatrixValue valueIn1, MatrixValue valueIn2, ArrayList<IndexedMatrixValue> outlist, int blen, boolean cbind, boolean m2IsLast, int nextNCol)static voidperformBinaryIgnoreIndexes(MatrixValue value1, MatrixValue value2, MatrixValue valueOut, BinaryOperator op)static voidperformCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock, Operator op)static voidperformCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)static voidperformCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)static voidperformCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)static voidperformCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)static voidperformMapGroupedAggregate(Operator op, IndexedMatrixValue inTarget, MatrixBlock groups, int ngroups, int blen, ArrayList<IndexedMatrixValue> outlist)static voidperformReorg(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, ReorgOperator op, int startRow, int startColumn, int length)static voidperformShift(IndexedMatrixValue in, IndexRange ixrange, int blen, long rlen, long clen, ArrayList<IndexedMatrixValue> outlist)static voidperformShift(Pair<Long,FrameBlock> in, IndexRange ixrange, int blenLeft, long rlen, long clen, ArrayList<Pair<Long,FrameBlock>> outlist)static ArrayList<IndexedMatrixValue>performSlice(IndexedMatrixValue in, IndexRange ixrange, int blen)static ArrayList<Pair<Long,FrameBlock>>performSlice(Pair<Long,FrameBlock> in, IndexRange ixrange, int blen)This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.static ListperformSlice(IndexRange ixrange, int blen, int iix, int jix, CacheBlock in)Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix into blocks.static ArrayListperformSlice(IndexRange ixrange, int blen, int iix, int jix, FrameBlock in)static ListperformSlice(IndexRange ixrange, int blen, int iix, int jix, MatrixBlock in)static voidperformZeroOut(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, IndexRange range, boolean complementary)static voidstartAggregation(MatrixValue valueOut, MatrixValue correction, AggregateOperator op, int rlen, int clen, boolean sparseHint, boolean embeddedCorrection)
 
- 
- 
- 
Method Detail- 
performReorgpublic static void performReorg(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, ReorgOperator op, int startRow, int startColumn, int length) 
 - 
performAppendpublic static void performAppend(MatrixValue valueIn1, MatrixValue valueIn2, ArrayList<IndexedMatrixValue> outlist, int blen, boolean cbind, boolean m2IsLast, int nextNCol) 
 - 
performZeroOutpublic static void performZeroOut(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, IndexRange range, boolean complementary) 
 - 
performCtablepublic static void performCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op) 
 - 
performCtablepublic static void performCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op) 
 - 
performCtablepublic static void performCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op) 
 - 
performCtablepublic static void performCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock, Operator op) 
 - 
performCtablepublic static void performCtable(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op) 
 - 
performBinaryIgnoreIndexespublic static void performBinaryIgnoreIndexes(MatrixValue value1, MatrixValue value2, MatrixValue valueOut, BinaryOperator op) 
 - 
startAggregationpublic static void startAggregation(MatrixValue valueOut, MatrixValue correction, AggregateOperator op, int rlen, int clen, boolean sparseHint, boolean embeddedCorrection) 
 - 
incrementalAggregationpublic static void incrementalAggregation(MatrixValue valueAgg, MatrixValue correction, MatrixValue valueAdd, AggregateOperator op, boolean embeddedCorrection) 
 - 
incrementalAggregationpublic static void incrementalAggregation(MatrixValue valueAgg, MatrixValue correction, MatrixValue valueAdd, AggregateOperator op, boolean embeddedCorrection, boolean deep) 
 - 
performAggregateUnarypublic static void performAggregateUnary(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, AggregateUnaryOperator op, int blen) 
 - 
matMultpublic static MatrixBlock matMult(MatrixIndexes indexes1, MatrixBlock value1, MatrixIndexes indexes2, MatrixBlock value2, MatrixIndexes indexesOut, MatrixBlock valueOut, AggregateBinaryOperator op) 
 - 
matMultpublic static MatrixBlock matMult(MatrixBlock value1, MatrixBlock value2, AggregateBinaryOperator op) 
 - 
matMultpublic static MatrixBlock matMult(MatrixBlock value1, MatrixBlock value2, MatrixBlock valueOut, AggregateBinaryOperator op) 
 - 
performSlicepublic static List performSlice(IndexRange ixrange, int blen, int iix, int jix, CacheBlock in) Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix into blocks. The slice call here returns a single block inside the idx range specified- Parameters:
- ixrange- Index range containing the row lower, row upper, col lower and col upper bounds
- blen- The block size specified, this should align with the ranges.
- iix- The block row index
- jix- The block column index
- in- The Cache block to slice out
- Returns:
- A List containing pairs of MatrixIndices and CacheBlocks either containing MatrixBlock or FrameBlocks
 
 - 
performSlicepublic static List performSlice(IndexRange ixrange, int blen, int iix, int jix, MatrixBlock in) 
 - 
performSlicepublic static ArrayList<IndexedMatrixValue> performSlice(IndexedMatrixValue in, IndexRange ixrange, int blen) 
 - 
performShiftpublic static void performShift(IndexedMatrixValue in, IndexRange ixrange, int blen, long rlen, long clen, ArrayList<IndexedMatrixValue> outlist) 
 - 
performMapGroupedAggregatepublic static void performMapGroupedAggregate(Operator op, IndexedMatrixValue inTarget, MatrixBlock groups, int ngroups, int blen, ArrayList<IndexedMatrixValue> outlist) 
 - 
performSlicepublic static ArrayList performSlice(IndexRange ixrange, int blen, int iix, int jix, FrameBlock in) 
 - 
performSlicepublic static ArrayList<Pair<Long,FrameBlock>> performSlice(Pair<Long,FrameBlock> in, IndexRange ixrange, int blen) This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.- Parameters:
- in- A Pair of row index to assign the sliced block and input frame block to slice.
- ixrange- index range
- blen- block length
- Returns:
- Returns an ArrayList containing pairs of long ids and FrameBlocks
 
 - 
performShiftpublic static void performShift(Pair<Long,FrameBlock> in, IndexRange ixrange, int blenLeft, long rlen, long clen, ArrayList<Pair<Long,FrameBlock>> outlist) 
 
- 
 
-