## Uses of Class
org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator

Packages that use AggregateUnaryOperator
org.apache.sysds.runtime.compress
org.apache.sysds.runtime.compress.colgroup
org.apache.sysds.runtime.compress.lib
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.data
org.apache.sysds.runtime.instructions
org.apache.sysds.runtime.instructions.spark
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.meta

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress

Methods in org.apache.sysds.runtime.compress with parameters of type AggregateUnaryOperator
`MatrixBlock` CompressedMatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`MatrixBlock` CompressedMatrixBlock.`uaggouterchainOperations(MatrixBlock mbLeft, MatrixBlock mbRight, MatrixBlock mbOut, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress.colgroup

Methods in org.apache.sysds.runtime.compress.colgroup with parameters of type AggregateUnaryOperator
`void` ColGroupUncompressed.`unaryAggregateOperations(AggregateUnaryOperator op, double[] result, int nRows, int rl, int ru)`
`void` ColGroupCompressed.`unaryAggregateOperations(AggregateUnaryOperator op, double[] c, int nRows, int rl, int ru)`
`abstract void` AColGroup.`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.

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.compress.lib

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

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.controlprogram.federated

Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type AggregateUnaryOperator
`static MatrixBlock` FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)`
`static ScalarObject` FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr)`
`static ScalarObject` FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
`static ScalarObject` FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.data

Methods in org.apache.sysds.runtime.data with parameters of type AggregateUnaryOperator
`BasicTensorBlock` BasicTensorBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, BasicTensorBlock result)` Aggregate a unary operation on this tensor.
`static void` LibTensorAgg.`aggregateUnaryTensor(BasicTensorBlock in, BasicTensorBlock out, AggregateUnaryOperator uaop)` Aggregate a tensor-block with the given unary operator.
`static boolean` LibTensorAgg.`isSupportedUnaryAggregateOperator(AggregateUnaryOperator op)` Determines whether the unary operator is supported.

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.instructions

Methods in org.apache.sysds.runtime.instructions that return AggregateUnaryOperator
`static AggregateUnaryOperator` InstructionUtils.`parseAggregateUnaryRowIndexOperator(String opcode, int numOutputs, int numThreads)`
`static AggregateUnaryOperator` InstructionUtils.`parseBasicAggregateUnaryOperator(String opcode)`
`static AggregateUnaryOperator` InstructionUtils.`parseBasicAggregateUnaryOperator(String opcode, int numThreads)`
`static AggregateUnaryOperator` InstructionUtils.`parseBasicCumulativeAggregateUnaryOperator(UnaryOperator uop)`
`static AggregateUnaryOperator` InstructionUtils.`parseCumulativeAggregateUnaryOperator(String opcode)`

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.instructions.spark

Constructors in org.apache.sysds.runtime.instructions.spark with parameters of type AggregateUnaryOperator
Constructor and Description
`RDDBinUaggChainFunction(BinaryOperator bop, AggregateUnaryOperator uaggop)`
`RDDUAggFunction2(AggregateUnaryOperator op, int blen)`
`RDDUTensorAggFunction2(AggregateUnaryOperator op)`

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.matrix.data

Methods in org.apache.sysds.runtime.matrix.data with parameters of type AggregateUnaryOperator
`static void` LibMatrixOuterAgg.`aggregateMatrix(MatrixBlock in1Val, MatrixBlock outVal, double[] bv, int[] bvi, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`static void` LibMatrixAgg.`aggregateUnaryMatrix(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop)`
`static void` LibMatrixAgg.`aggregateUnaryMatrix(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop, int k)`
`MatrixValue` MatrixCell.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
`abstract MatrixValue` MatrixValue.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
`MatrixValue` WeightedCell.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
`MatrixBlock` MatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)`
`MatrixValue` CM_N_COVCell.`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, boolean inCP)`
`MatrixBlock` MatrixBlock.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`MatrixValue` CM_N_COVCell.`aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)`
`static boolean` LibMatrixOuterAgg.`isRowIndexMax(AggregateUnaryOperator uaggOp)` This will return if uaggOp is of type RowIndexMax
`static boolean` LibMatrixOuterAgg.`isRowIndexMin(AggregateUnaryOperator uaggOp)` This will return if uaggOp is of type RowIndexMin
`static boolean` LibMatrixOuterAgg.`isSupportedUaggOp(AggregateUnaryOperator uaggOp, BinaryOperator bOp)`
`static boolean` LibMatrixAgg.`isSupportedUnaryAggregateOperator(AggregateUnaryOperator op)`
`static void` OperationsOnMatrixValues.`performAggregateUnary(MatrixIndexes indexesIn, MatrixValue valueIn, MatrixIndexes indexesOut, MatrixValue valueOut, AggregateUnaryOperator op, int blen)`
`MatrixBlock` MatrixBlock.`prepareAggregateUnaryOutput(AggregateUnaryOperator op, MatrixValue result, int blen)`
`static int[]` LibMatrixOuterAgg.`prepareRowIndices(int iCols, double[] vmb, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`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
`static boolean` LibMatrixAgg.`satisfiesMultiThreadingConstraints(MatrixBlock in, MatrixBlock out, AggregateUnaryOperator uaop, int k)`
`MatrixBlock` MatrixBlock.`uaggouterchainOperations(MatrixBlock mbLeft, MatrixBlock mbRight, MatrixBlock mbOut, BinaryOperator bOp, AggregateUnaryOperator uaggOp)`
`static void` LibMatrixCUDA.`unaryAggregate(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, String output, AggregateUnaryOperator op)` Entry point to perform Unary aggregate operations on the GPU.

### Uses of AggregateUnaryOperator in org.apache.sysds.runtime.meta

Methods in org.apache.sysds.runtime.meta with parameters of type AggregateUnaryOperator
`static void` DataCharacteristics.`aggregateUnary(DataCharacteristics dim, AggregateUnaryOperator op, DataCharacteristics dimOut)`