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

Packages that use Operator
org.apache.sysds.runtime.compress
org.apache.sysds.runtime.instructions
org.apache.sysds.runtime.instructions.cp
org.apache.sysds.runtime.instructions.fed
org.apache.sysds.runtime.instructions.spark
org.apache.sysds.runtime.instructions.spark.functions
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.matrix.operators

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

Methods in org.apache.sysds.runtime.compress with parameters of type Operator
`void` CompressedMatrixBlock.`ctableOperations(Operator op, double scalar, double scalar2, CTableMap resultMap, MatrixBlock resultBlock)`
`void` CompressedMatrixBlock.`ctableOperations(Operator op, double scalar, MatrixValue that, CTableMap resultMap, MatrixBlock resultBlock)`
`void` CompressedMatrixBlock.`ctableOperations(Operator op, MatrixIndexes ix1, double scalar, boolean left, int brlen, CTableMap resultMap, MatrixBlock resultBlock)`
`void` CompressedMatrixBlock.`ctableOperations(Operator op, MatrixValue that, double scalar, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)`
`void` CompressedMatrixBlock.`ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap)`
`void` CompressedMatrixBlock.`ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`MatrixBlock` CompressedMatrixBlock.`groupedAggOperations(MatrixValue tgt, MatrixValue wghts, MatrixValue ret, int ngroups, Operator op)`
`MatrixBlock` CompressedMatrixBlock.`groupedAggOperations(MatrixValue tgt, MatrixValue wghts, MatrixValue ret, int ngroups, Operator op, int k)`

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

Methods in org.apache.sysds.runtime.instructions that return Operator
`Operator` Instruction.`getOperator()`
`static Operator` InstructionUtils.`parseBinaryOrBuiltinOperator(String opcode, CPOperand in1, CPOperand in2)`
`static Operator` InstructionUtils.`parseExtendedBinaryOrBuiltinOperator(String opcode, CPOperand in1, CPOperand in2)`
`static Operator` InstructionUtils.`parseGroupedAggOperator(String fn, String other)`

### Uses of Operator in org.apache.sysds.runtime.instructions.cp

Methods in org.apache.sysds.runtime.instructions.cp that return Operator
`Operator` BinaryCPInstruction.`getOperator()`

Methods in org.apache.sysds.runtime.instructions.cp with parameters of type Operator
`double` CM_COV_Object.`getRequiredPartialResult(Operator op)`
`double` CM_COV_Object.`getRequiredResult(Operator op)` Return the result of the aggregated operation given the operator.

Constructors in org.apache.sysds.runtime.instructions.cp with parameters of type Operator
Constructor and Description
`BuiltinNaryCPInstruction(Operator op, String opcode, String istr, CPOperand output, CPOperand... inputs)`
`DataGenCPInstruction(Operator op, Types.OpOpDG method, CPOperand out, CPOperand rows, CPOperand cols, String data, String schema, String opcode, String str)`
`EvalNaryCPInstruction(Operator op, String opcode, String istr, CPOperand output, CPOperand... inputs)`
`ParamservBuiltinCPInstruction(Operator op, LinkedHashMap<String,String> paramsMap, CPOperand out, String opcode, String istr)`

### Uses of Operator in org.apache.sysds.runtime.instructions.fed

Constructors in org.apache.sysds.runtime.instructions.fed with parameters of type Operator
Constructor and Description
`AggregateBinaryFEDInstruction(Operator op, CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr)`
`AggregateBinaryFEDInstruction(Operator op, CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr, FEDInstruction.FederatedOutput fedOut)`
`BinaryFEDInstruction(FEDInstruction.FEDType type, Operator op, CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr)`
`ReorgFEDInstruction(Operator op, CPOperand in1, CPOperand out, String opcode, String istr)`
`ReorgFEDInstruction(Operator op, CPOperand in1, CPOperand out, String opcode, String istr, FEDInstruction.FederatedOutput fedOut)`

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

Constructors in org.apache.sysds.runtime.instructions.spark with parameters of type Operator
Constructor and Description
`CreateMatrixCell(int blen, Operator op)`
`RDDMapGroupedAggFunction(PartitionedBroadcast<MatrixBlock> pbm, Operator op, int ngroups, int blen)`
`RDDMapGroupedAggFunction2(PartitionedBroadcast<MatrixBlock> pbm, Operator op, int ngroups)`

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

Constructors in org.apache.sysds.runtime.instructions.spark.functions with parameters of type Operator
Constructor and Description
`ExtractGroup(long blen, long ngroups, Operator op)`
`ExtractGroupBroadcast(PartitionedBroadcast<MatrixBlock> pbm, long blen, long ngroups, Operator op)`
`ExtractGroupJoin(long blen, long ngroups, Operator op)`
`PerformGroupByAggInCombiner(Operator op)`
`PerformGroupByAggInReducer(Operator op)`

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

Methods in org.apache.sysds.runtime.matrix.data with parameters of type Operator
`void` MatrixCell.`ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)`
`abstract void` MatrixValue.`ctableOperations(Operator op, double scalar_that, double scalar_that2, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixBlock.`ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)` D = ctable(A,v2,w) this <- A; scalar_that <- v2; scalar_that2 <- w; result <- D (i1,j1,v1) from input1 (this) (v2) from sclar_input2 (scalarThat) (w) from scalar_input3 (scalarThat2)
`void` CM_N_COVCell.`ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixCell.`ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`abstract void` MatrixValue.`ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap ctableResult, MatrixBlock ctableResultBlock)`
`void` MatrixBlock.`ctableOperations(Operator op, double scalarThat, MatrixValue that2Val, CTableMap resultMap, MatrixBlock resultBlock)` D = ctable(A,v2,W) this <- A; scalarThat <- v2; that2 <- W; result <- D (i1,j1,v1) from input1 (this) (v2) from sclar_input2 (scalarThat) (i3,j3,w) from input3 (that2)
`void` CM_N_COVCell.`ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`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)`
`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` CM_N_COVCell.`ctableOperations(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixCell.`ctableOperations(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap ctableResult, MatrixBlock ctableResultBlock)`
`abstract void` MatrixValue.`ctableOperations(Operator op, MatrixValue that, double scalar_that2, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixBlock.`ctableOperations(Operator op, MatrixValue thatVal, double scalarThat2, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)` D = ctable(A,B,w) this <- A; that <- B; scalar_that2 <- w; result <- D (i1,j1,v1) from input1 (this) (i1,j1,v2) from input2 (that) (w) from scalar_input3 (scalarThat2) NOTE: This method supports both vectors and matrices.
`void` CM_N_COVCell.`ctableOperations(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixBlock.`ctableOperations(Operator op, MatrixValue thatVal, MatrixValue that2Val, CTableMap resultMap)` D = ctable(A,B,W) this <- A; that <- B; that2 <- W; result <- D (i1,j1,v1) from input1 (this) (i1,j1,v2) from input2 (that) (i1,j1,w) from input3 (that2)
`void` MatrixCell.`ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`abstract void` MatrixValue.`ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`void` MatrixBlock.`ctableOperations(Operator op, MatrixValue thatVal, MatrixValue that2Val, CTableMap resultMap, MatrixBlock resultBlock)`
`void` CM_N_COVCell.`ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)`
`MatrixBlock` MatrixBlock.`groupedAggOperations(MatrixValue tgt, MatrixValue wghts, MatrixValue ret, int ngroups, Operator op)` Invocation from CP instructions.
`MatrixBlock` MatrixBlock.`groupedAggOperations(MatrixValue tgt, MatrixValue wghts, MatrixValue ret, int ngroups, Operator op, int k)`
`static void` LibMatrixAgg.`groupedAggregate(MatrixBlock groups, MatrixBlock target, MatrixBlock weights, MatrixBlock result, int numGroups, Operator op)`
`static void` LibMatrixAgg.`groupedAggregate(MatrixBlock groups, MatrixBlock target, MatrixBlock weights, MatrixBlock result, int numGroups, Operator op, int k)`
`static MatrixBlock` MatrixBlock.`naryOperations(Operator op, MatrixBlock[] matrices, ScalarObject[] scalars, MatrixBlock ret)`
`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.`performMapGroupedAggregate(Operator op, IndexedMatrixValue inTarget, MatrixBlock groups, int ngroups, int blen, ArrayList<IndexedMatrixValue> outlist)`

### Uses of Operator in org.apache.sysds.runtime.matrix.operators

Subclasses of Operator in org.apache.sysds.runtime.matrix.operators
`class` `AggregateBinaryOperator`
`class` `AggregateOperator`
`class` `AggregateTernaryOperator`
`class` `AggregateUnaryOperator`
`class` `BinaryOperator`
`class` `CMOperator`
`class` `CountDistinctOperator`
`class` `COVOperator`
`class` `LeftScalarOperator` Scalar operator for scalar-matrix operations with scalar on the left-hand-side.
`class` `QuaternaryOperator`
`class` `ReIndexOperator`
`class` `ReorgOperator`
`class` `RightScalarOperator` Scalar operator for scalar-matrix operations with scalar on the right-hand-side.
`class` `ScalarOperator` Base class for all scalar operators.
`class` `SimpleOperator`
`class` `TernaryOperator`
`class` `UnaryOperator`