## Uses of Class
org.apache.sysds.runtime.compress.colgroup.AColGroup

- Packages that use AColGroup
  Package | Description
  --- | ---
  org.apache.sysds.runtime.compress |
  org.apache.sysds.runtime.compress.colgroup |
  org.apache.sysds.runtime.compress.cost |

- - ### Uses of AColGroup in org.apache.sysds.runtime.compress

    Methods in org.apache.sysds.runtime.compress that return types with arguments of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<AColGroup>` | CompressedMatrixBlock.`getColGroups()` | Get the column groups of this CompressedMatrixBlock

    Methods in org.apache.sysds.runtime.compress with parameters of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | CompressedMatrixBlock.`allocateColGroup​(AColGroup cg)` | Allocate the given column group and remove all references to old column groups.

    Method parameters in org.apache.sysds.runtime.compress with type arguments of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | CompressedMatrixBlock.`allocateColGroupList​(List<AColGroup> colGroups)` | Replace the column groups in this CompressedMatrixBlock with the given column groups

  - ### Uses of AColGroup in org.apache.sysds.runtime.compress.colgroup

    Subclasses of AColGroup in org.apache.sysds.runtime.compress.colgroup
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AColGroupCompressed` | Base class for column groups encoded Encoded in a compressed manner.
    `class` | `AColGroupOffset` | Base class for column groups encoded with various types of bitmap encoding.
    `class` | `AColGroupValue` | Base class for column groups encoded with value dictionary.
    `class` | `AMorphingMMColGroup` | Abstract class for column group types that do not perform matrix Multiplication, and decompression for performance reasons but instead transforms into another type of column group type to perform that operation.
    `class` | `APreAgg` | Abstract class for all the column groups that use preAggregation for Left matrix multiplications.
    `class` | `ASDCZero` |
    `class` | `ColGroupConst` |
    `class` | `ColGroupDDC` | Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).
    `class` | `ColGroupDDCFOR` | Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).
    `class` | `ColGroupDeltaDDC` | Class to encapsulate information about a column group that is first delta encoded then encoded with dense dictionary encoding (DeltaDDC).
    `class` | `ColGroupEmpty` |
    `class` | `ColGroupOLE` | Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of distinct values.
    `class` | `ColGroupRLE` | A group of columns compressed with a single run-length encoded bitmap.
    `class` | `ColGroupSDC` | Column group that sparsely encodes the dictionary values.
    `class` | `ColGroupSDCFOR` | ColGroup for Patched Frame Of Reference.
    `class` | `ColGroupSDCSingle` | Column group that sparsely encodes the dictionary values.
    `class` | `ColGroupSDCSingleZeros` | Column group that sparsely encodes the dictionary values.
    `class` | `ColGroupSDCZeros` | Column group that sparsely encodes the dictionary values.
    `class` | `ColGroupUncompressed` | Column group type for columns that are stored as dense arrays of doubles.

    Methods in org.apache.sysds.runtime.compress.colgroup that return AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract AColGroup` | AColGroup.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` | Perform a binary row operation.
    `AColGroup` | ColGroupConst.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupDDC.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupDDCFOR.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupEmpty.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupOLE.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupRLE.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDC.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCFOR.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCSingle.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCSingleZeros.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCZeros.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupUncompressed.`binaryRowOpLeft​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `abstract AColGroup` | AColGroup.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` | Perform a binary row operation.
    `AColGroup` | ColGroupConst.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupDDC.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupDDCFOR.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupEmpty.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupOLE.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupRLE.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDC.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCFOR.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCSingle.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCSingleZeros.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupSDCZeros.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `AColGroup` | ColGroupUncompressed.`binaryRowOpRight​(BinaryOperator op, double[] v, boolean isRowSafe)` |
    `abstract AColGroup` | AColGroup.`copy()` | Get a copy of this column group note this is only a shallow copy.
    `AColGroup` | ColGroupConst.`copy()` |
    `AColGroup` | ColGroupEmpty.`copy()` |
    `AColGroup` | ColGroupUncompressed.`copy()` |
    `static AColGroup` | ColGroupConst.`create​(double[] values)` | Generate a constant column group.
    `static AColGroup` | ColGroupConst.`create​(int[] cols, double value)` | Generate a constant column group.
    `static AColGroup` | ColGroupConst.`create​(int[] cols, double[] values)` | Generate a constant column group.
    `static AColGroup` | ColGroupConst.`create​(int numCols, double value)` | Generate a constant column group.
    `static AColGroup` | ColGroupConst.`create​(int numCols, ADictionary dict)` | Generate a constant column group.
    `static AColGroup` | ColGroupDeltaDDC.`create​(int[] colIndices, int numRows, ADictionary dict, AMapToData data, int[] cachedCounts)` |
    `static AColGroup` | ColGroupUncompressed.`create​(int[] colIndexes, MatrixBlock rawBlock, boolean transposed)` | Main constructor for Uncompressed ColGroup.
    `abstract AColGroup` | AMorphingMMColGroup.`extractCommon​(double[] constV)` |
    `AColGroup` | ColGroupDDCFOR.`extractCommon​(double[] constV)` |
    `AColGroup` | ColGroupSDC.`extractCommon​(double[] constV)` |
    `AColGroup` | ColGroupSDCFOR.`extractCommon​(double[] constV)` |
    `AColGroup` | ColGroupSDCSingle.`extractCommon​(double[] constV)` |
    `abstract AColGroup` | AColGroup.`replace​(double pattern, double replace)` | Make a copy of the column group values, and replace all values that match pattern with replacement value.
    `AColGroup` | AColGroupValue.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupConst.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupDDCFOR.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupEmpty.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupSDC.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupSDCFOR.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupSDCSingle.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupSDCSingleZeros.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupSDCZeros.`replace​(double pattern, double replace)` |
    `AColGroup` | ColGroupUncompressed.`replace​(double pattern, double replace)` |
    `abstract AColGroup` | AColGroup.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` | Expand the column group to multiple columns.
    `AColGroup` | AColGroupValue.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupConst.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupDDCFOR.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupEmpty.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupSDC.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupSDCFOR.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupSDCSingle.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `AColGroup` | ColGroupUncompressed.`rexpandCols​(int max, boolean ignore, boolean cast, int nRows)` |
    `abstract AColGroup` | AColGroup.`rightMultByMatrix​(MatrixBlock right)` | Right matrix multiplication with this column group.
    `AColGroup` | AColGroupValue.`rightMultByMatrix​(MatrixBlock right)` |
    `AColGroup` | ColGroupConst.`rightMultByMatrix​(MatrixBlock right)` |
    `AColGroup` | ColGroupEmpty.`rightMultByMatrix​(MatrixBlock right)` |
    `AColGroup` | ColGroupUncompressed.`rightMultByMatrix​(MatrixBlock right)` |
    `abstract AColGroup` | AColGroup.`scalarOperation​(ScalarOperator op)` | Perform the specified scalar operation directly on the compressed column group, without decompressing individual cells if possible.
    `AColGroup` | ColGroupConst.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDDCFOR.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupDeltaDDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupEmpty.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupOLE.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupRLE.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDC.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCFOR.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCSingle.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCSingleZeros.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupSDCZeros.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | ColGroupUncompressed.`scalarOperation​(ScalarOperator op)` |
    `AColGroup` | AColGroup.`sliceColumn​(int col)` | Slice out a single column from the column group.
    `AColGroup` | AColGroup.`sliceColumns​(int cl, int cu)` | Slice out the columns within the range of cl and cu to remove the dictionary values related to these columns.
    `AColGroup` | ColGroupSDC.`subtractDefaultTuple()` |
    `abstract AColGroup` | AColGroup.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupConst.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupDDC.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupDDCFOR.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupEmpty.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupOLE.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupRLE.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupSDC.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupSDCFOR.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupSDCSingle.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupSDCSingleZeros.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupSDCZeros.`unaryOperation​(UnaryOperator op)` |
    `AColGroup` | ColGroupUncompressed.`unaryOperation​(UnaryOperator op)` |

    Methods in org.apache.sysds.runtime.compress.colgroup that return types with arguments of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<AColGroup>` | ColGroupFactory.`compressColGroups​(MatrixBlock in, CompressedSizeInfo csi, CompressionSettings cs, int k)` | The actual compression method, that handles the logic of compressing multiple columns together.
    `static List<AColGroup>` | ColGroupFactory.`compressColGroups​(MatrixBlock in, CompressedSizeInfo csi, CompressionSettings cs, ACostEstimate ce, int k)` |
    `static List<AColGroup>` | ColGroupIO.`readGroups​(DataInput in, int nRows)` | Read groups from a file.

    Methods in org.apache.sysds.runtime.compress.colgroup with parameters of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | AColGroup.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` | Left side matrix multiplication with a column group that is transposed.
    `void` | AMorphingMMColGroup.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `void` | APreAgg.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `void` | ColGroupConst.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `void` | ColGroupEmpty.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock c)` |
    `void` | ColGroupOLE.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `void` | ColGroupRLE.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `void` | ColGroupUncompressed.`leftMultByAColGroup​(AColGroup lhs, MatrixBlock result)` |
    `abstract void` | AColGroup.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` | Matrix multiply with this other column group, but: 1.
    `void` | AMorphingMMColGroup.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | APreAgg.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | ColGroupConst.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | ColGroupEmpty.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | ColGroupOLE.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | ColGroupRLE.`tsmmAColGroup​(AColGroup other, MatrixBlock result)` |
    `void` | ColGroupUncompressed.`tsmmAColGroup​(AColGroup lhs, MatrixBlock result)` |

    Method parameters in org.apache.sysds.runtime.compress.colgroup with type arguments of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `static double[]` | AColGroup.`colSum​(List<AColGroup> groups, double[] res, int nRows)` | Compute the column sum of the given list of groups
    `static long` | ColGroupIO.`getExactSizeOnDisk​(List<AColGroup> colGroups)` | Get the size on disk for the given list of column groups
    `static void` | ColGroupIO.`writeGroups​(DataOutput out, List<AColGroup> colGroups)` | Writes the ColGroups out to the DataOutput.

  - ### Uses of AColGroup in org.apache.sysds.runtime.compress.cost

    Methods in org.apache.sysds.runtime.compress.cost with parameters of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract double` | ACostEstimate.`getCost​(AColGroup cg, int nRows)` | Get the cost of a compressed columnGroup.
    `double` | ComputationCostEstimator.`getCost​(AColGroup cg, int nRows)` |
    `double` | DistinctCostEstimator.`getCost​(AColGroup cg, int nRows)` |
    `double` | HybridCostEstimator.`getCost​(AColGroup cg, int nRows)` |
    `double` | MemoryCostEstimator.`getCost​(AColGroup cg, int nRows)` |

    Method parameters in org.apache.sysds.runtime.compress.cost with type arguments of type AColGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `double` | ACostEstimate.`getCost​(Collection<AColGroup> cgs, int nRows)` | Get the cost of a collection of column groups.