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

- Packages that use Operator
  Package | Description
  --- | ---
  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.data.sketch.countdistinctapprox |
  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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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, MatrixBlock resultBlock)` |
    `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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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
    Modifier and Type | Method | Description
    --- | --- | ---
    `Operator` | BinaryCPInstruction.`getOperator()` |

    Methods in org.apache.sysds.runtime.instructions.cp with parameters of type Operator
    Modifier and Type | Method | Description
    --- | --- | ---
    `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 | 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 | 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)` |
    `QuantilePickFEDInstruction​(Operator op, CPOperand in, CPOperand out, PickByCount.OperationTypes type, boolean inmem, String opcode, String istr)` |
    `QuantilePickFEDInstruction​(Operator op, CPOperand in, CPOperand in2, CPOperand out, PickByCount.OperationTypes type, boolean inmem, String opcode, String istr)` |
    `QuantilePickFEDInstruction​(Operator op, CPOperand in, CPOperand in2, CPOperand out, PickByCount.OperationTypes type, boolean inmem, String opcode, String istr, FEDInstruction.FederatedOutput fedOut)` |
    `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 | 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 | 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
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | CM_N_COVCell.`ctableOperations​(Operator op, MatrixValue that, MatrixValue 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` | 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` | 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` | 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` | 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` | MatrixBlock.`ctableOperations​(Operator op, MatrixValue thatVal, MatrixValue that2Val, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | MatrixCell.`ctableOperations​(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)` |
    `void` | MatrixCell.`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)` |
    `void` | MatrixCell.`ctableOperations​(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap ctableResult, MatrixBlock ctableResultBlock)` |
    `void` | MatrixCell.`ctableOperations​(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)` |
    `abstract void` | MatrixValue.`ctableOperations​(Operator op, double scalar_that, double scalar_that2, CTableMap resultMap, MatrixBlock resultBlock)` |
    `abstract void` | MatrixValue.`ctableOperations​(Operator op, double scalarThat, MatrixValue that2, CTableMap ctableResult, MatrixBlock ctableResultBlock)` |
    `abstract void` | MatrixValue.`ctableOperations​(Operator op, MatrixIndexes ix1, double scalar_that, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)` |
    `abstract void` | MatrixValue.`ctableOperations​(Operator op, MatrixValue that, double scalar_that2, boolean ignoreZeros, CTableMap resultMap, MatrixBlock resultBlock)` |
    `abstract void` | MatrixValue.`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.data.sketch.countdistinctapprox

    Constructors in org.apache.sysds.runtime.matrix.data.sketch.countdistinctapprox with parameters of type Operator
    Constructor | Description
    --- | ---
    `KMVSketch​(Operator op)` |

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

    Subclasses of Operator in org.apache.sysds.runtime.matrix.operators
    Modifier and Type | Class | Description
    --- | --- | ---
    `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` | `MultiThreadedOperator` |
    `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` |