## Uses of Class
org.apache.sysds.hops.Hop

Packages that use Hop
org.apache.sysds.hops
org.apache.sysds.hops.codegen
org.apache.sysds.hops.codegen.cplan
org.apache.sysds.hops.codegen.opt
org.apache.sysds.hops.codegen.template
org.apache.sysds.hops.cost
org.apache.sysds.hops.fedplanner
org.apache.sysds.hops.ipa
org.apache.sysds.hops.recompile
org.apache.sysds.hops.rewrite
org.apache.sysds.parser
org.apache.sysds.runtime.compress.workload
org.apache.sysds.runtime.controlprogram
org.apache.sysds.runtime.controlprogram.parfor.opt
org.apache.sysds.runtime.lineage
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.util
org.apache.sysds.utils

### Uses of Hop in org.apache.sysds.hops

Subclasses of Hop in org.apache.sysds.hops
`class` `AggBinaryOp`
`class` `AggUnaryOp`
`class` `BinaryOp` Binary (cell operations): aij + bij Properties: Symbol: *, -, +, ...
`class` `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.
`class` `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).
`class` `DnnOp`
`class` `FunctionOp` This FunctionOp represents the call to a DML-bodied or external function.
`class` `IndexingOp`
`class` `LeftIndexingOp`
`class` `LiteralOp`
`class` `MultiThreadedHop` Optional hop interface, to be implemented by multi-threaded hops.
`class` `NaryOp` The NaryOp Hop allows for a variable number of operands.
`class` `ParameterizedBuiltinOp` Defines the HOP for calling an internal function (with custom parameters) from a DML script.
`class` `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.
`class` `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.
`class` `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.
`class` `UnaryOp`

Methods in org.apache.sysds.hops that return Hop
`Hop` DataGenOp.`getConstantValue()`
`Hop` DataGenOp.`getInput​(String key)`
`Hop` Hop.`getInput​(int ix)`
`Hop` DataGenOp.`getParam​(String key)`
`Hop` ParameterizedBuiltinOp.`getParameterHop​(String name)`
`Hop` ParameterizedBuiltinOp.`getTargetHop()`
`Hop` Hop.`resetVisitStatus()`

Methods in org.apache.sysds.hops that return types with arguments of type Hop
`List<Hop>` Hop.`getInput()`
`ArrayList<Hop>` FunctionOp.`getOutputs()`
`List<Hop>` Hop.`getParent()`

Methods in org.apache.sysds.hops with parameters of type Hop
`void` Hop.`addInput​(Hop h)`
`static boolean` OptimizerUtils.`allowsToFilterEmptyBlockOutputs​(Hop hop)`
`static void` HopsException.`check​(boolean condition, Hop hop, String message, Object... objects)` If the condition fails, print the Op and its Id, along with the message formatted with objects.
`boolean` AggBinaryOp.`compare​(Hop that)`
`boolean` AggUnaryOp.`compare​(Hop that)`
`boolean` BinaryOp.`compare​(Hop that)`
`boolean` DataGenOp.`compare​(Hop that)`
`boolean` DataOp.`compare​(Hop that)`
`boolean` DnnOp.`compare​(Hop that)`
`boolean` FunctionOp.`compare​(Hop that)`
`abstract boolean` Hop.`compare​(Hop that)`
`boolean` IndexingOp.`compare​(Hop that)`
`boolean` LeftIndexingOp.`compare​(Hop that)`
`boolean` LiteralOp.`compare​(Hop that)`
`boolean` NaryOp.`compare​(Hop that)`
`boolean` ParameterizedBuiltinOp.`compare​(Hop that)`
`boolean` QuaternaryOp.`compare​(Hop that)`
`boolean` ReorgOp.`compare​(Hop that)`
`boolean` TernaryOp.`compare​(Hop that)`
`boolean` UnaryOp.`compare​(Hop that)`
`double` Hop.`computeBoundsInformation​(Hop input)`
`static double` Hop.`computeBoundsInformation​(Hop input, LocalVariableMap vars)`
`static double` Hop.`computeBoundsInformation​(Hop input, LocalVariableMap vars, Map<Long,​Double> memo)`
`static long` Hop.`computeSizeInformation​(Hop input)`
`long` Hop.`computeSizeInformation​(Hop input, LocalVariableMap vars)`
`long` Hop.`computeSizeInformation​(Hop input, LocalVariableMap vars, Map<Long,​Long> memo)`
`static Lop` BinaryOp.`constructSPAppendLop​(Hop left, Hop right, Types.DataType dt, Types.ValueType vt, boolean cbind, Hop current)`
`static Lop` Hop.`createOffsetLop​(Hop hop, boolean repCols)`
`static long` OptimizerUtils.`estimatePartitionedSizeExactSparsity​(Hop hop)` Estimates the footprint (in bytes) for a partitioned in-memory representation of a matrix with the hops dimensions and number of non-zeros nnz.
`DataCharacteristics` MemoTable.`getAllInputStats​(Hop input)`
`static double` OptimizerUtils.`getSparsity​(Hop hop)`
`static double` OptimizerUtils.`getTotalMemEstimate​(Hop[] in, Hop out)`
`static double` OptimizerUtils.`getTotalMemEstimate​(Hop[] in, Hop out, boolean denseOut)`
`boolean` MemoTable.`hasInputStatistics​(Hop h)`
`void` MemoTable.`init​(Hop hop, RecompileStatus status)`
`void` Hop.`refreshColsParameterInformation​(Hop input, LocalVariableMap vars)`
`void` Hop.`refreshColsParameterInformation​(Hop input, LocalVariableMap vars, Map<Long,​Long> memo)`
`void` Hop.`refreshRowsParameterInformation​(Hop input, LocalVariableMap vars)`
`void` Hop.`refreshRowsParameterInformation​(Hop input, LocalVariableMap vars, Map<Long,​Long> memo)`
`static boolean` BinaryOp.`requiresReplication​(Hop left, Hop right)`
`static void` Hop.`resetRecompilationFlag​(Hop hops, Types.ExecType et, Recompiler.ResetType reset)`
`static double` OptimizerUtils.`rEvalSimpleDoubleExpression​(Hop root, Map<Long,​Double> valMemo)`
`static double` OptimizerUtils.`rEvalSimpleDoubleExpression​(Hop root, Map<Long,​Double> valMemo, LocalVariableMap vars)`
`static long` OptimizerUtils.`rEvalSimpleLongExpression​(Hop root, Map<Long,​Long> valMemo)` Function to evaluate simple size expressions over literals and now/ncol.
`static long` OptimizerUtils.`rEvalSimpleLongExpression​(Hop root, Map<Long,​Long> valMemo, LocalVariableMap vars)`
`void` DataGenOp.`setInput​(String key, Hop hop, boolean linkParent)`

Method parameters in org.apache.sysds.hops with type arguments of type Hop
`void` Hop.`addAllInputs​(List<Hop> list)`
`Lop` DnnOp.`constructDnnLops​(Types.ExecType et, List<Hop> inputs)`
`void` MemoTable.`extract​(ArrayList<Hop> hops, RecompileStatus status)`
`DataCharacteristics[]` MemoTable.`getAllInputStats​(List<Hop> inputs)`
`void` MemoTable.`init​(ArrayList<Hop> hops, RecompileStatus status)`
`static void` Hop.`resetRecompilationFlag​(ArrayList<Hop> hops, Types.ExecType et, Recompiler.ResetType reset)`
`static void` Hop.`resetVisitStatus​(List<Hop> hops)`
`static void` Hop.`resetVisitStatus​(List<Hop> hops, boolean force)`

Constructors in org.apache.sysds.hops with parameters of type Hop
`AggBinaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp2 innOp, Types.AggOp outOp, Hop in1, Hop in2)`
`AggUnaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.AggOp o, Types.Direction idx, Hop inp)`
`BinaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp2 o, Hop inp1, Hop inp2)`
`DataOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOpData dop, Hop in, HashMap<String,​Hop> inputParameters)` WRITE operation for Matrix This constructor supports expression in parameters
`DataOp​(String l, Types.DataType dt, Types.ValueType vt, Hop in, Types.OpOpData dop, String fname)`
`IndexingOp​(String l, Types.DataType dt, Types.ValueType vt, Hop inpMatrix, Hop inpRowL, Hop inpRowU, Hop inpColL, Hop inpColU, boolean passedRowsLEU, boolean passedColsLEU)`
`LeftIndexingOp​(String l, Types.DataType dt, Types.ValueType vt, Hop inpMatrixLeft, Hop inpMatrixRight, Hop inpRowL, Hop inpRowU, Hop inpColL, Hop inpColU, boolean passedRowsLEU, boolean passedColsLEU)`
`NaryOp​(String name, Types.DataType dataType, Types.ValueType valueType, Types.OpOpN op, Hop... inputs)` NaryOp constructor.
`QuaternaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inX, Hop inU, Hop inV)`
`QuaternaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inX, Hop inU, Hop inV, boolean flag1, boolean flag2)` Constructor for wsigmoid.
`QuaternaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inW, Hop inU, Hop inV, boolean umult, Types.OpOp1 uop, Types.OpOp2 sop)`
`QuaternaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inX, Hop inU, Hop inV, Hop inW, boolean post)` Constructor for wsloss.
`QuaternaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp4 o, Hop inX, Hop inU, Hop inV, Hop inW, int baseType, boolean flag1, boolean flag2)`
`ReorgOp​(String l, Types.DataType dt, Types.ValueType vt, Types.ReOrgOp o, Hop inp)`
`TernaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp3 o, Hop inp1, Hop inp2, Hop inp3)`
`TernaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp3 o, Hop inp1, Hop inp2, Hop inp3, Hop inp4, Hop inp5, Hop inp6)`
`UnaryOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOp1 o, Hop inp)`

Constructor parameters in org.apache.sysds.hops with type arguments of type Hop
`DataGenOp​(Types.OpOpDG mthd, DataIdentifier id, HashMap<String,​Hop> inputParameters)` Creates a new Rand HOP.
`DataOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOpData dop, HashMap<String,​Hop> params)` READ operation for Matrix / SQL operation for tensor This constructor supports expressions in parameters
`DataOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOpData dop, Hop in, HashMap<String,​Hop> inputParameters)` WRITE operation for Matrix This constructor supports expression in parameters
`DnnOp​(String l, Types.DataType dt, Types.ValueType vt, Types.OpOpDnn o, ArrayList<Hop> inp)` Create a hop from the builtin expression
`FunctionOp​(FunctionOp.FunctionType type, String fnamespace, String fname, String[] inputNames, List<Hop> inputs, String[] outputNames, boolean singleOut)`
`FunctionOp​(FunctionOp.FunctionType type, String fnamespace, String fname, String[] inputNames, List<Hop> inputs, String[] outputNames, boolean singleOut, boolean pseudo)`
`FunctionOp​(FunctionOp.FunctionType type, String fnamespace, String fname, String[] inputNames, List<Hop> inputs, String[] outputNames, ArrayList<Hop> outputHops)`
`FunctionOp​(FunctionOp.FunctionType type, String fnamespace, String fname, String[] inputNames, List<Hop> inputs, String[] outputNames, ArrayList<Hop> outputHops)`
`ParameterizedBuiltinOp​(String l, Types.DataType dt, Types.ValueType vt, Types.ParamBuiltinOp op, LinkedHashMap<String,​Hop> inputParameters)` Creates a new HOP for a function call
`ReorgOp​(String l, Types.DataType dt, Types.ValueType vt, Types.ReOrgOp o, List<Hop> inp)`

### Uses of Hop in org.apache.sysds.hops.codegen

Subclasses of Hop in org.apache.sysds.hops.codegen
`class` `SpoofFusedOp`

Methods in org.apache.sysds.hops.codegen that return Hop
`static Hop` SpoofCompiler.`optimize​(Hop root, boolean recompile)` Main interface of sum-product optimizer, predicate dag.

Methods in org.apache.sysds.hops.codegen that return types with arguments of type Hop
`static ArrayList<Hop>` SpoofCompiler.`generateCodeFromHopDAGs​(ArrayList<Hop> roots)`
`static ArrayList<Hop>` SpoofCompiler.`optimize​(ArrayList<Hop> roots, boolean recompile)` Main interface of sum-product optimizer, statement block dag.

Methods in org.apache.sysds.hops.codegen with parameters of type Hop
`boolean` SpoofFusedOp.`compare​(Hop that)`
`static ArrayList<Instruction>` SpoofCompiler.`generateCodeFromHopDAGsToInst​(Hop root)`
`static Hop` SpoofCompiler.`optimize​(Hop root, boolean recompile)` Main interface of sum-product optimizer, predicate dag.

Method parameters in org.apache.sysds.hops.codegen with type arguments of type Hop
`static ArrayList<Hop>` SpoofCompiler.`generateCodeFromHopDAGs​(ArrayList<Hop> roots)`
`static ArrayList<Instruction>` SpoofCompiler.`generateCodeFromHopDAGsToInst​(StatementBlock sb, ArrayList<Hop> roots)`
`static ArrayList<Hop>` SpoofCompiler.`optimize​(ArrayList<Hop> roots, boolean recompile)` Main interface of sum-product optimizer, statement block dag.

### Uses of Hop in org.apache.sysds.hops.codegen.cplan

Methods in org.apache.sysds.hops.codegen.cplan that return types with arguments of type Hop
`ArrayList<Hop>` CNodeMultiAgg.`getRootNodes()`

Method parameters in org.apache.sysds.hops.codegen.cplan with type arguments of type Hop
`void` CNodeMultiAgg.`setRootNodes​(ArrayList<Hop> roots)`

Constructors in org.apache.sysds.hops.codegen.cplan with parameters of type Hop
`CNodeData​(Hop hop)`
`CNodeData​(Hop hop, long rows, long cols, Types.DataType dt)`

### Uses of Hop in org.apache.sysds.hops.codegen.opt

Method parameters in org.apache.sysds.hops.codegen.opt with type arguments of type Hop
`static Collection<PlanPartition>` PlanAnalyzer.`analyzePlanPartitions​(CPlanMemoTable memo, ArrayList<Hop> roots, boolean ext)`
`abstract void` PlanSelection.`selectPlans​(CPlanMemoTable memo, ArrayList<Hop> roots)` Given a HOP DAG G, and a set of partial fusions plans P, find the set of optimal, non-conflicting fusion plans P' that applied to G minimizes costs C with P' = \argmin_{p \subseteq P} C(G, p) s.t.
`void` PlanSelectionFuseAll.`selectPlans​(CPlanMemoTable memo, ArrayList<Hop> roots)`
`void` PlanSelectionFuseCostBased.`selectPlans​(CPlanMemoTable memo, ArrayList<Hop> roots)`
`void` PlanSelectionFuseCostBasedV2.`selectPlans​(CPlanMemoTable memo, ArrayList<Hop> roots)`
`void` PlanSelectionFuseNoRedundancy.`selectPlans​(CPlanMemoTable memo, ArrayList<Hop> roots)`

### Uses of Hop in org.apache.sysds.hops.codegen.template

Methods in org.apache.sysds.hops.codegen.template that return types with arguments of type Hop
`HashMap<Long,​Hop>` CPlanMemoTable.`getHopRefs()`

Methods in org.apache.sysds.hops.codegen.template with parameters of type Hop
`void` CPlanMemoTable.`add​(Hop hop, CPlanMemoTable.MemoTableEntry me)`
`void` CPlanMemoTable.`add​(Hop hop, TemplateBase.TemplateType type)`
`void` CPlanMemoTable.`add​(Hop hop, TemplateBase.TemplateType type, long in1)`
`void` CPlanMemoTable.`add​(Hop hop, TemplateBase.TemplateType type, long in1, long in2)`
`void` CPlanMemoTable.`add​(Hop hop, TemplateBase.TemplateType type, long in1, long in2, long in3)`
`void` CPlanMemoTable.`addAll​(Hop hop, CPlanMemoTable.MemoTableEntrySet P)`
`void` CPlanMemoTable.`addHop​(Hop hop)`
`abstract TemplateBase.CloseType` TemplateBase.`close​(Hop hop)` Indicates if the template must be closed at the current hop; either due to final operations (e.g., aggregate) or unsupported operations.
`TemplateBase.CloseType` TemplateCell.`close​(Hop hop)`
`TemplateBase.CloseType` TemplateMultiAgg.`close​(Hop hop)`
`TemplateBase.CloseType` TemplateOuterProduct.`close​(Hop hop)`
`TemplateBase.CloseType` TemplateRow.`close​(Hop hop)`
`int` TemplateCell.HopInputComparator.`compare​(Hop h1, Hop h2)`
`int` TemplateRow.HopInputComparator.`compare​(Hop h1, Hop h2)`
`abstract Pair<Hop[],​CNodeTpl>` TemplateBase.`constructCplan​(Hop hop, CPlanMemoTable memo, boolean compileLiterals)` Constructs a single cplan rooted at the given hop, according to the plan given in the memo structure for this particular hop and its recursive inputs.
`Pair<Hop[],​CNodeTpl>` TemplateCell.`constructCplan​(Hop hop, CPlanMemoTable memo, boolean compileLiterals)`
`Pair<Hop[],​CNodeTpl>` TemplateMultiAgg.`constructCplan​(Hop hop, CPlanMemoTable memo, boolean compileLiterals)`
`Pair<Hop[],​CNodeTpl>` TemplateOuterProduct.`constructCplan​(Hop hop, CPlanMemoTable memo, boolean compileLiterals)`
`Pair<Hop[],​CNodeTpl>` TemplateRow.`constructCplan​(Hop hop, CPlanMemoTable memo, boolean compileLiterals)`
`boolean` CPlanMemoTable.`containsHop​(Hop hop)`
`static boolean` TemplateUtils.`containsOuterProduct​(Hop hop)`
`static boolean` TemplateUtils.`containsOuterProduct​(Hop hop, Hop probe)`
`static CNodeData` TemplateUtils.`createCNodeData​(Hop hop, boolean compileLiterals)`
`static LinkedList<Long>` TemplateUtils.`findRemovableConditionalPatternInOuterProduct​(Hop hop)`
`abstract boolean` TemplateBase.`fuse​(Hop hop, Hop input)` Indicates if the template can be expanded to the given hop starting from an open template at the input.
`boolean` TemplateCell.`fuse​(Hop hop, Hop input)`
`boolean` TemplateMultiAgg.`fuse​(Hop hop, Hop input)`
`boolean` TemplateOuterProduct.`fuse​(Hop hop, Hop input)`
`boolean` TemplateRow.`fuse​(Hop hop, Hop input)`
`static Types.AggOp` TemplateUtils.`getAggOp​(Hop hop)`
`static SpoofCellwise.CellType` TemplateUtils.`getCellType​(Hop hop)`
`static SpoofOuterProduct.OutProdType` TemplateUtils.`getOuterProductType​(Hop X, Hop U, Hop V, Hop out)`
`static long` TemplateUtils.`getRowTemplateMatrixInput​(Hop current, CPlanMemoTable memo)`
`static SpoofRowwise.RowType` TemplateUtils.`getRowType​(Hop output, Hop... inputs)`
`static boolean` TemplateUtils.`hasCommonRowTemplateMatrixInput​(Hop input1, Hop input2, CPlanMemoTable memo)`
`static boolean` TemplateUtils.`hasMatrixInput​(Hop hop)`
`static boolean` TemplateUtils.`hasTransposeParentUnderOuterProduct​(Hop hop)`
`static boolean` TemplateUtils.`isBinaryMatrixColVector​(Hop hop)`
`static boolean` TemplateUtils.`isBinaryMatrixRowVector​(Hop hop)`
`static boolean` TemplateUtils.`isColVector​(Hop hop)`
`static boolean` TemplateUtils.`isMatrix​(Hop hop)`
`static boolean` TemplateUtils.`isOperationSupported​(Hop h)`
`static boolean` TemplateUtils.`isValidSingleOperation​(Hop hop)`
`static boolean` TemplateUtils.`isVector​(Hop hop)`
`static boolean` TemplateUtils.`isVectorOrScalar​(Hop hop)`
`abstract boolean` TemplateBase.`merge​(Hop hop, Hop input)` Indicates if the template at the current hop can be expanded by merging another template available for one of its other inputs which is not yet covered by the template of the current hop.
`boolean` TemplateCell.`merge​(Hop hop, Hop input)`
`boolean` TemplateMultiAgg.`merge​(Hop hop, Hop input)`
`boolean` TemplateOuterProduct.`merge​(Hop hop, Hop input)`
`boolean` TemplateRow.`merge​(Hop hop, Hop input)`
`abstract boolean` TemplateBase.`open​(Hop hop)` Indicates if this template can be opened at the given hop, where hop represents bottom (first operation on the inputs) of the fused operator.
`boolean` TemplateCell.`open​(Hop hop)`
`boolean` TemplateMultiAgg.`open​(Hop hop)`
`boolean` TemplateOuterProduct.`open​(Hop hop)`
`boolean` TemplateRow.`open​(Hop hop)`
`void` CPlanMemoTable.`remove​(Hop hop, Set<CPlanMemoTable.MemoTableEntry> excludeList)`
`void` CPlanMemoTable.`remove​(Hop hop, TemplateBase.TemplateType type)`
`static long` TemplateUtils.`skipConditionalInOuterProduct​(Hop hop, HashMap<Long,​CNode> tmp, HashSet<Hop> inHops)`
`static CNode` TemplateUtils.`skipTranspose​(CNode cdataOrig, Hop hop, HashMap<Long,​CNode> tmp, boolean compileLiterals)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop, boolean rowTpl)`

Method parameters in org.apache.sysds.hops.codegen.template with type arguments of type Hop
`void` CPlanMemoTable.`pruneSuboptimal​(ArrayList<Hop> roots)`
`static long` TemplateUtils.`skipConditionalInOuterProduct​(Hop hop, HashMap<Long,​CNode> tmp, HashSet<Hop> inHops)`

Constructors in org.apache.sysds.hops.codegen.template with parameters of type Hop
`HopInputComparator​(Hop driver)`
`HopInputComparator​(Hop X, Hop B1)`
`MemoTableEntrySet​(Hop hop, Hop c, TemplateBase tpl)`

### Uses of Hop in org.apache.sysds.hops.cost

Methods in org.apache.sysds.hops.cost with parameters of type Hop
`static double` ComputeCost.`getHOPComputeCost​(Hop currentHop)` Get compute cost for given HOP based on the number of floating point operations per output cell and the total number of output cells.

### Uses of Hop in org.apache.sysds.hops.fedplanner

Methods in org.apache.sysds.hops.fedplanner that return Hop
`Hop` FederatedMemoTable.FedPlan.`getHopRef()`

Methods in org.apache.sysds.hops.fedplanner that return types with arguments of type Hop
`static Map<String,​Hop>` FederatedPlannerUtils.`getParamMap​(FunctionOp funcOp)` Return parameter map containing the mapping from parameter name to input hop for all parameters of the function hop.
`static ArrayList<Hop>` FederatedPlannerUtils.`getTransientInputs​(Hop currentHop, Map<String,​Hop> paramMap, Map<String,​Hop> transientWrites, LocalVariableMap localVariableMap)` Get transient inputs from either paramMap or transientWrites.

Methods in org.apache.sysds.hops.fedplanner with parameters of type Hop
`FederatedMemoTable.FedPlan` FederatedMemoTable.`addFedPlan​(Hop hop, FEDInstruction.FederatedOutput fedOutType, List<org.apache.commons.lang3.tuple.Pair<Long,​FEDInstruction.FederatedOutput>> planChilds)` Adds a new federated plan to the memo table.
`static FederatedMemoTable.FedPlan` FederatedPlanCostEnumerator.`enumerateFederatedPlanCost​(Hop rootHop, boolean printTree)` Entry point for federated plan enumeration.
`static ArrayList<Hop>` FederatedPlannerUtils.`getTransientInputs​(Hop currentHop, Map<String,​Hop> paramMap, Map<String,​Hop> transientWrites, LocalVariableMap localVariableMap)` Get transient inputs from either paramMap or transientWrites.

Method parameters in org.apache.sysds.hops.fedplanner with type arguments of type Hop
`static ArrayList<Hop>` FederatedPlannerUtils.`getTransientInputs​(Hop currentHop, Map<String,​Hop> paramMap, Map<String,​Hop> transientWrites, LocalVariableMap localVariableMap)` Get transient inputs from either paramMap or transientWrites.
`static void` FederatedPlannerUtils.`mapFunctionOutputs​(FunctionOp sbHop, FunctionStatement funcStatement, Map<String,​Hop> transientWrites)` Saves the HOPs (TWrite) of the function return values for the variable name used when calling the function.

Constructors in org.apache.sysds.hops.fedplanner with parameters of type Hop
`FedPlanVariants​(Hop hopRef, FEDInstruction.FederatedOutput fedOutType)`

### Uses of Hop in org.apache.sysds.hops.ipa

Methods in org.apache.sysds.hops.ipa with parameters of type Hop
`static void` IPAPassRemoveUnnecessaryCheckpoints.`rRemoveCheckpointReadWrite​(Hop hop)`

### Uses of Hop in org.apache.sysds.hops.recompile

Methods in org.apache.sysds.hops.recompile that return Hop
`static Hop` Recompiler.`deepCopyHopsDag​(Hop hops)` Deep copy of hops dags for parallel recompilation.

Methods in org.apache.sysds.hops.recompile that return types with arguments of type Hop
`static ArrayList<Hop>` Recompiler.`deepCopyHopsDag​(List<Hop> hops)` Deep copy of hops dags for parallel recompilation.

Methods in org.apache.sysds.hops.recompile with parameters of type Hop
`static Hop` Recompiler.`deepCopyHopsDag​(Hop hops)` Deep copy of hops dags for parallel recompilation.
`static void` Recompiler.`extractDAGOutputStatistics​(Hop hop, LocalVariableMap vars, boolean overwrite)`
`static void` Recompiler.`rClearLops​(Hop hop)` Clearing lops for a given hops includes to (1) remove the reference to constructed lops and (2) clear the exec type (for consistency).
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag​(Hop hop, LocalVariableMap vars, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag2Forced​(Hop hop, long tid, Types.ExecType et)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDagInstructions​(Hop hop)`
`static boolean` Recompiler.`requiresRecompilation​(Hop hop)`
`static int` Recompiler.`rGetMaxParallelism​(Hop hop)`
`static void` Recompiler.`rReplaceLiterals​(Hop hop, ExecutionContext ec, boolean scalarsOnly)` public interface to package local literal replacement
`static void` Recompiler.`rReplaceLiterals​(Hop hop, LocalVariableMap vars, boolean scalarsOnly)`
`static void` Recompiler.`rSetExecType​(Hop hop, Types.ExecType etype)`
`static void` Recompiler.`rSetMaxParallelism​(Hop hop, int k)`
`static void` Recompiler.`rUpdateFunctionNames​(Hop hop, long pid)`
`static void` Recompiler.`rUpdateStatistics​(Hop hop, LocalVariableMap vars)`

Method parameters in org.apache.sysds.hops.recompile with type arguments of type Hop
`static ArrayList<Hop>` Recompiler.`deepCopyHopsDag​(List<Hop> hops)` Deep copy of hops dags for parallel recompilation.
`static void` Recompiler.`extractDAGOutputStatistics​(List<Hop> hops, LocalVariableMap vars)`
`static void` Recompiler.`extractDAGOutputStatistics​(List<Hop> hops, LocalVariableMap vars, boolean overwrite)`
`static ArrayList<Instruction>` Recompiler.`recompile​(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, boolean updateStats, boolean forceEt, boolean pred, Types.ExecType et, long tid)` Core internal primitive for the dynamic recompilation of any DAGs/predicate, including all variants with slightly different configurations.
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag​(StatementBlock sb, ArrayList<Hop> hops, ExecutionContext ec, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag​(StatementBlock sb, ArrayList<Hop> hops, LocalVariableMap vars, RecompileStatus status, boolean inplace, boolean replaceLit, long tid)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDag2Forced​(StatementBlock sb, ArrayList<Hop> hops, long tid, Types.ExecType et)`
`static ArrayList<Instruction>` Recompiler.`recompileHopsDagInstructions​(StatementBlock sb, ArrayList<Hop> hops)`
`static boolean` Recompiler.`requiresRecompilation​(ArrayList<Hop> hops)`
`static int` Recompiler.`rGetMaxParallelism​(List<Hop> hops)`
`static void` Recompiler.`rSetMaxParallelism​(List<Hop> hops, int k)`
`static void` Recompiler.`updateFunctionNames​(List<Hop> hops, long pid)`

### Uses of Hop in org.apache.sysds.hops.rewrite

Methods in org.apache.sysds.hops.rewrite that return Hop
`static Hop` HopRewriteUtils.`createComputeNnz​(Hop input)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop rowInput, boolean tRowInput, Hop colInput, boolean tColInput, double value)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop input, double value)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop rowInput, Hop colInput, double value)`
`static Hop` HopRewriteUtils.`createDataGenOpByVal​(List<LiteralOp> values, long rows, long cols)`
`static Hop` HopRewriteUtils.`createDataGenOpByVal​(Hop rowInput, Hop colInput, Hop dimsInput, Types.DataType dt, Types.ValueType vt, double value)`
`static Hop` HopRewriteUtils.`createPartialTsmmCbind​(Hop X, Hop deltaX, Hop tsmmIn1)`
`static Hop` HopRewriteUtils.`createScalarIndexing​(Hop input, long rix, long cix)`
`static Hop` HopRewriteUtils.`createValueHop​(Hop hop, boolean row)`
`static Hop` HopRewriteUtils.`getBasic1NSequenceMax​(Hop hop)`
`static Hop` HopRewriteUtils.`getDataGenOpConstantValue​(Hop hop)`
`static Hop` HopRewriteUtils.`getLargestInput​(Hop hop)`
`static Hop` HopRewriteUtils.`getOtherInput​(Hop hop, Hop input)`
`static Hop` HopRewriteUtils.`rewireAllParentChildReferences​(Hop hold, Hop hnew)` Replace an old Hop with a replacement Hop.
`abstract Hop` HopRewriteRule.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)` Handle a predicate hop DAG with exactly one root.
`Hop` ProgramRewriter.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationStatic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteBlockSizeAndReblock.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteCommonSubexpressionElimination.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteConstantFolding.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteElementwiseMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteGPUSpecificOps.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteIndexingVectorization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteMatrixMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteMatrixMultChainOptimizationTranspose.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteNonScalarPrint.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemovePersistentReadWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveReadAfterWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveUnnecessaryCasts.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`static Hop` RewriteAlgebraicSimplificationStatic.`simplifyConstantConjunction​(Hop parent, Hop hi, int pos)`

Methods in org.apache.sysds.hops.rewrite that return types with arguments of type Hop
`ArrayList<Hop>` ProgramRewriter.`rewriteHopDAG​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`abstract ArrayList<Hop>` HopRewriteRule.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)` Handle a generic (last-level) hop DAG with multiple roots.
`ArrayList<Hop>` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteAlgebraicSimplificationStatic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteBlockSizeAndReblock.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteCommonSubexpressionElimination.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteConstantFolding.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteElementwiseMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteGPUSpecificOps.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteIndexingVectorization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteMatrixMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteMatrixMultChainOptimizationTranspose.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteNonScalarPrint.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemovePersistentReadWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveReadAfterWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveUnnecessaryCasts.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`

Methods in org.apache.sysds.hops.rewrite with parameters of type Hop
`static void` HopRewriteUtils.`addChildReference​(Hop parent, Hop child)`
`static void` HopRewriteUtils.`addChildReference​(Hop parent, Hop child, int pos)`
`static boolean` HopRewriteUtils.`alwaysRequiresReblock​(Hop hop)`
`static boolean` HopRewriteUtils.`checkInputDataTypes​(Hop hop, Types.DataType... dt)`
`static void` HopRewriteUtils.`cleanupUnreferenced​(Hop... inputs)`
`static int` HopRewriteUtils.`compareSize​(Hop hop1, Hop hop2)` Compares the size of outputs from hop1 and hop2, in terms of number of matrix cells.
`static boolean` HopRewriteUtils.`containsInput​(Hop current, Hop probe)`
`static void` HopRewriteUtils.`copyLineNumbers​(Hop src, Hop dest)`
`static void` HopRewriteUtils.`copyLineNumbers​(MatrixObject mo, Hop tread)`
`static void` HopRewriteUtils.`copyLineNumbers​(MatrixBlock mb, Hop tread)`
`static AggUnaryOp` HopRewriteUtils.`createAggUnaryOp​(Hop input, String op)`
`static AggUnaryOp` HopRewriteUtils.`createAggUnaryOp​(Hop input, Types.AggOp op, Types.Direction dir)`
`static BinaryOp` HopRewriteUtils.`createBinary​(Hop input1, Hop input2, String op)`
`static BinaryOp` HopRewriteUtils.`createBinary​(Hop input1, Hop input2, Types.OpOp2 op)`
`static BinaryOp` HopRewriteUtils.`createBinary​(Hop input1, Hop input2, Types.OpOp2 op, boolean outer)`
`static BinaryOp` HopRewriteUtils.`createBinaryMinus​(Hop input)`
`static Hop` HopRewriteUtils.`createComputeNnz​(Hop input)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop rowInput, boolean tRowInput, Hop colInput, boolean tColInput, double value)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop input, double value)`
`static Hop` HopRewriteUtils.`createDataGenOp​(Hop rowInput, Hop colInput, double value)`
`static Hop` HopRewriteUtils.`createDataGenOpByVal​(Hop rowInput, Hop colInput, Hop dimsInput, Types.DataType dt, Types.ValueType vt, double value)`
`static DataOp` HopRewriteUtils.`createDataOp​(String name, Hop in, Types.OpOpData type)`
`static IndexingOp` HopRewriteUtils.`createIndexingOp​(Hop input, long rix, long cix)`
`static IndexingOp` HopRewriteUtils.`createIndexingOp​(Hop input, long rl, long ru, long cl, long cu)`
`static IndexingOp` HopRewriteUtils.`createIndexingOp​(Hop input, Hop batchsize)`
`static IndexingOp` HopRewriteUtils.`createIndexingOp​(Hop input, Hop rl, Hop ru, Hop cl, Hop cu)`
`static LeftIndexingOp` HopRewriteUtils.`createLeftIndexingOp​(Hop lhs, Hop rhs, Hop rl, Hop ru, Hop cl, Hop cu)`
`static AggBinaryOp` HopRewriteUtils.`createMatrixMultiply​(Hop left, Hop right)`
`static NaryOp` HopRewriteUtils.`createNary​(Types.OpOpN op, Hop... inputs)`
`static ParameterizedBuiltinOp` HopRewriteUtils.`createParameterizedBuiltinOp​(Hop input, LinkedHashMap<String,​Hop> args, Types.ParamBuiltinOp op)`
`static Hop` HopRewriteUtils.`createPartialTsmmCbind​(Hop X, Hop deltaX, Hop tsmmIn1)`
`static ReorgOp` HopRewriteUtils.`createReorg​(Hop input, String rop)`
`static ReorgOp` HopRewriteUtils.`createReorg​(Hop input, Types.ReOrgOp rop)`
`static Hop` HopRewriteUtils.`createScalarIndexing​(Hop input, long rix, long cix)`
`static DataGenOp` HopRewriteUtils.`createSeqDataGenOp​(Hop input)`
`static DataGenOp` HopRewriteUtils.`createSeqDataGenOp​(Hop input, boolean asc)`
`static DataGenOp` HopRewriteUtils.`createSeqDataGenOp​(Hop proxy, Hop from, Hop to, Hop incr)`
`static AggUnaryOp` HopRewriteUtils.`createSum​(Hop input)`
`static TernaryOp` HopRewriteUtils.`createTernary​(Hop mleft, Hop smid, Hop mright, String opcode)`
`static TernaryOp` HopRewriteUtils.`createTernary​(Hop mleft, Hop smid, Hop mright, Types.OpOp3 op)`
`static TernaryOp` HopRewriteUtils.`createTernary​(Hop in1, Hop in2, Hop in3, Hop in4, Hop in5, Types.OpOp3 op)`
`static DataOp` HopRewriteUtils.`createTransientRead​(String name, Hop h)`
`static DataOp` HopRewriteUtils.`createTransientWrite​(String name, Hop in)`
`static ReorgOp` HopRewriteUtils.`createTranspose​(Hop input)`
`static AggBinaryOp` HopRewriteUtils.`createTsmm​(Hop input, boolean left)`
`static UnaryOp` HopRewriteUtils.`createUnary​(Hop input, String type)`
`static UnaryOp` HopRewriteUtils.`createUnary​(Hop input, Types.OpOp1 type)`
`static Hop` HopRewriteUtils.`createValueHop​(Hop hop, boolean row)`
`static Hop` HopRewriteUtils.`getBasic1NSequenceMax​(Hop hop)`
`static int` HopRewriteUtils.`getChildReferencePos​(Hop parent, Hop child)`
`static Hop` HopRewriteUtils.`getDataGenOpConstantValue​(Hop hop)`
`static long` HopRewriteUtils.`getIntValueSafe​(Hop op)`
`static Hop` HopRewriteUtils.`getLargestInput​(Hop hop)`
`static long` HopRewriteUtils.`getMaxInputDim​(Hop hop, boolean dim1)`
`static long` HopRewriteUtils.`getMaxNcolInput​(Hop hop)`
`static long` HopRewriteUtils.`getMaxNrowInput​(Hop hop)`
`static Hop` HopRewriteUtils.`getOtherInput​(Hop hop, Hop input)`
`static long` HopRewriteUtils.`getSumValidInputDims​(Hop hop, boolean dim1)`
`static long` HopRewriteUtils.`getSumValidInputNnz​(Hop hop)`
`static boolean` HopRewriteUtils.`hasListInputs​(Hop hop)`
`static boolean` HopRewriteUtils.`hasOnlyUnaryBinaryParents​(Hop hop, boolean disallowLhs)`
`static boolean` HopRewriteUtils.`hasOnlyWriteParents​(Hop hop, boolean inclTransient, boolean inclPersistent)`
`static boolean` HopRewriteUtils.`hasValidInputDims​(Hop hop, boolean dim1)`
`static boolean` HopRewriteUtils.`hasValidInputNnz​(Hop hop)`
`static boolean` HopRewriteUtils.`isAggUnaryOp​(Hop hop, Types.AggOp... op)`
`static boolean` HopRewriteUtils.`isAggUnaryOp​(Hop hop, Types.AggOp op, Types.Direction dir)`
`static boolean` HopRewriteUtils.`isBasic1NSequence​(Hop hop)`
`static boolean` HopRewriteUtils.`isBasic1NSequence​(Hop seq, Hop input, boolean row)`
`static boolean` HopRewriteUtils.`isBasicN1Sequence​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinary​(Hop hop, Types.OpOp2 type)`
`static boolean` HopRewriteUtils.`isBinary​(Hop hop, Types.OpOp2... types)`
`static boolean` HopRewriteUtils.`isBinary​(Hop hop, Types.OpOp2 type, int maxParents)`
`static boolean` HopRewriteUtils.`isBinaryMatrixColVectorOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinaryMatrixMatrixOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinaryMatrixMatrixOperationWithSharedInput​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinaryMatrixRowVectorOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinaryMatrixScalar​(Hop hop, Types.OpOp2 type, double val)`
`static boolean` HopRewriteUtils.`isBinaryMatrixScalarOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinaryPPred​(Hop hop)`
`static boolean` HopRewriteUtils.`isBinarySparseSafe​(Hop hop)`
`static boolean` HopRewriteUtils.`isColumnRightIndexing​(Hop hop)`
`static boolean` HopRewriteUtils.`isConsecutiveIndex​(Hop index, Hop index2)`
`static boolean` HopRewriteUtils.`isData​(Hop hop, Types.OpOpData type)`
`static boolean` HopRewriteUtils.`isData​(Hop hop, Types.OpOpData... types)`
`static boolean` HopRewriteUtils.`isData​(Hop hop, Types.OpOpData type, Types.DataType dt)`
`static boolean` HopRewriteUtils.`isDataGenOp​(Hop hop, Types.OpOpDG... ops)`
`static boolean` HopRewriteUtils.`isDataGenOpWithConstantValue​(Hop hop)`
`static boolean` HopRewriteUtils.`isDataGenOpWithConstantValue​(Hop hop, double value)`
`static boolean` HopRewriteUtils.`isDataGenOpWithLiteralInputs​(Hop hop, Types.OpOpDG... ops)`
`static boolean` HopRewriteUtils.`isDataGenOpWithNonDeterminism​(Hop hop)`
`static boolean` HopRewriteUtils.`isDense​(Hop hop)`
`static boolean` HopRewriteUtils.`isDimsKnown​(Hop hop)`
`static boolean` HopRewriteUtils.`isDnn​(Hop hop, Types.OpOpDnn type)`
`static boolean` HopRewriteUtils.`isDnn​(Hop hop, Types.OpOpDnn... types)`
`static boolean` HopRewriteUtils.`isEmpty​(Hop hop)`
`static boolean` HopRewriteUtils.`isEqualSize​(Hop hop1, Hop hop2)`
`static boolean` HopRewriteUtils.`isEqualSize​(Hop hop1, Hop... hops)`
`static boolean` HopRewriteUtils.`isEqualValue​(Hop hop1, Hop hop2)`
`static boolean` HopRewriteUtils.`isLiteralOfValue​(Hop hop, boolean val)`
`static boolean` HopRewriteUtils.`isLiteralOfValue​(Hop hop, double val)`
`static boolean` HopRewriteUtils.`isLiteralOfValue​(Hop hop, Double... val)`
`static boolean` HopRewriteUtils.`isLiteralOfValue​(Hop hop, String val)`
`static boolean` HopRewriteUtils.`isMatrixMultiply​(Hop hop)`
`static boolean` HopRewriteUtils.`isNary​(Hop hop, Types.OpOpN type)`
`static boolean` HopRewriteUtils.`isNary​(Hop hop, Types.OpOpN... types)`
`static boolean` HopRewriteUtils.`isNonZeroIndicator​(Hop pred, Hop hop)`
`static boolean` HopRewriteUtils.`isNotMatrixVectorBinaryOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isOuterBinary​(Hop hop)`
`static boolean` HopRewriteUtils.`isOuterProductLikeMM​(Hop hop)`
`static boolean` HopRewriteUtils.`isParameterizedBuiltinOp​(Hop hop, Types.ParamBuiltinOp type)`
`static boolean` HopRewriteUtils.`isParameterizedBuiltinOp​(Hop hop, Types.ParamBuiltinOp... types)`
`static boolean` HopRewriteUtils.`isRemoveEmpty​(Hop hop)`
`static boolean` HopRewriteUtils.`isRemoveEmpty​(Hop hop, boolean rows)`
`static boolean` HopRewriteUtils.`isReorg​(Hop hop, Types.ReOrgOp type)`
`static boolean` HopRewriteUtils.`isReorg​(Hop hop, Types.ReOrgOp... types)`
`static boolean` HopRewriteUtils.`isScalarMatrixBinaryMult​(Hop hop)`
`static boolean` HopRewriteUtils.`isSingleBlock​(Hop hop)`
`static boolean` HopRewriteUtils.`isSingleBlock​(Hop hop, boolean cols)` Checks our BLOCKSIZE CONSTRAINT, w/ awareness of forced single node execution mode.
`static boolean` HopRewriteUtils.`isSizeExpressionOf​(Hop size, Hop input, boolean row)`
`static boolean` HopRewriteUtils.`isSparse​(Hop hop)`
`static boolean` HopRewriteUtils.`isSparse​(Hop hop, double threshold)`
`static boolean` HopRewriteUtils.`isSum​(Hop hop)`
`static boolean` HopRewriteUtils.`isSumSq​(Hop hop)`
`static boolean` HopRewriteUtils.`isTerminalHop​(Hop hop)` Check if given hop is of a terminal type.
`static boolean` HopRewriteUtils.`isTernary​(Hop hop, Types.OpOp3 type)`
`static boolean` HopRewriteUtils.`isTernary​(Hop hop, Types.OpOp3... types)`
`static boolean` HopRewriteUtils.`isTransformEncode​(Hop hop)`
`static boolean` HopRewriteUtils.`isTransposeOfItself​(Hop hop1, Hop hop2)`
`static boolean` HopRewriteUtils.`isTransposeOperation​(Hop hop)`
`static boolean` HopRewriteUtils.`isTransposeOperation​(Hop hop, int maxParents)`
`static boolean` HopRewriteUtils.`isTsmm​(Hop input)`
`static boolean` HopRewriteUtils.`isTsmmInput​(Hop input)`
`static boolean` HopRewriteUtils.`isUnary​(Hop hop, Types.OpOp1 type)`
`static boolean` HopRewriteUtils.`isUnary​(Hop hop, Types.OpOp1... types)`
`static boolean` HopRewriteUtils.`isUnary​(Hop hop, Types.OpOp1 type, int maxParents)`
`static boolean` HopRewriteUtils.`isUnnecessaryRightIndexing​(Hop hop)`
`static boolean` HopRewriteUtils.`knownParamservFunctions​(Hop hop)`
`static boolean` HopRewriteUtils.`knownParamservFunctions​(Hop hop, DMLProgram prog)`
`static boolean` HopRewriteUtils.`rContainsRead​(Hop root, String var, boolean includeMetaOp)`
`static void` HopRewriteUtils.`refreshOutputParameters​(Hop hnew, Hop hold)`
`static void` HopRewriteUtils.`removeAllChildReferences​(Hop parent)`
`static void` HopRewriteUtils.`removeChildReference​(Hop parent, Hop child)`
`static void` HopRewriteUtils.`removeChildReferenceByPos​(Hop parent, Hop child, int posChild)`
`static void` HopRewriteUtils.`replaceChildReference​(Hop parent, Hop inOld, Hop inNew)`
`static void` HopRewriteUtils.`replaceChildReference​(Hop parent, Hop inOld, Hop inNew, int pos)`
`static void` HopRewriteUtils.`replaceChildReference​(Hop parent, Hop inOld, Hop inNew, int pos, boolean refresh)`
`static Hop` HopRewriteUtils.`rewireAllParentChildReferences​(Hop hold, Hop hnew)` Replace an old Hop with a replacement Hop.
`abstract Hop` HopRewriteRule.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)` Handle a predicate hop DAG with exactly one root.
`Hop` ProgramRewriter.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteAlgebraicSimplificationStatic.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteBlockSizeAndReblock.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteCommonSubexpressionElimination.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteConstantFolding.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteElementwiseMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteGPUSpecificOps.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteIndexingVectorization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteMatrixMultChainOptimization.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteMatrixMultChainOptimizationTranspose.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteNonScalarPrint.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemovePersistentReadWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveReadAfterWrite.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`Hop` RewriteRemoveUnnecessaryCasts.`rewriteHopDAG​(Hop root, ProgramRewriteStatus state)`
`static boolean` HopRewriteUtils.`rHasSimpleReadChain​(Hop root, String var)`
`static boolean` RewriteCompressedReblock.`satisfiesAggressiveCompressionCondition​(Hop hop)`
`static boolean` RewriteCompressedReblock.`satisfiesCompressionCondition​(Hop hop)`
`static boolean` RewriteCompressedReblock.`satisfiesSizeConstraintsForCompression​(Hop hop)`
`static void` HopRewriteUtils.`setOutputParameters​(Hop hop, long rlen, long clen, int blen, long nnz)`
`static void` HopRewriteUtils.`setOutputParametersForScalar​(Hop hop)`
`static Hop` RewriteAlgebraicSimplificationStatic.`simplifyConstantConjunction​(Hop parent, Hop hi, int pos)`
`static void` HopRewriteUtils.`updateHopCharacteristics​(Hop hop, int blen, Hop src)`
`static void` HopRewriteUtils.`updateHopCharacteristics​(Hop hop, int blen, MemoTable memo, Hop src)`
`static void` HopDagValidator.`validateHopDag​(Hop root, HopRewriteRule rule)`

Method parameters in org.apache.sysds.hops.rewrite with type arguments of type Hop
`static boolean` HopRewriteUtils.`checkAvgRowsGteCols​(List<Hop> list)`
`static boolean` HopRewriteUtils.`checkConsistentRows​(List<Hop> list1, List<Hop> list2)`
`static boolean` HopRewriteUtils.`containsOp​(List<Hop> candidates, Class<? extends Hop> clazz)`
`static boolean` HopRewriteUtils.`containsOp​(List<Hop> candidates, Class<? extends Hop> clazz)`
`static boolean` HopRewriteUtils.`containsSecondOrderBuiltin​(List<Hop> roots)`
`static boolean` HopRewriteUtils.`containsTransposeOperation​(List<Hop> hops)`
`static ParameterizedBuiltinOp` HopRewriteUtils.`createParameterizedBuiltinOp​(Hop input, LinkedHashMap<String,​Hop> args, Types.ParamBuiltinOp op)`
`static ReorgOp` HopRewriteUtils.`createReorg​(List<Hop> inputs, Types.ReOrgOp rop)`
`ArrayList<Hop>` ProgramRewriter.`rewriteHopDAG​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`abstract ArrayList<Hop>` HopRewriteRule.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)` Handle a generic (last-level) hop DAG with multiple roots.
`ArrayList<Hop>` RewriteAlgebraicSimplificationDynamic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteAlgebraicSimplificationStatic.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteBlockSizeAndReblock.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteCommonSubexpressionElimination.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteConstantFolding.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteElementwiseMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteGPUSpecificOps.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteIndexingVectorization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteInjectSparkPReadCheckpointing.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteMatrixMultChainOptimization.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteMatrixMultChainOptimizationTranspose.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteNonScalarPrint.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemovePersistentReadWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveReadAfterWrite.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`ArrayList<Hop>` RewriteRemoveUnnecessaryCasts.`rewriteHopDAGs​(ArrayList<Hop> roots, ProgramRewriteStatus state)`
`static void` HopDagValidator.`validateHopDag​(ArrayList<Hop> roots, HopRewriteRule rule)`

### Uses of Hop in org.apache.sysds.parser

Methods in org.apache.sysds.parser that return Hop
`Hop` ForStatementBlock.`getFromHops()`
`Hop` ForStatementBlock.`getIncrementHops()`
`Hop` IfStatementBlock.`getPredicateHops()`
`Hop` WhileStatementBlock.`getPredicateHops()`
`Hop` ForStatementBlock.`getToHops()`

Methods in org.apache.sysds.parser that return types with arguments of type Hop
`ArrayList<Hop>` StatementBlock.`getHops()`

Methods in org.apache.sysds.parser with parameters of type Hop
`void` ForStatementBlock.`setFromHops​(Hop hops)`
`void` DMLTranslator.`setIdentifierParams​(Hop h, Identifier id)`
`void` ForStatementBlock.`setIncrementHops​(Hop hops)`
`void` IfStatementBlock.`setPredicateHops​(Hop hops)`
`void` WhileStatementBlock.`setPredicateHops​(Hop hops)`
`void` ForStatementBlock.`setToHops​(Hop hops)`

Method parameters in org.apache.sysds.parser with type arguments of type Hop
`void` StatementBlock.`setHops​(ArrayList<Hop> hops)`

### Uses of Hop in org.apache.sysds.runtime.compress.workload

Methods in org.apache.sysds.runtime.compress.workload that return Hop
`Hop` Op.`getHop()`
`Hop` OpMetadata.`getParent()`
`Hop` WTreeRoot.`getRoot()` Get the Root hop instruction, that is producing a result used in the rest of the tree.

Constructors in org.apache.sysds.runtime.compress.workload with parameters of type Hop
`Op​(Hop op)`
`OpMetadata​(Hop op, Hop parent)`
`OpNormal​(Hop op, boolean compressedOut)`
`OpSided​(Hop op, boolean cLeft, boolean cRight, boolean tLeft, boolean tRight)`
`WTreeRoot​(Hop root)`

### Uses of Hop in org.apache.sysds.runtime.controlprogram

Methods in org.apache.sysds.runtime.controlprogram with parameters of type Hop
`ScalarObject` ProgramBlock.`executePredicate​(ArrayList<Instruction> inst, Hop hops, boolean requiresRecompile, Types.ValueType retType, ExecutionContext ec)` Executes given predicate instructions (incl recompilation if required)

### Uses of Hop in org.apache.sysds.runtime.controlprogram.parfor.opt

Methods in org.apache.sysds.runtime.controlprogram.parfor.opt that return Hop
`Hop` OptTree.`getMappedHop​(long id)`
`Hop` OptTreePlanMapping.`getMappedHop​(long id)`

Methods in org.apache.sysds.runtime.controlprogram.parfor.opt with parameters of type Hop
`long` OptTreePlanMapping.`putHopMapping​(Hop hops, OptNode n)`
`static List<OptNode>` OptTreeConverter.`rCreateAbstractOptNodes​(Hop hop, LocalVariableMap vars, OptTreePlanMapping hlMap, Set<String> memo)`

Method parameters in org.apache.sysds.runtime.controlprogram.parfor.opt with type arguments of type Hop
`static ArrayList<OptNode>` OptTreeConverter.`createAbstractOptNodes​(ArrayList<Hop> hops, LocalVariableMap vars, OptTreePlanMapping hlMap, Set<String> memo)`

### Uses of Hop in org.apache.sysds.runtime.lineage

Methods in org.apache.sysds.runtime.lineage with parameters of type Hop
`static void` LineageItemUtils.`constructLineageFromHops​(Hop[] roots, String claName, Hop[] inputs, HashMap<Long,​Hop> spoofmap)`
`static void` LineageItemUtils.`rConstructLineageFromHops​(Hop root, Hop[] inputs, Map<Long,​LineageItem> operands, HashMap<Long,​Hop> spoofmap)`

Method parameters in org.apache.sysds.runtime.lineage with type arguments of type Hop
`static void` LineageItemUtils.`constructLineageFromHops​(Hop[] roots, String claName, Hop[] inputs, HashMap<Long,​Hop> spoofmap)`
`static void` LineageItemUtils.`rConstructLineageFromHops​(Hop root, Hop[] inputs, Map<Long,​LineageItem> operands, HashMap<Long,​Hop> spoofmap)`

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

Methods in org.apache.sysds.runtime.matrix.data with parameters of type Hop
`void` DnnParameters.`setIfUnknown​(Hop N, Hop C, Hop H, Hop W, Hop K, Hop R, Hop S, Hop stride_h, Hop stride_w, Hop pad_h, Hop pad_w, int numThreads)`

### Uses of Hop in org.apache.sysds.runtime.util

Methods in org.apache.sysds.runtime.util that return types with arguments of type Hop
`static ArrayList<Hop>` AutoDiff.`constructHopsNR​(LineageItem item, Map<Long,​Hop> operands, Hop mo, ArrayList<String> names)`

Methods in org.apache.sysds.runtime.util with parameters of type Hop
`static ArrayList<Hop>` AutoDiff.`constructHopsNR​(LineageItem item, Map<Long,​Hop> operands, Hop mo, ArrayList<String> names)`

Method parameters in org.apache.sysds.runtime.util with type arguments of type Hop
`static ArrayList<Hop>` AutoDiff.`constructHopsNR​(LineageItem item, Map<Long,​Hop> operands, Hop mo, ArrayList<String> names)`

### Uses of Hop in org.apache.sysds.utils

Methods in org.apache.sysds.utils with parameters of type Hop
`static String` Explain.`explain​(Hop hop)`
`static String` Explain.`explain​(Hop hop, int level)`

Method parameters in org.apache.sysds.utils with type arguments of type Hop
`static String` Explain.`explainHops​(List<Hop> hops)`
`static String` Explain.`explainHops​(List<Hop> hops, int level)`