Package org.apache.sysds.runtime.compress.lib

# Interface CLALibSelectionMult

public interface CLALibSelectionMult
This lib is responsible for selecting and extracting specific rows or columns from a compressed matrix. The operation performed is like a left matrix multiplication where the left side only have max 1 non zero per row.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final org.apache.commons.logging.Log`
`LOG`

## Method Summary

Static Methods
Modifier and Type
Method
Description
`static boolean`
`isSelectionMatrix(MatrixBlock mb)`
Analyze if the given matrix is a selection matrix if on the left side of a matrix multiplication.
`static MatrixBlock`
`leftSelection(CompressedMatrixBlock right, MatrixBlock left, MatrixBlock ret, int k)`
Left selection where the left matrix is sparse with a max 1 non zero per row and that non zero is a 1.

## Field Details

### LOG

static final org.apache.commons.logging.Log LOG

## Method Details

### leftSelection

static MatrixBlock leftSelection(CompressedMatrixBlock right, MatrixBlock left, MatrixBlock ret, int k)
Left selection where the left matrix is sparse with a max 1 non zero per row and that non zero is a 1.

Parameters:
  `right` - Right hand side compressed matrix
  `left` - Left hand side matrix
  `ret` - Output matrix to put the result into.
  `k` - The parallelization degree.
Returns:
  The selected rows and columns of the input matrix

### isSelectionMatrix

static boolean isSelectionMatrix(MatrixBlock mb)
Analyze if the given matrix is a selection matrix if on the left side of a matrix multiplication.

Parameters:
  `mb` - The given matrix that should be on the left side
Returns:
  If it is selective