## Uses of Class
org.apache.sysds.runtime.compress.colgroup.dictionary.ADictionary

Packages that use ADictionary
org.apache.sysds.runtime.compress.colgroup
org.apache.sysds.runtime.compress.colgroup.dictionary
org.apache.sysds.runtime.compress.colgroup.mapping

### Uses of ADictionary in org.apache.sysds.runtime.compress.colgroup

Methods in org.apache.sysds.runtime.compress.colgroup that return ADictionary
`ADictionary` ADictBasedColGroup.`getDictionary()`
`ADictionary` ColGroupSDCSingle.`getDictionary()`
`ADictionary` APreAgg.`preAggregateThatIndexStructure​(APreAgg that)` Pre aggregate into a dictionary.

Methods in org.apache.sysds.runtime.compress.colgroup with parameters of type ADictionary
`static AColGroup` ColGroupConst.`create​(int numCols, ADictionary dict)` Generate a constant column group.
`static AColGroup` ColGroupDDC.`create​(IColIndex colIndexes, ADictionary dict, AMapToData data, int[] cachedCounts)`
`static AColGroup` ColGroupDDCFOR.`create​(IColIndex colIndexes, ADictionary dict, AMapToData data, int[] cachedCounts, double[] reference)`
`static AColGroup` ColGroupSDC.`create​(IColIndex colIndices, int numRows, ADictionary dict, double[] defaultTuple, AOffset offsets, AMapToData data, int[] cachedCounts)`
`static AColGroup` ColGroupSDCFOR.`create​(IColIndex colIndexes, int numRows, ADictionary dict, AOffset offsets, AMapToData data, int[] cachedCounts, double[] reference)`
`static AColGroup` ColGroupSDCSingle.`create​(IColIndex colIndexes, int numRows, ADictionary dict, double[] defaultTuple, AOffset offsets, int[] cachedCounts)`
`static AColGroup` ColGroupSDCSingleZeros.`create​(IColIndex colIndices, int numRows, ADictionary dict, AOffset offsets, int[] cachedCounts)`
`static AColGroup` ColGroupSDCZeros.`create​(IColIndex colIndices, int numRows, ADictionary dict, AOffset offsets, AMapToData data, int[] cachedCounts)`

### Uses of ADictionary in org.apache.sysds.runtime.compress.colgroup.dictionary

Subclasses of ADictionary in org.apache.sysds.runtime.compress.colgroup.dictionary
`class` `DeltaDictionary` This dictionary class is a specialization for the DeltaDDCColgroup.
`class` `Dictionary` This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column group.
`class` `IdentityDictionary`
`class` `IdentityDictionarySlice`
`class` `MatrixBlockDictionary`
`class` `QDictionary` This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column group.

Methods in org.apache.sysds.runtime.compress.colgroup.dictionary that return ADictionary
`abstract ADictionary` ADictionary.`applyScalarOp​(ScalarOperator op)` Allocate a new dictionary and applies the scalar operation on each cell of to then return the new dictionary.
`ADictionary` IdentityDictionary.`applyScalarOp​(ScalarOperator op)`
`ADictionary` MatrixBlockDictionary.`applyScalarOp​(ScalarOperator op)`
`abstract ADictionary` ADictionary.`applyScalarOpAndAppend​(ScalarOperator op, double v0, int nCol)` Allocate a new dictionary with one extra row and applies the scalar operation on each cell of to then return the new dictionary.
`ADictionary` Dictionary.`applyScalarOpAndAppend​(ScalarOperator op, double v0, int nCol)`
`ADictionary` IdentityDictionary.`applyScalarOpAndAppend​(ScalarOperator op, double v0, int nCol)`
`ADictionary` MatrixBlockDictionary.`applyScalarOpAndAppend​(ScalarOperator op, double v0, int nCol)`
`ADictionary` QDictionary.`applyScalarOpAndAppend​(ScalarOperator op, double v0, int nCol)`
`abstract ADictionary` ADictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)` Allocate a new dictionary and apply the scalar operation on each cell to then return a new dictionary.
`ADictionary` IdentityDictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)`
`ADictionary` MatrixBlockDictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)`
`ADictionary` QDictionary.`applyScalarOpWithReference​(ScalarOperator op, double[] reference, double[] newReference)`
`abstract ADictionary` ADictionary.`applyUnaryOp​(UnaryOperator op)` Allocate a new dictionary and apply the unary operator on each cell.
`ADictionary` IdentityDictionary.`applyUnaryOp​(UnaryOperator op)`
`ADictionary` MatrixBlockDictionary.`applyUnaryOp​(UnaryOperator op)`
`ADictionary` QDictionary.`applyUnaryOp​(UnaryOperator op)`
`abstract ADictionary` ADictionary.`applyUnaryOpAndAppend​(UnaryOperator op, double v0, int nCol)` Allocate a new dictionary with one extra row and apply the unary operator on each cell.
`ADictionary` Dictionary.`applyUnaryOpAndAppend​(UnaryOperator op, double v0, int nCol)`
`ADictionary` IdentityDictionary.`applyUnaryOpAndAppend​(UnaryOperator op, double v0, int nCol)`
`ADictionary` MatrixBlockDictionary.`applyUnaryOpAndAppend​(UnaryOperator op, double v0, int nCol)`
`ADictionary` QDictionary.`applyUnaryOpAndAppend​(UnaryOperator op, double v0, int nCol)`
`abstract ADictionary` ADictionary.`applyUnaryOpWithReference​(UnaryOperator op, double[] reference, double[] newReference)` Allocate a new dictionary and apply the scalar operation on each cell to then return a new dictionary.
`ADictionary` Dictionary.`applyUnaryOpWithReference​(UnaryOperator op, double[] reference, double[] newReference)`
`ADictionary` IdentityDictionary.`applyUnaryOpWithReference​(UnaryOperator op, double[] reference, double[] newReference)`
`ADictionary` MatrixBlockDictionary.`applyUnaryOpWithReference​(UnaryOperator op, double[] reference, double[] newReference)`
`ADictionary` QDictionary.`applyUnaryOpWithReference​(UnaryOperator op, double[] reference, double[] newReference)`
`abstract ADictionary` ADictionary.`binOpLeft​(BinaryOperator op, double[] v, IColIndex colIndexes)` Apply binary row operation on the left side
`ADictionary` IdentityDictionary.`binOpLeft​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` MatrixBlockDictionary.`binOpLeft​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` QDictionary.`binOpLeft​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`abstract ADictionary` ADictionary.`binOpLeftAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)` Apply binary row operation on the left side with one extra row evaluating with zeros.
`ADictionary` Dictionary.`binOpLeftAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` IdentityDictionary.`binOpLeftAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` MatrixBlockDictionary.`binOpLeftAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` QDictionary.`binOpLeftAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`abstract ADictionary` ADictionary.`binOpLeftWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)` Apply the binary operator such that each value is offset by the reference before application.
`ADictionary` IdentityDictionary.`binOpLeftWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)`
`ADictionary` QDictionary.`binOpLeftWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)`
`abstract ADictionary` ADictionary.`binOpRight​(BinaryOperator op, double[] v)` Apply binary row operation on the right side as with no columns to extract from v.
`abstract ADictionary` ADictionary.`binOpRight​(BinaryOperator op, double[] v, IColIndex colIndexes)` Apply binary row operation on the right side.
`ADictionary` IdentityDictionary.`binOpRight​(BinaryOperator op, double[] v)`
`ADictionary` IdentityDictionary.`binOpRight​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` QDictionary.`binOpRight​(BinaryOperator op, double[] v)`
`ADictionary` QDictionary.`binOpRight​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`abstract ADictionary` ADictionary.`binOpRightAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)` Apply binary row operation on the right side with one extra row evaluating with zeros.
`ADictionary` Dictionary.`binOpRightAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` IdentityDictionary.`binOpRightAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` MatrixBlockDictionary.`binOpRightAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`ADictionary` QDictionary.`binOpRightAndAppend​(BinaryOperator op, double[] v, IColIndex colIndexes)`
`abstract ADictionary` ADictionary.`binOpRightWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)` Apply the binary operator such that each value is offset by the reference before application.
`ADictionary` IdentityDictionary.`binOpRightWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)`
`ADictionary` QDictionary.`binOpRightWithReference​(BinaryOperator op, double[] v, IColIndex colIndexes, double[] reference, double[] newReference)`
`abstract ADictionary` ADictionary.`clone()` Returns a deep clone of the dictionary.
`ADictionary` IdentityDictionary.`clone()`
`ADictionary` IdentityDictionarySlice.`clone()`
`ADictionary` MatrixBlockDictionary.`clone()`
`static ADictionary` DictionaryFactory.`create​(ABitmap ubm)`
`static ADictionary` DictionaryFactory.`create​(ABitmap ubm, double sparsity)`
`static ADictionary` DictionaryFactory.`create​(ABitmap ubm, double sparsity, boolean withZeroTuple)`
`static ADictionary` DictionaryFactory.`create​(ABitmap ubm, int defaultIndex, double[] defaultTuple, double sparsity, boolean addZero)`
`static ADictionary` DictionaryFactory.`create​(DblArrayCountHashMap map, int nCols, boolean addZeroTuple, double sparsity)`
`static ADictionary` DictionaryFactory.`create​(DoubleCountHashMap map)`
`static ADictionary` DictionaryFactory.`createWithAppendedZeroTuple​(ABitmap ubm, double sparsity)`
`abstract ADictionary` ADictionary.`preaggValuesFromDense​(int numVals, IColIndex colIndexes, IColIndex aggregateColumns, double[] b, int cut)` Pre Aggregate values for Right Matrix Multiplication.
`ADictionary` IdentityDictionary.`preaggValuesFromDense​(int numVals, IColIndex colIndexes, IColIndex aggregateColumns, double[] b, int cut)`
`ADictionary` QDictionary.`preaggValuesFromDense​(int numVals, IColIndex colIndexes, IColIndex aggregateColumns, double[] b, int cut)`
`static ADictionary` DictionaryFactory.`read​(DataInput in)`
`abstract ADictionary` ADictionary.`replace​(double pattern, double replace, int nCol)` Make a copy of the values, and replace all values that match pattern with replacement value.
`ADictionary` Dictionary.`replace​(double pattern, double replace, int nCol)`
`ADictionary` IdentityDictionary.`replace​(double pattern, double replace, int nCol)`
`ADictionary` IdentityDictionarySlice.`replace​(double pattern, double replace, int nCol)`
`ADictionary` MatrixBlockDictionary.`replace​(double pattern, double replace, int nCol)`
`ADictionary` QDictionary.`replace​(double pattern, double replace, int nCol)`
`abstract ADictionary` ADictionary.`replaceWithReference​(double pattern, double replace, double[] reference)` Make a copy of the values, and replace all values that match pattern with replacement value.
`ADictionary` Dictionary.`replaceWithReference​(double pattern, double replace, double[] reference)`
`ADictionary` IdentityDictionary.`replaceWithReference​(double pattern, double replace, double[] reference)`
`ADictionary` IdentityDictionarySlice.`replaceWithReference​(double pattern, double replace, double[] reference)`
`ADictionary` MatrixBlockDictionary.`replaceWithReference​(double pattern, double replace, double[] reference)`
`ADictionary` QDictionary.`replaceWithReference​(double pattern, double replace, double[] reference)`
`abstract ADictionary` ADictionary.`rexpandCols​(int max, boolean ignore, boolean cast, int nCol)` Rexpand the dictionary (one hot encode)
`ADictionary` Dictionary.`rexpandCols​(int max, boolean ignore, boolean cast, int nCol)`
`ADictionary` IdentityDictionary.`rexpandCols​(int max, boolean ignore, boolean cast, int nCol)`
`ADictionary` MatrixBlockDictionary.`rexpandCols​(int max, boolean ignore, boolean cast, int nCol)`
`ADictionary` QDictionary.`rexpandCols​(int max, boolean ignore, boolean cast, int nCol)`
`abstract ADictionary` ADictionary.`rexpandColsWithReference​(int max, boolean ignore, boolean cast, int reference)` Rexpand the dictionary (one hot encode)
`ADictionary` Dictionary.`rexpandColsWithReference​(int max, boolean ignore, boolean cast, int reference)`
`ADictionary` IdentityDictionary.`rexpandColsWithReference​(int max, boolean ignore, boolean cast, int reference)`
`ADictionary` MatrixBlockDictionary.`rexpandColsWithReference​(int max, boolean ignore, boolean cast, int reference)`
`ADictionary` QDictionary.`rexpandColsWithReference​(int max, boolean ignore, boolean cast, int reference)`
`abstract ADictionary` ADictionary.`scaleTuples​(int[] scaling, int nCol)` Scale all tuples contained in the dictionary by the scaling factor given in the int list.
`ADictionary` Dictionary.`scaleTuples​(int[] scaling, int nCol)`
`ADictionary` IdentityDictionary.`scaleTuples​(int[] scaling, int nCol)`
`ADictionary` IdentityDictionarySlice.`scaleTuples​(int[] scaling, int nCol)`
`ADictionary` MatrixBlockDictionary.`scaleTuples​(int[] scaling, int nCol)`
`ADictionary` QDictionary.`scaleTuples​(int[] scaling, int nCol)`
`abstract ADictionary` ADictionary.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)` Modify the dictionary by removing columns not within the index range.
`ADictionary` Dictionary.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)`
`ADictionary` IdentityDictionary.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)`
`ADictionary` IdentityDictionarySlice.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)`
`ADictionary` MatrixBlockDictionary.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)`
`ADictionary` QDictionary.`sliceOutColumnRange​(int idxStart, int idxEnd, int previousNumberOfColumns)`
`abstract ADictionary` ADictionary.`subtractTuple​(double[] tuple)` Allocate a new dictionary where the tuple given is subtracted from all tuples in the previous dictionary.
`ADictionary` Dictionary.`subtractTuple​(double[] tuple)`
`ADictionary` IdentityDictionary.`subtractTuple​(double[] tuple)`
`ADictionary` MatrixBlockDictionary.`subtractTuple​(double[] tuple)`
`ADictionary` QDictionary.`subtractTuple​(double[] tuple)`

Methods in org.apache.sysds.runtime.compress.colgroup.dictionary with parameters of type ADictionary
`abstract boolean` ADictionary.`equals​(ADictionary o)`
`boolean` Dictionary.`equals​(ADictionary o)`
`boolean` IdentityDictionary.`equals​(ADictionary o)`
`boolean` IdentityDictionarySlice.`equals​(ADictionary o)`
`boolean` MatrixBlockDictionary.`equals​(ADictionary o)`
`boolean` QDictionary.`equals​(ADictionary o)`
`static void` DictLibMatrixMult.`MMDicts​(ADictionary left, ADictionary right, IColIndex rowsLeft, IColIndex colsRight, MatrixBlock result)` Matrix Multiply the two dictionaries, note that the left side is considered transposed but not allocated transposed making the multiplication a: t(left) %*% right
`static void` DictLibMatrixMult.`MMDictsWithScaling​(ADictionary left, ADictionary right, IColIndex leftRows, IColIndex rightColumns, MatrixBlock result, int[] counts)` Matrix multiply with scaling (left side transposed)
`static void` DictLibMatrixMult.`TSMMDictionaryWithScaling​(ADictionary dict, int[] counts, IColIndex rows, IColIndex cols, MatrixBlock ret)` Perform the full tsmm with the dictionary (allocating into the entire output matrix.)
`static void` DictLibMatrixMult.`TSMMToUpperTriangle​(ADictionary left, ADictionary right, IColIndex rowsLeft, IColIndex colsRight, MatrixBlock result)` Does two matrix multiplications in one go but only add to the upper triangle.
`static void` DictLibMatrixMult.`TSMMToUpperTriangleScaling​(ADictionary left, ADictionary right, IColIndex rowsLeft, IColIndex colsRight, int[] scale, MatrixBlock result)` Does two matrix multiplications in one go but only add to the upper triangle with scaling.

### Uses of ADictionary in org.apache.sysds.runtime.compress.colgroup.mapping

Methods in org.apache.sysds.runtime.compress.colgroup.mapping with parameters of type ADictionary
`void` AMapToData.`preAggregateDDC_DDC​(AMapToData tm, ADictionary td, Dictionary ret, int nCol)` PreAggregate into dictionary with two sides of DDC.
`void` MapToBit.`preAggregateDDC_DDCMultiCol​(AMapToData tm, ADictionary td, double[] v, int nCol)`
`void` MapToZero.`preAggregateDDC_DDCMultiCol​(AMapToData tm, ADictionary td, double[] v, int nCol)`
`void` AMapToData.`preAggregateDDC_RLE​(int[] ptr, char[] data, ADictionary td, Dictionary ret, int nCol)`
`void` AMapToData.`preAggregateDDC_SDCZ​(AMapToData tm, ADictionary td, AOffset tof, Dictionary ret, int nCol)` PreAggregate into SDCZero dictionary from DDC dictionary.
`void` AMapToData.`preAggregateDDC_SDCZMultiCol​(AMapToData tm, ADictionary td, AOffset tof, double[] v, int nCol)`
`void` AMapToData.`preAggregateRLE_DDC​(int[] ptr, char[] data, ADictionary td, Dictionary ret, int nCol)`
`void` AMapToData.`preAggregateSDCZ_DDC​(AMapToData tm, ADictionary td, AOffset of, Dictionary ret, int nCol)` PreAggregate into DDC dictionary from SDCZero dictionary.
`void` AMapToData.`preAggregateSDCZ_SDCZ​(AMapToData tm, ADictionary td, AOffset tof, AOffset of, Dictionary ret, int nCol)`