# Package org.apache.sysds.hops

- Class Summary
  Class | Description
  --- | ---
  AggBinaryOp |
  AggUnaryOp |
  BinaryOp |
  DataGenOp | A DataGenOp can be rand (or matrix constructor), sequence, and sample - these operators have different parameters and use a map of parameter type to hop position.
  DataOp | A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input, but all types can have parameters (e.g., for csv literals of delimiter, header, etc).
  DnnOp |
  FunctionOp | This FunctionOp represents the call to a DML-bodied or external function.
  Hop |
  IndexingOp |
  LeftIndexingOp |
  LiteralOp |
  MemoTable | Memoization Table (hop id, worst-case matrix characteristics).
  MultiThreadedHop | Optional hop interface, to be implemented by multi-threaded hops.
  NaryOp | The NaryOp Hop allows for a variable number of operands.
  OptimizerUtils |
  ParameterizedBuiltinOp | Defines the HOP for calling an internal function (with custom parameters) from a DML script.
  QuaternaryOp | Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp; however, since there does not exist a real QuaternaryOp yet - we can leave it as is for now.
  ReorgOp | Reorg (cell) operation: aij Properties: Symbol: ', rdiag, rshape, rsort 1 Operand (except sort and reshape take additional arguments) Semantic: change indices (in mapper or reducer) NOTE MB: reshape integrated here because (1) ParameterizedBuiltinOp requires name-value pairs for params and (2) most importantly semantic of reshape is exactly a reorg op.
  TernaryOp | Primary use cases for now, are `quantile (<n-1-matrix>, <n-1-matrix>, <literal>): quantile (A, w, 0.5)` `quantile (<n-1-matrix>, <n-1-matrix>, <scalar>): quantile (A, w, s)` `interquantile (<n-1-matrix>, <n-1-matrix>, <scalar>): interquantile (A, w, s)` Keep in mind, that we also have binaries for it w/o weights.
  UnaryOp |

- Enum Summary
  Enum | Description
  --- | ---
  AggBinaryOp.MMultMethod |
  AggBinaryOp.SparkAggType |
  BinaryOp.AppendMethod |
  BinaryOp.MMBinaryMethod |
  FunctionOp.FunctionType |
  LeftIndexingOp.LeftIndexingMethod |
  OptimizerUtils.OptimizationLevel | Optimization Types for Compilation O0 STATIC - Decisions for scheduling operations on CP/MR are based on predefined set of rules, which check if the dimensions are below a fixed/static threshold (OLD Method of choosing between CP and MR).

- Exception Summary
  Exception | Description
  --- | ---
  HopsException | Exception occurring in the HOP level.

Copyright © 2021 The Apache Software Foundation. All rights reserved.