Package org.apache.sysds.runtime.compress.colgroup

## Class ColGroupFactory

- java.lang.Object
- - org.apache.sysds.runtime.compress.colgroup.ColGroupFactory

-     public class ColGroupFactory
      extends Object

  Factory class for constructing ColGroups.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<AColGroup>` | `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>` | `compressColGroups​(MatrixBlock in, CompressedSizeInfo csi, CompressionSettings cs, ACostEstimate ce, int k)` |

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

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

- - ### Method Detail

    - #### compressColGroups

          public static List<AColGroup> compressColGroups​(MatrixBlock in,
                                                          CompressedSizeInfo csi,
                                                          CompressionSettings cs,
                                                          int k)

      The actual compression method, that handles the logic of compressing multiple columns together.
      Parameters:
        `in` - The input matrix, that could have been transposed. If it is transposed the compSettings should specify this.
        `csi` - The compression information extracted from the estimation, this contains which groups of columns to compress together.
        `cs` - The compression settings to specify how to compress.
        `k` - The degree of parallelism to be used in the compression of the column groups.
      Returns:
        A resulting array of ColGroups, containing the compressed information from the input matrix block.

    - #### compressColGroups

          public static List<AColGroup> compressColGroups​(MatrixBlock in,
                                                          CompressedSizeInfo csi,
                                                          CompressionSettings cs,
                                                          ACostEstimate ce,
                                                          int k)

      Parameters:
        `in` - The input matrix, that could have been transposed. If it is transposed the compSettings should specify this.
        `csi` - The compression information extracted from the estimation, this contains which groups of columns to compress together.
        `cs` - The compression settings to specify how to compress.
        `ce` - The cost estimator used for the compression
        `k` - The degree of parallelism to be used in the compression of the column groups.
      Returns:
        A resulting array of ColGroups, containing the compressed information from the input matrix block.