## Uses of Class
org.apache.sysds.runtime.matrix.data.MatrixIndexes

- Packages that use MatrixIndexes
  Package | Description
  --- | ---
  org.apache.sysds.api.mlcontext |
  org.apache.sysds.runtime.compress |
  org.apache.sysds.runtime.compress.lib |
  org.apache.sysds.runtime.controlprogram.context |
  org.apache.sysds.runtime.controlprogram.paramserv |
  org.apache.sysds.runtime.controlprogram.parfor |
  org.apache.sysds.runtime.controlprogram.parfor.util |
  org.apache.sysds.runtime.functionobjects |
  org.apache.sysds.runtime.instructions.spark |
  org.apache.sysds.runtime.instructions.spark.data |
  org.apache.sysds.runtime.instructions.spark.functions |
  org.apache.sysds.runtime.instructions.spark.utils |
  org.apache.sysds.runtime.matrix.data |
  org.apache.sysds.runtime.util |

- - ### Uses of MatrixIndexes in org.apache.sysds.api.mlcontext

    Methods in org.apache.sysds.api.mlcontext that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | MLContextConversionUtil.`dataFrameToMatrixBinaryBlocks​(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame)` | Convert a `DataFrame` to a `JavaPairRDD<MatrixIndexes, MatrixBlock>` binary-block matrix.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | MLContextConversionUtil.`dataFrameToMatrixBinaryBlocks​(org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> dataFrame, MatrixMetadata matrixMetadata)` | Convert a `DataFrame` to a `JavaPairRDD<MatrixIndexes, MatrixBlock>` binary-block matrix.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | MLContextConversionUtil.`matrixObjectToBinaryBlocks​(MatrixObject matrixObject, SparkExecutionContext sparkExecutionContext)` | Convert a `MatrixObject` to a `JavaPairRDD<MatrixIndexes, MatrixBlock>`.
    `org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | Matrix.`toBinaryBlocks()` | Obtain the matrix as a `JavaPairRDD<MatrixIndexes, MatrixBlock>`

    Method parameters in org.apache.sysds.api.mlcontext with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | MLContextConversionUtil.`binaryBlocksToMatrixBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> binaryBlocks, MatrixMetadata matrixMetadata)` | Convert a `JavaPairRDD<MatrixIndexes, MatrixBlock>` to a `MatrixBlock`
    `static MatrixObject` | MLContextConversionUtil.`binaryBlocksToMatrixObject​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> binaryBlocks)` | Convert a `JavaPairRDD<MatrixIndexes, MatrixBlock>` to a `MatrixObject`.
    `static MatrixObject` | MLContextConversionUtil.`binaryBlocksToMatrixObject​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> binaryBlocks, MatrixMetadata matrixMetadata)` | Convert a `JavaPairRDD<MatrixIndexes, MatrixBlock>` to a `MatrixObject`.

    Constructor parameters in org.apache.sysds.api.mlcontext with type arguments of type MatrixIndexes
    Constructor | Description
    --- | ---
    `Matrix​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> binaryBlocks, MatrixMetadata matrixMetadata)` | Create a Matrix, specifying the SystemDS binary-block matrix and its metadata.

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.compress

    Methods in org.apache.sysds.runtime.compress with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixBlock` | CompressedMatrixBlock.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)` |
    `void` | CompressedMatrixBlock.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalar, boolean left, int brlen, CTableMap resultMap, MatrixBlock resultBlock)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.compress.lib

    Methods in org.apache.sysds.runtime.compress.lib with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | CLALibCompAgg.`aggregateUnary​(CompressedMatrixBlock inputMatrix, MatrixBlock result, AggregateUnaryOperator op, int blen, MatrixIndexes indexesIn, boolean inCP)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.controlprogram.context

    Methods in org.apache.sysds.runtime.controlprogram.context that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkExecutionContext.`getBinaryMatrixBlockRDDHandleForVariable​(String varname)` | Spark instructions should call this for all matrix inputs except broadcast variables.
    `org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkExecutionContext.`getBinaryMatrixBlockRDDHandleForVariable​(String varname, int numParts, boolean inclEmpty)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkExecutionContext.`toMatrixJavaPairRDD​(org.apache.spark.api.java.JavaSparkContext sc, MatrixBlock src, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkExecutionContext.`toMatrixJavaPairRDD​(org.apache.spark.api.java.JavaSparkContext sc, MatrixBlock src, int blen, int numParts, boolean inclEmpty)` |

    Method parameters in org.apache.sysds.runtime.controlprogram.context with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | SparkExecutionContext.`toMatrixBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> rdd, int rlen, int clen, int blen, long nnz)` | Utility method for creating a single matrix block out of a binary block RDD.
    `static MatrixBlock` | SparkExecutionContext.`toMatrixBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> rdd, int rlen, int clen, long nnz)` | Utility method for creating a single matrix block out of a binary cell RDD.
    `static PartitionedBlock<MatrixBlock>` | SparkExecutionContext.`toPartitionedMatrixBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> rdd, int rlen, int clen, int blen, long nnz)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.controlprogram.paramserv

    Method parameters in org.apache.sysds.runtime.controlprogram.paramserv with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static org.apache.spark.api.java.JavaPairRDD<Long,​scala.Tuple2<MatrixBlock,​MatrixBlock>>` | SparkParamservUtils.`assembleTrainingData​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> featuresRDD, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> labelsRDD)` | Assemble the matrix of features and labels according to the rowID

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.controlprogram.parfor

    Methods in org.apache.sysds.runtime.controlprogram.parfor that return MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixIndexes` | ResultMergeTaggedMatrixIndexes.`getIndexes()` |

    Methods in org.apache.sysds.runtime.controlprogram.parfor that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ResultMergeRemoteSparkWCompare.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<Iterable<MatrixBlock>,​MatrixBlock>> arg)` |

    Method parameters in org.apache.sysds.runtime.controlprogram.parfor with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `Iterator<scala.Tuple2<Long,​org.apache.hadoop.io.Writable>>` | DataPartitionerRemoteSparkMapper.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ResultMergeRemoteSparkWCompare.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<Iterable<MatrixBlock>,​MatrixBlock>> arg)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.controlprogram.parfor.util

    Fields in org.apache.sysds.runtime.controlprogram.parfor.util declared as MatrixIndexes
    Modifier and Type | Field | Description
    --- | --- | ---
    `MatrixIndexes` | PairWritableBlock.`indexes` |
    `MatrixIndexes` | PairWritableCell.`indexes` |

    Constructors in org.apache.sysds.runtime.controlprogram.parfor.util with parameters of type MatrixIndexes
    Constructor | Description
    --- | ---
    `PairWritableBlock​(MatrixIndexes ix, MatrixBlock mb)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.functionobjects

    Methods in org.apache.sysds.runtime.functionobjects that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `Pair<MatrixIndexes,​Double>` | CTable.`execute​(long row, double v2, double w)` |

    Methods in org.apache.sysds.runtime.functionobjects with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DiagIndex.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `abstract void` | IndexFunction.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | OffsetColumnIndex.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | ReduceAll.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | ReduceCol.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | ReduceDiag.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | ReduceRow.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | RevIndex.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | SortIndex.`execute​(MatrixIndexes in, MatrixIndexes out)` |
    `void` | SwapIndex.`execute​(MatrixIndexes in, MatrixIndexes out)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.instructions.spark

    Methods in org.apache.sysds.runtime.instructions.spark that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | AppendGAlignedSPInstruction.ShiftColumnIndex.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | AppendGSPInstruction.MergeWithShiftedBlocks.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<Iterable<MatrixBlock>,​Iterable<MatrixBlock>>> kv)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | AppendGSPInstruction.ShiftMatrix.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | BuiltinNarySPInstruction.PadBlocksFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<MatrixBlock,​MatrixBlock>> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRExpandFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> in)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | SpoofSPInstruction.ReplicateRightFactorFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |

    Method parameters in org.apache.sysds.runtime.instructions.spark with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixBlock` | AggregateUnarySPInstruction.RDDUAggFunction2.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | AppendGAlignedSPInstruction.ShiftColumnIndex.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | AppendGSPInstruction.MergeWithShiftedBlocks.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<Iterable<MatrixBlock>,​Iterable<MatrixBlock>>> kv)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | AppendGSPInstruction.ShiftMatrix.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | BuiltinNarySPInstruction.PadBlocksFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `MatrixBlock` | ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<MatrixBlock,​MatrixBlock>> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ParameterizedBuiltinSPInstruction.RDDRExpandFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> in)` |
    `scala.Tuple2<Long,​FrameBlock>` | ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> in)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | SpoofSPInstruction.ReplicateRightFactorFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `static MatrixBlock` | MatrixIndexingSPInstruction.`inmemoryIndexing​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in1, DataCharacteristics mcIn, DataCharacteristics mcOut, IndexRange ixrange)` |
    `static Long` | CompressionSPInstruction.`reduceSizes​(List<scala.Tuple2<MatrixIndexes,​Long>> in)` |
    `void` | ParameterizedBuiltinSPInstruction.`setOutputCharacteristicsForGroupedAgg​(DataCharacteristics mc1, DataCharacteristics mcOut, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> out)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.instructions.spark.data

    Methods in org.apache.sysds.runtime.instructions.spark.data that return MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixIndexes` | IndexedMatrixValue.`getIndexes()` |

    Methods in org.apache.sysds.runtime.instructions.spark.data with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | IndexedMatrixValue.`set​(MatrixIndexes indexes2, MatrixValue block2)` |

    Constructors in org.apache.sysds.runtime.instructions.spark.data with parameters of type MatrixIndexes
    Constructor | Description
    --- | ---
    `IndexedMatrixValue​(MatrixIndexes ind, MatrixValue b)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.instructions.spark.functions

    Methods in org.apache.sysds.runtime.instructions.spark.functions that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `scala.Tuple2<MatrixIndexes,​MatrixCell>` | CopyBinaryCellFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixCell> arg0)` |
    `LazyIterableIterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | CopyMatrixBlockPairFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ExtractBlockForBinaryReblock.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroup.ExtractGroupBroadcast.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroup.ExtractGroupJoin.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<MatrixBlock,​MatrixBlock>> arg)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroupNWeights.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<scala.Tuple2<MatrixBlock,​MatrixBlock>,​MatrixBlock>> arg)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | GetMIMBFromRow.`call​(org.apache.spark.sql.Row row)` |
    `LazyIterableIterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | MatrixVectorBinaryOpPartitionFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ReorgMapFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ReplicateBlockFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ReplicateVectorFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |

    Method parameters in org.apache.sysds.runtime.instructions.spark.functions with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `Iterator<String>` | ConvertMatrixBlockToIJVLines.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `scala.Tuple2<MatrixIndexes,​MatrixCell>` | CopyBinaryCellFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixCell> arg0)` |
    `LazyIterableIterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | CopyMatrixBlockPairFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ExtractBlockForBinaryReblock.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroup.ExtractGroupBroadcast.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroup.ExtractGroupJoin.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<MatrixBlock,​MatrixBlock>> arg)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​WeightedCell>>` | ExtractGroupNWeights.`call​(scala.Tuple2<MatrixIndexes,​scala.Tuple2<scala.Tuple2<MatrixBlock,​MatrixBlock>,​MatrixBlock>> arg)` |
    `Boolean` | FilterDiagMatrixBlocksFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Boolean` | FilterNonEmptyBlocksFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Boolean` | IsBlockInList.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `Boolean` | IsBlockInRange.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> kv)` |
    `LazyIterableIterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | MatrixVectorBinaryOpPartitionFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>> arg0)` |
    `org.apache.sysds.runtime.instructions.spark.functions.OuterVectorBinaryOpFunction.OuterVectorBinaryOpIterator` | OuterVectorBinaryOpFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `scala.Tuple2<MatrixIndexes,​MatrixBlock>` | ReorgMapFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ReplicateBlockFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | ReplicateVectorFunction.`call​(scala.Tuple2<MatrixIndexes,​MatrixBlock> arg0)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.instructions.spark.utils

    Methods in org.apache.sysds.runtime.instructions.spark.utils that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop, int numPartitions, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`binaryBlockToBinaryBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mcIn, DataCharacteristics mcOut)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | FrameRDDConverterUtils.`binaryBlockToMatrixBlock​(org.apache.spark.api.java.JavaPairRDD<Long,​FrameBlock> input, DataCharacteristics mcIn, DataCharacteristics mcOut)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`binaryCellToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> input, DataCharacteristics mcOut, boolean outputEmptyBlocks)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell>` | SparkUtils.`cacheBinaryCellRDD​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> input)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | RDDConverterUtils.BinaryCellToBinaryBlockFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixCell>> arg0)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtilsExt.`coordinateMatrixToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.mllib.linalg.distributed.CoordinateMatrix input, DataCharacteristics mcIn, boolean outputEmptyBlocks)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtilsExt.`coordinateMatrixToBinaryBlock​(org.apache.spark.SparkContext sc, org.apache.spark.mllib.linalg.distributed.CoordinateMatrix input, DataCharacteristics mcIn, boolean outputEmptyBlocks)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkUtils.`copyBinaryBlockMatrix​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` | Creates a partitioning-preserving deep copy of the input matrix RDD, where the indexes and values are copied.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkUtils.`copyBinaryBlockMatrix​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deep)` | Creates a partitioning-preserving copy of the input matrix RDD.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`csvToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<org.apache.hadoop.io.LongWritable,​org.apache.hadoop.io.Text> input, DataCharacteristics mc, boolean hasHeader, String delim, boolean fill, double fillValue, Set<String> naStrings)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`csvToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaRDD<String> input, DataCharacteristics mcOut, boolean hasHeader, String delim, boolean fill, double fillValue, Set<String> naStrings)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`dataFrameToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.sql.Dataset<org.apache.spark.sql.Row> df, DataCharacteristics mc, boolean containsID, boolean isVector)` |
    `static List<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | SparkUtils.`fromIndexedMatrixBlock​(List<IndexedMatrixValue> in)` |
    `static scala.Tuple2<MatrixIndexes,​MatrixBlock>` | SparkUtils.`fromIndexedMatrixBlock​(IndexedMatrixValue in)` |
    `static List<Pair<MatrixIndexes,​MatrixBlock>>` | SparkUtils.`fromIndexedMatrixBlockToPair​(List<IndexedMatrixValue> in)` |
    `static Pair<MatrixIndexes,​MatrixBlock>` | SparkUtils.`fromIndexedMatrixBlockToPair​(IndexedMatrixValue in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkUtils.`getEmptyBlockRDD​(org.apache.spark.api.java.JavaSparkContext sc, DataCharacteristics mc)` | Creates an RDD of empty blocks according to the given matrix characteristics.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`libsvmToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<org.apache.hadoop.io.LongWritable,​org.apache.hadoop.io.Text> input, DataCharacteristics mc, String delim, String indexDelim)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deepCopyCombiner)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, int numPartitions, boolean deepCopyCombiner)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeRowsByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​RowMatrixBlock> in)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in2, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByIx​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> ixmap, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByValMemSort​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, int blen, SparkExecutionContext sec, ReorgOperator r_op)` | This function collects and sorts value column in memory and then broadcasts it.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, long clen2, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortIndexesByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, boolean asc, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortIndexesByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean asc, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, int numPartitions, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double>` | RDDAggregateUtils.`sumCellsByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double> in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double>` | RDDAggregateUtils.`sumCellsByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double> in, int numParts)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`textCellToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<org.apache.hadoop.io.LongWritable,​org.apache.hadoop.io.Text> input, DataCharacteristics mcOut, boolean outputEmptyBlocks, FileFormatPropertiesMM mmProps)` |

    Methods in org.apache.sysds.runtime.instructions.spark.utils with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IndexedMatrixValue` | SparkUtils.`toIndexedMatrixBlock​(MatrixIndexes ix, MatrixBlock mb)` |

    Method parameters in org.apache.sysds.runtime.instructions.spark.utils with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`aggByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop, int numPartitions, boolean deepCopyCombiner)` |
    `static MatrixBlock` | RDDAggregateUtils.`aggStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, AggregateOperator aop)` | Single block aggregation over pair rdds with corrections for numerical stability.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`binaryBlockToBinaryBlock​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mcIn, DataCharacteristics mcOut)` |
    `static org.apache.spark.api.java.JavaRDD<String>` | RDDConverterUtils.`binaryBlockToCsv​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mcIn, FileFormatPropertiesCSV props, boolean strict)` |
    `static org.apache.spark.sql.Dataset<org.apache.spark.sql.Row>` | RDDConverterUtils.`binaryBlockToDataFrame​(org.apache.spark.sql.SparkSession sparkSession, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mc, boolean toVector)` |
    `static org.apache.spark.sql.Dataset<org.apache.spark.sql.Row>` | RDDConverterUtils.`binaryBlockToDataFrame​(org.apache.spark.sql.SQLContext sqlContext, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mc, boolean toVector)` | Deprecated.
    `static org.apache.spark.api.java.JavaRDD<org.apache.spark.ml.feature.LabeledPoint>` | RDDConverterUtils.`binaryBlockToLabeledPoints​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` | Converter from binary block rdd to rdd of labeled points.
    `static org.apache.spark.api.java.JavaRDD<String>` | RDDConverterUtils.`binaryBlockToLibsvm​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mcIn, FileFormatPropertiesLIBSVM props, boolean strict)` |
    `static org.apache.spark.api.java.JavaRDD<String>` | RDDConverterUtils.`binaryBlockToTextCell​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, DataCharacteristics mc)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDConverterUtils.`binaryCellToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> input, DataCharacteristics mcOut, boolean outputEmptyBlocks)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell>` | SparkUtils.`cacheBinaryCellRDD​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> input)` |
    `Iterator<scala.Tuple2<MatrixIndexes,​MatrixBlock>>` | RDDConverterUtils.BinaryCellToBinaryBlockFunction.`call​(Iterator<scala.Tuple2<MatrixIndexes,​MatrixCell>> arg0)` |
    `static DataCharacteristics` | SparkUtils.`computeDataCharacteristics​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixCell> input)` | Utility to compute dimensions and non-zeros in a given RDD of binary cells.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkUtils.`copyBinaryBlockMatrix​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` | Creates a partitioning-preserving deep copy of the input matrix RDD, where the indexes and values are copied.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | SparkUtils.`copyBinaryBlockMatrix​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deep)` | Creates a partitioning-preserving copy of the input matrix RDD.
    `static long` | SparkUtils.`getNonZeros​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> input)` |
    `static org.apache.spark.api.java.JavaPairRDD<org.apache.hadoop.io.LongWritable,​FrameBlock>` | FrameRDDConverterUtils.`matrixBlockToBinaryBlock​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> input, DataCharacteristics mcIn)` |
    `static org.apache.spark.api.java.JavaPairRDD<Long,​FrameBlock>` | FrameRDDConverterUtils.`matrixBlockToBinaryBlockLongIndex​(org.apache.spark.api.java.JavaSparkContext sc, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> input, DataCharacteristics dcIn)` |
    `static double` | RDDAggregateUtils.`max​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deepCopyCombiner)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, int numPartitions, boolean deepCopyCombiner)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`mergeRowsByKey​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​RowMatrixBlock> in)` | Merges disjoint data of all blocks per key.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in2, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByIx​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> ixmap, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByValMemSort​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, int blen, SparkExecutionContext sec, ReorgOperator r_op)` | This function collects and sorts value column in memory and then broadcasts it.
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortDataByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> data, boolean asc, long rlen, long clen, long clen2, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortIndexesByVal​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> val, boolean asc, long rlen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDSortUtils.`sortIndexesByVals​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean asc, long rlen, long clen, int blen)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock>` | RDDAggregateUtils.`sumByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in, int numPartitions, boolean deepCopyCombiner)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double>` | RDDAggregateUtils.`sumCellsByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double> in)` |
    `static org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double>` | RDDAggregateUtils.`sumCellsByKeyStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​Double> in, int numParts)` |
    `static MatrixBlock` | RDDAggregateUtils.`sumStable​(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,​MatrixBlock> in)` |
    `static IndexedMatrixValue` | SparkUtils.`toIndexedMatrixBlock​(scala.Tuple2<MatrixIndexes,​MatrixBlock> in)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.matrix.data

    Methods in org.apache.sysds.runtime.matrix.data that return MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixIndexes` | MatrixIndexes.`setIndexes​(long r, long c)` |
    `MatrixIndexes` | MatrixIndexes.`setIndexes​(MatrixIndexes that)` |

    Methods in org.apache.sysds.runtime.matrix.data that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `Pair<MatrixIndexes,​MatrixCell>` | TextToBinaryCellConverter.`next()` |

    Methods in org.apache.sysds.runtime.matrix.data with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixValue` | CM_N_COVCell.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)` |
    `MatrixValue` | CM_N_COVCell.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)` |
    `MatrixBlock` | MatrixBlock.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)` |
    `MatrixBlock` | MatrixBlock.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)` |
    `MatrixValue` | MatrixCell.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)` |
    `MatrixValue` | MatrixCell.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)` |
    `abstract MatrixValue` | MatrixValue.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)` |
    `abstract MatrixValue` | MatrixValue.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)` |
    `MatrixValue` | WeightedCell.`aggregateUnaryOperations​(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)` |
    `int` | MatrixIndexes.`compare​(MatrixIndexes m1, MatrixIndexes m2)` |
    `int` | MatrixIndexes.`compareTo​(MatrixIndexes other)` |
    `void` | BinaryBlockToTextCellConverter.`convert​(MatrixIndexes k1, MatrixBlock v1)` | Before calling convert, please make sure to setBlockSize(blen, blen);
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | MatrixBlock.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` | Specific ctable case of ctable(seq(...),X), where X is the only matrix input.
    `void` | MatrixCell.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` |
    `abstract void` | MatrixValue.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalar_that, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` |
    `static MatrixBlock` | OperationsOnMatrixValues.`matMult​(MatrixIndexes indexes1, MatrixBlock value1, MatrixIndexes indexes2, MatrixBlock value2, MatrixIndexes indexesOut, MatrixBlock valueOut, AggregateBinaryOperator op)` |
    `static void` | OperationsOnMatrixValues.`performAggregateUnary​(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, AggregateUnaryOperator op, int blen)` |
    `static void` | OperationsOnMatrixValues.`performCtable​(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock, Operator op)` |
    `static void` | OperationsOnMatrixValues.`performCtable​(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)` |
    `static void` | OperationsOnMatrixValues.`performCtable​(MatrixIndexes indexesIn1, MatrixValue valueIn1, double scalarIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)` |
    `static void` | OperationsOnMatrixValues.`performCtable​(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, double scalarIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)` |
    `static void` | OperationsOnMatrixValues.`performCtable​(MatrixIndexes indexesIn1, MatrixValue valueIn1, MatrixIndexes indexesIn2, MatrixValue valueIn2, MatrixIndexes indexesIn3, MatrixValue valueIn3, CTableMap resultMap, MatrixBlock resultBlock, Operator op)` |
    `static void` | OperationsOnMatrixValues.`performReorg​(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, ReorgOperator op, int startRow, int startColumn, int length)` |
    `static void` | OperationsOnMatrixValues.`performZeroOut​(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, IndexRange range, boolean complementary)` |
    `static void` | LibMatrixAgg.`recomputeIndexes​(MatrixBlock out, AggregateUnaryOperator op, int blen, MatrixIndexes ix)` | Recompute outputs (e.g., maxindex or minindex) according to block indexes from MR.
    `static void` | LibMatrixOuterAgg.`resetOutputMatrix​(MatrixIndexes in1Ix, MatrixBlock in1Val, MatrixIndexes outIx, MatrixBlock outVal, AggregateUnaryOperator uaggOp)` | ReSet output matrix
    `MatrixIndexes` | MatrixIndexes.`setIndexes​(MatrixIndexes that)` |

    Constructors in org.apache.sysds.runtime.matrix.data with parameters of type MatrixIndexes
    Constructor | Description
    --- | ---
    `MatrixIndexes​(MatrixIndexes indexes)` |

  - ### Uses of MatrixIndexes in org.apache.sysds.runtime.util

    Methods in org.apache.sysds.runtime.util that return types with arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.apache.hadoop.mapred.RecordReader<MatrixIndexes,​MatrixBlock>` | BinaryBlockInputFormat.`getRecordReader​(org.apache.hadoop.mapred.InputSplit split, org.apache.hadoop.mapred.JobConf job, org.apache.hadoop.mapred.Reporter reporter)` |

    Methods in org.apache.sysds.runtime.util with parameters of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | UtilFunctions.`isInBlockRange​(MatrixIndexes ix, int blen, long rl, long ru, long cl, long cu)` |
    `static boolean` | UtilFunctions.`isInBlockRange​(MatrixIndexes ix, int blen, IndexRange ixrange)` |
    `boolean` | BinaryBlockRecordReader.`next​(MatrixIndexes key, MatrixBlock value)` |

    Method parameters in org.apache.sysds.runtime.util with type arguments of type MatrixIndexes
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixBlock` | DataConverter.`convertToMatrixBlock​(HashMap<MatrixIndexes,​Double> map)` |
    `static MatrixBlock` | DataConverter.`convertToMatrixBlock​(HashMap<MatrixIndexes,​Double> map, int rlen, int clen)` | NOTE: this method also ensures the specified matrix dimensions
    `static int` | LocalFileUtils.`readBlockSequenceFromLocal​(String fname, Pair<MatrixIndexes,​MatrixValue>[] outValues, HashMap<MatrixIndexes,​Integer> outMap)` |