Package org.apache.sysds.lops

## Class PMMJ

- java.lang.Object
- - org.apache.sysds.lops.Lop
  - - org.apache.sysds.lops.PMMJ

    public class PMMJ
    extends Lop

### Nested Class Summary

Nested Classes
`static class` `PMMJ.CacheType`

### Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop

`Lop.SimpleInstType, Lop.Type, Lop.VisitStatus`

### Field Summary

Fields
`static String` `OPCODE`

### Fields inherited from class org.apache.sysds.lops.Lop

`_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER`

### Constructor Summary

Constructors
`PMMJ​(Lop pminput, Lop rightinput, Lop nrow, Types.DataType dt, Types.ValueType vt, boolean partitioned, boolean emptyBlocks, Types.ExecType et)` Constructor to setup a Permutation Matrix Multiplication

### Method Summary

All Methods Instance Methods Concrete Methods
`Lop` `getBroadcastInput()` Method to get the input to be broadcast.
`String` `getInstructions​(String input_index1, String input_index2, String input_index3, String output_index)` Method should be overridden if needed
`void` `setNumThreads​(int k)`
`String` `toString()` Method to have Lops print their state.

### Methods inherited from class org.apache.sysds.lops.Lop

`activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getOutputParameters, getOutputs, getPrivacyConstraint, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getType, getValueType, getVisited, isAllOutputsCP, isAsynchronousOp, isDataExecLocation, isExecSpark, isVariable, isVisited, prefetchActivated, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeInput, removeOutput, replaceInput, resetVisitStatus, setAllPositions, setAsynchronous, setBeginColumn, setBeginLine, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setNewID, setPrivacyConstraint, setValueType, setVisited, setVisited`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### OPCODE

    public static final String OPCODE

See Also:
  Constant Field Values

### Constructor Detail

#### PMMJ

    public PMMJ​(Lop pminput,
                Lop rightinput,
                Lop nrow,
                Types.DataType dt,
                Types.ValueType vt,
                boolean partitioned,
                boolean emptyBlocks,
                Types.ExecType et)

Constructor to setup a Permutation Matrix Multiplication

Parameters:
  `pminput` - permutation matrix input lop
  `rightinput` - right lop
  `nrow` - number of rows?
  `dt` - data type
  `vt` - value type
  `partitioned` - true if partitioned
  `emptyBlocks` - true if output empty blocks
  `et` - execution type

### Method Detail

#### toString

    public String toString()

Description copied from class: `Lop`
Method to have Lops print their state. This is for debugging purposes.

Specified by:
  `toString` in class `Lop`

#### getBroadcastInput

    public Lop getBroadcastInput()

Description copied from class: `Lop`
Method to get the input to be broadcast. This method is overridden by the Lops which require broadcasts (e.g. AppendM)

Overrides:
  `getBroadcastInput` in class `Lop`
Returns:
  An input Lop or Null

#### getInstructions

    public String getInstructions​(String input_index1,
                                  String input_index2,
                                  String input_index3,
                                  String output_index)

Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input_index1` - input 1
  `input_index2` - input 2
  `input_index3` - input 3
  `output_index` - output
Returns:
  instructions as string

#### setNumThreads

    public void setNumThreads​(int k)