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
`static List<AColGroup>` `compressColGroups​(MatrixBlock in, CompressedSizeInfo csi, CompressionSettings cs)` The actual compression method, that handles the logic of compressing multiple columns together.
`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)

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.
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,
                                                    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.