[DOCS] Update docs with new python tutorial
diff --git a/docs/api/java/allclasses-frame.html b/docs/api/java/allclasses-frame.html
index f9ccf79..739e230 100644
--- a/docs/api/java/allclasses-frame.html
+++ b/docs/api/java/allclasses-frame.html
@@ -12,7 +12,10 @@
 <h1 class="bar">All&nbsp;Classes</h1>
 <div class="indexContainer">
 <ul>
+<li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap.BitmapType</a></li>
 <li><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">AbstractCompressedMatrixBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ADictionary</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops" target="classFrame">AggBinaryOp</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops" target="classFrame">AggBinaryOp.MMultMethod</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops" target="classFrame">AggBinaryOp.SparkAggType</a></li>
@@ -93,7 +96,9 @@
 <li><a href="org/apache/sysds/lops/BinaryUAggChain.html" title="class in org.apache.sysds.lops" target="classFrame">BinaryUAggChain</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">BinUaggChainSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">BinUaggChainSPInstruction.RDDBinUaggChainFunction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">Bitmap</a></li>
 <li><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">BitmapEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">BitmapLossy</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwAnd.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwAnd</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwOr.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwOr</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwShiftL.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">BitwShiftL</a></li>
@@ -179,7 +184,6 @@
 <li><a href="org/apache/sysds/conf/CompilerConfig.ConfigType.html" title="enum in org.apache.sysds.conf" target="classFrame">CompilerConfig.ConfigType</a></li>
 <li><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressedMatrixBlock</a></li>
 <li><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">CompressedMatrixBlockFactory</a></li>
-<li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimationFactors</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimator</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimatorExact</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimatorFactory</a></li>
@@ -286,6 +290,7 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionerSparkMapper</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp" target="classFrame">DataPartitionSparkScheme</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">DataRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data" target="classFrame">DatasetObject</a></li>
 <li><a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data" target="classFrame">DataTensorBlock</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">DblArray</a></li>
@@ -318,7 +323,6 @@
 <li><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DenseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">DiagIndex</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">Dictionary</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DictionaryShared</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Divide</a></li>
 <li><a href="org/apache/sysds/parser/dml/DmlBaseListener.html" title="class in org.apache.sysds.parser.dml" target="classFrame">DmlBaseListener</a></li>
 <li><a href="org/apache/sysds/runtime/DMLCompressionException.html" title="class in org.apache.sysds.runtime" target="classFrame">DMLCompressionException</a></li>
@@ -419,6 +423,7 @@
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode" target="classFrame">EncoderRecode</a></li>
 <li><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils" target="classFrame">EnvironmentHelper</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects" target="classFrame">Equals</a></li>
+<li><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">EstimationFactors</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim" target="classFrame">EstimationUtils</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim" target="classFrame">EstimatorBasicAvg</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimatorBasicWorst.html" title="class in org.apache.sysds.hops.estim" target="classFrame">EstimatorBasicWorst</a></li>
@@ -486,6 +491,9 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">FilterDiagMatrixBlocksFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">FilterNonEmptyBlocksFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark.functions" target="classFrame">FilterNonEmptyBlocksFunction2</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained" target="classFrame"><span class="interfaceName">FineGrainedPrivacy</span></a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">FineGrainedPrivacyList</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">FineGrainedPrivacyMap</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram" target="classFrame">ForProgramBlock</a></li>
 <li><a href="org/apache/sysds/parser/ForStatement.html" title="class in org.apache.sysds.parser" target="classFrame">ForStatement</a></li>
 <li><a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser" target="classFrame">ForStatementBlock</a></li>
@@ -689,6 +697,7 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageMap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data" target="classFrame">LineageObject</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageParser</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageRecomputeUtils</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageRewriteReuse</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageTokenizer</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage" target="classFrame"><span class="interfaceName">LineageTraceable</span></a></li>
@@ -931,6 +940,7 @@
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyConstraint.PrivacyLevel</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyMonitor</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyPropagator</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyUtils</a></li>
 <li><a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util" target="classFrame">PRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram" target="classFrame">Program</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram" target="classFrame">ProgramBlock</a></li>
@@ -948,6 +958,7 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" target="classFrame">PSWorker</a></li>
 <li><a href="org/apache/sysds/runtime/util/Py4jConverterUtils.html" title="class in org.apache.sysds.runtime.util" target="classFrame">Py4jConverterUtils</a></li>
 <li><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api" target="classFrame">PythonDMLScript</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">QDictionary</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">QuantilePickCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">QuantilePickSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">QuantileSortCPInstruction</a></li>
@@ -1246,7 +1257,6 @@
 <li><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators" target="classFrame">UnaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp" target="classFrame">UnaryScalarCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark" target="classFrame">UnarySPInstruction</a></li>
-<li><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">UncompressedBitmap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context" target="classFrame">UnifiedMemoryAllocator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util" target="classFrame">UniformPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util" target="classFrame">UtilFunctions</a></li>
diff --git a/docs/api/java/allclasses-noframe.html b/docs/api/java/allclasses-noframe.html
index 5cf982d..05c66be 100644
--- a/docs/api/java/allclasses-noframe.html
+++ b/docs/api/java/allclasses-noframe.html
@@ -12,7 +12,10 @@
 <h1 class="bar">All&nbsp;Classes</h1>
 <div class="indexContainer">
 <ul>
+<li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></li>
 <li><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.html" title="class in org.apache.sysds.hops">AggBinaryOp</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops">AggBinaryOp.MMultMethod</a></li>
 <li><a href="org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops">AggBinaryOp.SparkAggType</a></li>
@@ -93,7 +96,9 @@
 <li><a href="org/apache/sysds/lops/BinaryUAggChain.html" title="class in org.apache.sysds.lops">BinaryUAggChain</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">BinUaggChainSPInstruction.RDDBinUaggChainFunction</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></li>
 <li><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></li>
+<li><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwAnd.html" title="class in org.apache.sysds.runtime.functionobjects">BitwAnd</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwOr.html" title="class in org.apache.sysds.runtime.functionobjects">BitwOr</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/BitwShiftL.html" title="class in org.apache.sysds.runtime.functionobjects">BitwShiftL</a></li>
@@ -179,7 +184,6 @@
 <li><a href="org/apache/sysds/conf/CompilerConfig.ConfigType.html" title="enum in org.apache.sysds.conf">CompilerConfig.ConfigType</a></li>
 <li><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></li>
 <li><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlockFactory</a></li>
-<li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></li>
@@ -286,6 +290,7 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkMapper</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionSparkScheme</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">DatasetObject</a></li>
 <li><a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></li>
 <li><a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></li>
@@ -318,7 +323,6 @@
 <li><a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></li>
-<li><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects">Divide</a></li>
 <li><a href="org/apache/sysds/parser/dml/DmlBaseListener.html" title="class in org.apache.sysds.parser.dml">DmlBaseListener</a></li>
 <li><a href="org/apache/sysds/runtime/DMLCompressionException.html" title="class in org.apache.sysds.runtime">DMLCompressionException</a></li>
@@ -419,6 +423,7 @@
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></li>
 <li><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils">EnvironmentHelper</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects">Equals</a></li>
+<li><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim">EstimationUtils</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicAvg</a></li>
 <li><a href="org/apache/sysds/hops/estim/EstimatorBasicWorst.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicWorst</a></li>
@@ -486,6 +491,9 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterDiagMatrixBlocksFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterNonEmptyBlocksFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterNonEmptyBlocksFunction2</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="interfaceName">FineGrainedPrivacy</span></a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a></li>
 <li><a href="org/apache/sysds/parser/ForStatement.html" title="class in org.apache.sysds.parser">ForStatement</a></li>
 <li><a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></li>
@@ -689,6 +697,7 @@
 <li><a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LineageObject</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></li>
+<li><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage">LineageRewriteReuse</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></li>
 <li><a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage"><span class="interfaceName">LineageTraceable</span></a></li>
@@ -931,6 +940,7 @@
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></li>
 <li><a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util">PRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></li>
@@ -948,6 +958,7 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></li>
 <li><a href="org/apache/sysds/runtime/util/Py4jConverterUtils.html" title="class in org.apache.sysds.runtime.util">Py4jConverterUtils</a></li>
 <li><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api">PythonDMLScript</a></li>
+<li><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></li>
@@ -1246,7 +1257,6 @@
 <li><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></li>
-<li><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">UnifiedMemoryAllocator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util">UniformPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></li>
diff --git a/docs/api/java/constant-values.html b/docs/api/java/constant-values.html
index 7877f4f..d7f5872 100644
--- a/docs/api/java/constant-values.html
+++ b/docs/api/java/constant-values.html
@@ -189,6 +189,20 @@
 <td class="colLast"><code>"sysds.compressed.linalg"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_LOSSY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></code></td>
+<td class="colLast"><code>"sysds.compressed.lossy"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.COMPRESSED_VALID_COMPRESSIONS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_VALID_COMPRESSIONS">COMPRESSED_VALID_COMPRESSIONS</a></code></td>
+<td class="colLast"><code>"sysds.compressed.valid.compressions"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.conf.DMLConfig.CP_PARALLEL_IO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -1712,181 +1726,188 @@
 <td class="colLast"><code>"type"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FINE_GRAINED_PRIVACY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></code></td>
+<td class="colLast"><code>"fine_grained_privacy"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.FORMAT_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></code></td>
 <td class="colLast"><code>"format"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.IO_FILENAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#IO_FILENAME">IO_FILENAME</a></code></td>
 <td class="colLast"><code>"iofilename"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.PRIVACY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#PRIVACY">PRIVACY</a></code></td>
 <td class="colLast"><code>"privacy"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_BY_ROW">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_BY_ROW">RAND_BY_ROW</a></code></td>
 <td class="colLast"><code>"byrow"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_COLS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_COLS">RAND_COLS</a></code></td>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DATA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DATA">RAND_DATA</a></code></td>
 <td class="colLast"><code>"data"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DIMNAMES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMNAMES">RAND_DIMNAMES</a></code></td>
 <td class="colLast"><code>"dimnames"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_DIMS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMS">RAND_DIMS</a></code></td>
 <td class="colLast"><code>"dims"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_LAMBDA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_LAMBDA">RAND_LAMBDA</a></code></td>
 <td class="colLast"><code>"lambda"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_MAX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MAX">RAND_MAX</a></code></td>
 <td class="colLast"><code>"max"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_MIN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MIN">RAND_MIN</a></code></td>
 <td class="colLast"><code>"min"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_PDF">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF">RAND_PDF</a></code></td>
 <td class="colLast"><code>"pdf"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_PDF_UNIFORM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF_UNIFORM">RAND_PDF_UNIFORM</a></code></td>
 <td class="colLast"><code>"uniform"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_ROWS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_ROWS">RAND_ROWS</a></code></td>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_SEED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SEED">RAND_SEED</a></code></td>
 <td class="colLast"><code>"seed"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.RAND_SPARSITY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SPARSITY">RAND_SPARSITY</a></code></td>
 <td class="colLast"><code>"sparsity"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READCOLPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READCOLPARAM">READCOLPARAM</a></code></td>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READNNZPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READNNZPARAM">READNNZPARAM</a></code></td>
 <td class="colLast"><code>"nnz"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.READROWPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#READROWPARAM">READROWPARAM</a></code></td>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.ROWBLOCKCOUNTPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#ROWBLOCKCOUNTPARAM">ROWBLOCKCOUNTPARAM</a></code></td>
 <td class="colLast"><code>"rows_in_block"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SCHEMAPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SCHEMAPARAM">SCHEMAPARAM</a></code></td>
 <td class="colLast"><code>"schema"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_CONN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_CONN">SQL_CONN</a></code></td>
 <td class="colLast"><code>"conn"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_PASS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_PASS">SQL_PASS</a></code></td>
 <td class="colLast"><code>"password"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_QUERY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_QUERY">SQL_QUERY</a></code></td>
 <td class="colLast"><code>"query"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.SQL_USER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_USER">SQL_USER</a></code></td>
 <td class="colLast"><code>"user"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.parser.DataExpression.VALUETYPEPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -3512,25 +3533,6 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.compress.BitmapEncoder.BITMAP_BLOCK_SZ">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></code></td>
-<td class="colLast"><code>65536</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -3539,53 +3541,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.compress.CompressionSettings.SORT_VALUES_BY_LENGTH">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#SORT_VALUES_BY_LENGTH">SORT_VALUES_BY_LENGTH</a></code></td>
-<td class="colLast"><code>true</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.compress.colgroup.ColGroupOffset.WRITE_CACHE_BLKSZ">
+<td class="colFirst"><a name="org.apache.sysds.runtime.compress.CompressionSettings.BITMAP_BLOCK_SZ">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#WRITE_CACHE_BLKSZ">WRITE_CACHE_BLKSZ</a></code></td>
-<td class="colLast"><code>131072</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.compress.estim.CompressedSizeEstimatorFactory.EXTRACT_SAMPLE_ONCE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
-<td><code><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html#EXTRACT_SAMPLE_ONCE">EXTRACT_SAMPLE_ONCE</a></code></td>
-<td class="colLast"><code>true</code></td>
+<td><code><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></code></td>
+<td class="colLast"><code>65536</code></td>
 </tr>
 </tbody>
 </table>
@@ -5223,6 +5183,25 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.lineage.LineageDedupUtils.DEDUP_DELIM">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></code></td>
+<td class="colLast"><code>"_"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -5250,13 +5229,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.sysds.runtime.lineage.LineageItemUtils.DEDUP_DELIM">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></code></td>
-<td class="colLast"><code>"_"</code></td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.sysds.runtime.lineage.LineageItemUtils.LPLACEHOLDER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -5266,6 +5238,25 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.sysds.runtime.lineage.LineageRecomputeUtils.LPLACEHOLDER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></code></td>
+<td class="colLast"><code>"IN#"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
diff --git a/docs/api/java/deprecated-list.html b/docs/api/java/deprecated-list.html
index 8ba3602..6120c86 100644
--- a/docs/api/java/deprecated-list.html
+++ b/docs/api/java/deprecated-list.html
@@ -129,9 +129,12 @@
 <td class="colOne"><a href="org/apache/sysds/parser/dml/DmlParser.html#getTokenNames--">org.apache.sysds.parser.dml.DmlParser.getTokenNames()</a></td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--">org.apache.sysds.runtime.lineage.LineageItem.resetVisitStatus()</a></td>
+<td class="colOne"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">org.apache.sysds.runtime.lineage.LineageItemUtils.rDecompress(LineageItem)</a></td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--">org.apache.sysds.runtime.lineage.LineageItem.resetVisitStatus()</a></td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-">org.apache.sysds.runtime.lineage.LineageItem.resetVisitStatus(LineageItem[])</a></td>
 </tr>
 </tbody>
diff --git a/docs/api/java/index-all.html b/docs/api/java/index-all.html
index 4e40fa6..373ab02 100644
--- a/docs/api/java/index-all.html
+++ b/docs/api/java/index-all.html
@@ -74,6 +74,12 @@
 </a>
 <h2 class="title">A</h2>
 <dl>
+<dt><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#ABitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">ABitmap(int, IntArrayList[], int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap.BitmapType</span></a> - Enum in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#abs-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-">abs(ExecutionContext, GPUContext, String, MatrixObject, String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Performs an "abs" operation on a matrix on the GPU</div>
@@ -340,6 +346,10 @@
 <dd>
 <div class="block">Method to recursively add LOPS to a DAG</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression(ColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.html#addValue-long-long-double-">addValue(long, long, double)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.html" title="class in org.apache.sysds.runtime.util">LongLongDoubleHashMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#addVariable-java.lang.String-org.apache.sysds.parser.DataIdentifier-">addVariable(String, DataIdentifier)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
@@ -352,6 +362,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#addWriteLock--">addWriteLock()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#ADictionary--">ADictionary()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#adjustRowIndicesMax-int:A-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">adjustRowIndicesMax(int[], double[], BinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixOuterAgg</a></dt>
 <dd>
 <div class="block">This function adjusts indices to be leveraged in uarimaxXX functions.</div>
@@ -392,9 +409,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/CMOperator.html#aggOpType">aggOpType</a></span> - Variable in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate(double, Builtin)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CTableMap.html#aggregate-long-long-double-">aggregate(long, long, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a></dt>
 <dd>&nbsp;</dd>
@@ -435,10 +457,10 @@
 <dd>
 <div class="block">Core incremental tensor aggregate (ak+) as used for uack+ and acrk+.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols(double[], Builtin, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols(double[], Builtin, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols(double[], Builtin, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Aggregates the columns into the target double array provided.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">AggregateDropCorrectionFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html#AggregateDropCorrectionFunction-org.apache.sysds.runtime.matrix.operators.AggregateOperator-">AggregateDropCorrectionFunction(AggregateOperator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">AggregateDropCorrectionFunction</a></dt>
@@ -694,8 +716,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#ALLOW_BROADCAST_INPUTS">ALLOW_BROADCAST_INPUTS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ALLOW_CACHE_CONSCIOUS_ROWSUMS">ALLOW_CACHE_CONSCIOUS_ROWSUMS</a></span> - Static variable in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/OptimizerUtils.html#ALLOW_CODE_MOTION">ALLOW_CODE_MOTION</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></dt>
 <dd>
 <div class="block">Enables a specific rewrite for code motion, i.e., hoisting loop invariant code
@@ -800,8 +820,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html#allowsBinaryCellPartitions-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.ParForProgramBlock.PartitionFormat-">allowsBinaryCellPartitions(MatrixObject, ParForProgramBlock.PartitionFormat)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerRuleBased</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#allowSharedDDCDictionary">allowSharedDDCDictionary</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#allowSharedDictionary">allowSharedDictionary</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">Share DDC Dictionaries between ColGroups.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/RDDObject.html#allowsShortCircuitCollect--">allowsShortCircuitCollect()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/RDDObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RDDObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/RDDObject.html#allowsShortCircuitRead--">allowsShortCircuitRead()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/RDDObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RDDObject</a></dt>
@@ -1025,8 +1047,14 @@
 <div class="block">Append value is only used when values are appended at the end of each row for the sparse representation
  This can only be called, when the caller knows the access pattern of the block</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html#apply-java.lang.String-">apply(String)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
@@ -1050,6 +1078,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#apply-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp(ScalarOperator, double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp(ScalarOperator, double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp(ScalarOperator, double, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#argVals">argVals</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu"><span class="typeNameLink">ArithmeticBinaryGPUInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/package-summary.html">org.apache.sysds.runtime.instructions.gpu</a></dt>
@@ -1060,6 +1096,8 @@
 <dd>
 <div class="block">Performs an "asin" operation on a matrix on the GPU</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#asIndexRange--">asIndexRange()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#asList-java.util.List...-">asList(List&lt;T&gt;...)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/Metadata.html#asMatrixCharacteristics--">asMatrixCharacteristics()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Metadata.html" title="class in org.apache.sysds.api.mlcontext">Metadata</a></dt>
@@ -1432,7 +1470,13 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.RDDBinUaggChainFunction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">BinUaggChainSPInstruction.RDDBinUaggChainFunction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></span> - Static variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
+<dt><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Bitmap</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dd>
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#Bitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-double:A-">Bitmap(int, IntArrayList[], int, double[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></span> - Static variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
 <dd>
 <div class="block">Size of the blocks used in a blocked bitmap representation.</div>
 </dd>
@@ -1442,6 +1486,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#BitmapEncoder--">BitmapEncoder()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
+<dd>
+<div class="block">Uncompressed but Quantized representation of contained data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#BitmapLossy-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-byte:A-double-">BitmapLossy(int, IntArrayList[], int, byte[], double)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#BitsetMatrix-int-int-">BitsetMatrix(int, int)</a></span> - Constructor for class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html#BitsetMatrix1-int-int-">BitsetMatrix1(int, int)</a></span> - Constructor for class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix1</a></dt>
@@ -2437,6 +2487,10 @@
 <dd>
 <div class="block">Clears up the memory used by non-dirty pointers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#clearValidCompression--">clearValidCompression()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Clear all the compression types allowed in the compression.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html#clearVariables-long-">clearVariables(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">CachedReuseVariables</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html#clen">clen</a></span> - Variable in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></dt>
@@ -2504,9 +2558,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/UnaryOp.html#clone--">clone()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Returns a deep clone of the dictionary.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#clone--">clone()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
@@ -2736,8 +2794,6 @@
 <dd>
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#ColGroupDDC--">ColGroupDDC()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupDDC1</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
@@ -2765,12 +2821,6 @@
 <dd>
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ColGroupOffset--">ColGroupOffset()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ColGroupOffset-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupOffset(int[], int, UncompressedBitmap)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>
-<div class="block">Main constructor.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupOLE</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
 <div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
@@ -2788,30 +2838,10 @@
 <dd>
 <div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed--">ColGroupUncompressed()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">ColGroupUncompressed(int[], MatrixBlock, CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>
-<div class="block">Main constructor for Uncompressed ColGroup.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-java.util.List-">ColGroupUncompressed(List&lt;ColGroup&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>
-<div class="block">Constructor for creating temporary decompressed versions of one or more compressed column groups.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroupUncompressed(int[], int, MatrixBlock)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>
-<div class="block">Constructor for internal use.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupValue</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
 <div class="block">Base class for column groups encoded with value dictionary.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#ColGroupValue--">ColGroupValue()</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#ColGroupValue-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupValue(int[], int, UncompressedBitmap)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>
-<div class="block">Stores the headers for the individual bitmaps.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html#colInd">colInd</a></span> - Variable in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></dt>
 <dd>
 <div class="block">integer array of nnz values' column indices</div>
@@ -2832,6 +2862,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html#colsKnown--">colsKnown()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#colSpan--">colSpan()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#colStart">colStart</a></span> - Variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#colsUC">colsUC</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
@@ -2873,6 +2905,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html#ColumnMetadata-org.apache.sysds.runtime.matrix.data.FrameBlock.ColumnMetadata-">ColumnMetadata(FrameBlock.ColumnMetadata)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.ColumnMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#columnPartitioner">columnPartitioner</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">The selected method for column partitioning used in CoCoding compressed columns</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html#colUpper">colUpper</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/GroupedAggregate.html#COMBINEDINPUT">COMBINEDINPUT</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></dt>
@@ -2977,6 +3013,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/compile/LopComparator.html#compare-N-N-">compare(N, N)</a></span> - Method in class org.apache.sysds.lops.compile.<a href="org/apache/sysds/lops/compile/LopComparator.html" title="class in org.apache.sysds.lops.compile">LopComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compare(DblArrayIntListHashMap.DArrayIListEntry, DblArrayIntListHashMap.DArrayIListEntry)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compare(DoubleIntListHashMap.DIListEntry, DoubleIntListHashMap.DIListEntry)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html#compare-org.apache.hadoop.io.WritableComparable-org.apache.hadoop.io.WritableComparable-">compare(WritableComparable, WritableComparable)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteGrouping</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html#compare-org.apache.hadoop.io.WritableComparable-org.apache.hadoop.io.WritableComparable-">compare(WritableComparable, WritableComparable)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSorting</a></dt>
@@ -3067,7 +3107,9 @@
 <div class="block">Order by parse issues primarily by line number, and secondarily by
  character position.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html#compareTo-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-">compareTo(CompressedSizeEstimationFactors)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compareTo(DblArrayIntListHashMap.DArrayIListEntry)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compareTo(DoubleIntListHashMap.DIListEntry)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#compareTo-org.apache.sysds.runtime.controlprogram.federated.FederatedRange-">compareTo(FederatedRange)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
@@ -3127,7 +3169,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html#compRatios">compRatios</a></span> - Variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress(int[], int, UncompressedBitmap, ColGroup.CompressionType, CompressionSettings, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress(int[], int, ABitmap, ColGroup.CompressionType, CompressionSettings, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></dt>
 <dd>
 <div class="block">Method for compressing an ColGroup.</div>
 </dd>
@@ -3147,30 +3189,22 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LINALG">COMPRESSED_LINALG</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#COMPRESSED_VALID_COMPRESSIONS">COMPRESSED_VALID_COMPRESSIONS</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlock</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock--">CompressedMatrixBlock()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>
 <div class="block">Constructor for building an empty Compressed Matrix block object.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-int-int-boolean-">CompressedMatrixBlock(int, int, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">Main constructor for building a block from scratch.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">CompressedMatrixBlock(MatrixBlock)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlockFactory</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>
 <div class="block">Factory pattern to construct a CompressedMatrixBlock.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#CompressedMatrixBlockFactory--">CompressedMatrixBlockFactory()</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlockFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimationFactors</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
-<dd>
-<div class="block">Compressed Size Estimation factors.</div>
-</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimator</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
 <dd>
 <div class="block">Main abstract class for estimating size of compressions on columns.</div>
@@ -3201,7 +3235,7 @@
 <dd>
 <div class="block">Information collected about a specific ColGroup's compression size.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-java.util.List-">CompressedSizeInfoColGroup(CompressedSizeEstimationFactors, List&lt;ColGroup.CompressionType&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup(EstimationFactors, Set&lt;ColGroup.CompressionType&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Compression.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Compression</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
@@ -3271,8 +3305,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#computeBoundsInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-java.util.HashMap-">computeBoundsInformation(Hop, LocalVariableMap, HashMap&lt;Long, Double&gt;)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#computeByLineage-org.apache.sysds.runtime.lineage.LineageItem-">computeByLineage(LineageItem)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#computeCellInBlock-long-int-">computeCellInBlock(long, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>
 <div class="block">Computes the 0-based cell-in-block index based on the global cell index and block
@@ -3283,10 +3315,6 @@
 <div class="block">Computes the global 1-based cell index based on the block index, block size meta data,
  and specific 0-based in-block cell index.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos--">computeCompressedSizeInfos()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
-<dd>
-<div class="block">Single threaded version of extracting Compression Size info</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos(int)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
 <dd>
 <div class="block">Multi threaded version of extracting Compression Size info</div>
@@ -3305,8 +3333,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#computeDataType--">computeDataType()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/Lineage.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock(ProgramBlock, ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock(ProgramBlock, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html#computeDimension-int-int-org.apache.sysds.runtime.matrix.data.MatrixValue.CellIndex-">computeDimension(int, int, MatrixValue.CellIndex)</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></dt>
@@ -3397,8 +3423,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html#computeOutputCharacteristics-long-long-long-">computeOutputCharacteristics(long, long, long)</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">computeRowSums(ColGroupDDC1[], MatrixBlock, KahanFunction, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-">computeSizeInformation(Hop)</a></span> - Static method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#computeSizeInformation-org.apache.sysds.hops.Hop-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">computeSizeInformation(Hop, LocalVariableMap)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -3625,6 +3649,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#contains-org.apache.sysds.runtime.instructions.cp.CPOperand-">contains(CPOperand)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#contains-long:A-">contains(long[])</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>
+<div class="block">Returns true if the given index is in the data range.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#containsAny-java.util.Collection-java.util.Collection-">containsAny(Collection&lt;T&gt;, Collection&lt;T&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/VariableSet.html#containsAnyName-java.util.Set-">containsAnyName(Set&lt;String&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></dt>
@@ -3697,6 +3725,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html#containsVars-long-">containsVars(long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">CachedReuseVariables</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#containsZero--">containsZero()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#containsZero-double:A-int-int-">containsZero(double[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/AssignmentStatement.html#controlStatement--">controlStatement()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser">AssignmentStatement</a></dt>
@@ -4180,7 +4210,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html#copyRowBlocks-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-org.apache.sysds.runtime.matrix.data.MatrixBlock-long-long-long-">copyRowBlocks(MatrixBlock, long, MatrixBlock, long, long, long)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings(CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#copyShallow-org.apache.sysds.runtime.data.BasicTensorBlock-">copyShallow(BasicTensorBlock)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow(MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -4357,10 +4389,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow(int[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
@@ -4480,7 +4508,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#CPThreshold">CPThreshold</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Create the CompressionSettings object to use in the compression.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create-org.apache.sysds.runtime.instructions.cp.ListObject-java.lang.String-org.apache.sysds.parser.Statement.PSUpdateType-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-int-">create(ListObject, String, Statement.PSUpdateType, ExecutionContext, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#CREATE_UNSCOPED_RESULTVARS">CREATE_UNSCOPED_RESULTVARS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
@@ -5445,6 +5475,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-">DataIdentifier(String, Types.DataType)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">DataIdentifier(String, Types.DataType, Types.ValueType)</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataIdentifier.html#DataIdentifier--">DataIdentifier()</a></span> - Constructor for class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html#dataIdentifier--">dataIdentifier()</a></span> - Method in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AccumulatorAssignmentStatementContext</a></dt>
@@ -5549,6 +5581,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html#DataPartitionSparkScheme--">DataPartitionSparkScheme()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionSparkScheme</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">DataRange</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></dt>
+<dd>
+<div class="block">A DataRange instance marks a part of a CachableData data object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#DataRange-long:A-long:A-">DataRange(long[], long[])</a></span> - Constructor for class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data"><span class="typeNameLink">DatasetObject</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/data/package-summary.html">org.apache.sysds.runtime.instructions.spark.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html#DatasetObject-org.apache.spark.sql.Dataset-">DatasetObject(Dataset&lt;Row&gt;)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">DatasetObject</a></dt>
@@ -5652,7 +5690,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#decode-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.FrameBlock-">decode(MatrixBlock, FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-int-">DecodeMatrix(long, long, FrameBlock, String, int)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.transform.decode.Decoder-">DecodeMatrix(long, long, FrameBlock, Decoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
@@ -5661,7 +5699,7 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderComposite</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
-<div class="block">Simple composite decoder that applies a list of decoders 
+<div class="block">Simple composite decoder that applies a list of decoders
  in specified order.</div>
 </dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderDummycode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
@@ -5708,14 +5746,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock(MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock(MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock(MatrixBlock, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
@@ -5744,7 +5774,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html#decrementNumReferences--">decrementNumReferences()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LineageObject</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#dedupItemOpcode">dedupItemOpcode</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
 <dd>&nbsp;</dd>
@@ -6099,18 +6129,11 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
 <dd>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#Dictionary-double:A-">Dictionary(double[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DictionaryShared</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
-<dd>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#DictionaryShared-double:A-int:A-double:A-">DictionaryShared(double[], int[], double[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#DIGIT">DIGIT</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.html#DIGIT">DIGIT</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></dt>
@@ -6787,6 +6810,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#encode-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">encode(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames(FederationMap, Encoder, MatrixObject)</a></span> - Static method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>
 <div class="block">Base class for all transform encoders providing both a row and block
@@ -6794,7 +6819,9 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderBin</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderBin(JSONObject, String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderBin(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin--">EncoderBin()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderComposite</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>
@@ -6805,7 +6832,11 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderDummycode</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderDummycode(JSONObject, String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderDummycode(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode--">EncoderDummycode()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-int:A-int-int:A-long-">EncoderDummycode(int[], int, int[], long)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFactory</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
@@ -6815,19 +6846,29 @@
 <dd>
 <div class="block">Class used for feature hashing transformation of frames.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderFeatureHash(JSONObject, String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderFeatureHash(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-int:A-int-long-">EncoderFeatureHash(int[], int, long)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash--">EncoderFeatureHash()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderMVImpute(JSONObject, String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderMVImpute(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String:A-int-">EncoderMVImpute(JSONObject, String[], String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute--">EncoderMVImpute()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-int:A-org.apache.sysds.runtime.transform.encode.EncoderMVImpute.MVMethod:A-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.KahanObject:A-long:A-java.util.List-int-">EncoderMVImpute(int[], EncoderMVImpute.MVMethod[], String[], KahanObject[], long[], List&lt;Integer&gt;, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderMVImpute.MVMethod</span></a> - Enum in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderOmit</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderOmit(JSONObject, String[], int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderOmit(JSONObject, String[], int, int, int)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit--">EncoderOmit()</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-boolean-">EncoderOmit(boolean)</a></span> - Constructor for class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderPassThrough</span></a> - Class in <a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></dt>
 <dd>
@@ -7700,10 +7741,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CollectionUtils.html#equals-java.util.List-java.util.List-">equals(List&lt;T&gt;, List&lt;T&gt;)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLException.html#ERROR_MSG_DELIMITER">ERROR_MSG_DELIMITER</a></span> - Static variable in exception org.apache.sysds.api.<a href="org/apache/sysds/api/DMLException.html" title="class in org.apache.sysds.api">DMLException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLScript.html#errorPrint-java.lang.Exception-">errorPrint(Exception)</a></span> - Static method in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></dt>
+<dd>
+<div class="block">Print the error in a user friendly manner.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html#estim-org.apache.sysds.hops.estim.MMNode-">estim(MMNode)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicAvg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">estim(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicAvg</a></dt>
@@ -7795,9 +7844,9 @@
 <dd>
 <div class="block">Abstract method for extracting Compressed Size Info of specified columns, together in a single ColGroup</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize(UncompressedBitmap)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize(ABitmap)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></dt>
 <dd>
-<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitMap.</div>
+<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html#estimateCompressedColGroupSize-int:A-">estimateCompressedColGroupSize(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></dt>
 <dd>&nbsp;</dd>
@@ -7821,8 +7870,6 @@
 <dd>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
@@ -7833,23 +7880,21 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#estimateInMemorySize--">estimateInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-boolean-">estimateInMemorySizeDDC(int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-">estimateInMemorySizeDDC(int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-boolean-">estimateInMemorySizeDDC1(int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-">estimateInMemorySizeDDC1(int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-">estimateInMemorySizeDDC2(int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-boolean-">estimateInMemorySizeDDC2(int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroup-int-">estimateInMemorySizeGroup(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroupValue-int-long-">estimateInMemorySizeGroupValue(int, long)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroupValue-int-int-boolean-">estimateInMemorySizeGroupValue(int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOffset-int-long-int-int-">estimateInMemorySizeOffset(int, long, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOffset-int-int-int-int-boolean-">estimateInMemorySizeOffset(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOLE-int-int-int-int-">estimateInMemorySizeOLE(int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOLE-int-int-int-int-boolean-">estimateInMemorySizeOLE(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-">estimateInMemorySizeRLE(int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-boolean-">estimateInMemorySizeRLE(int, int, int, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeUncompressed-int-int-double-">estimateInMemorySizeUncompressed(int, int, double)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
 <dd>&nbsp;</dd>
@@ -7937,6 +7982,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary(MatrixBlock, MatrixBlock, AggregateBinaryOperator)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">EstimationFactors</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></dt>
+<dd>
+<div class="block">Compressed Size Estimation factors.</div>
+</dd>
 <dt><a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">EstimationUtils</span></a> - Class in <a href="org/apache/sysds/hops/estim/package-summary.html">org.apache.sysds.hops.estim</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimationUtils.html#EstimationUtils--">EstimationUtils()</a></span> - Constructor for class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim">EstimationUtils</a></dt>
@@ -9570,14 +9619,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/MemoTable.html#extract-java.util.ArrayList-org.apache.sysds.hops.recompile.RecompileStatus-">extract(ArrayList&lt;Hop&gt;, RecompileStatus)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html#EXTRACT_SAMPLE_ONCE">EXTRACT_SAMPLE_ONCE</a></span> - Static variable in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap(int[], MatrixBlock, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
 <dd>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmapFromSample(int[], MatrixBlock, int[], CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">ExtractBlockForBinaryReblock</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/functions/package-summary.html">org.apache.sysds.runtime.instructions.spark.functions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html#ExtractBlockForBinaryReblock-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-">ExtractBlockForBinaryReblock(DataCharacteristics, DataCharacteristics)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractBlockForBinaryReblock</a></dt>
@@ -9825,7 +9870,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/ByteClassLoader.html#findClass-java.lang.String-">findClass(String)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/ByteClassLoader.html" title="class in org.apache.sysds.runtime.codegen">ByteClassLoader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCocodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-">findCocodesByPartitioning(CompressedSizeEstimator, CompressedSizeInfo, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning(CompressedSizeEstimator, CompressedSizeInfo, int, int, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder</a></dt>
 <dd>
 <div class="block">Main entry point of CoCode.</div>
 </dd>
@@ -9833,6 +9878,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#findRemovableConditionalPatternInOuterProduct-org.apache.sysds.hops.Hop-">findRemovableConditionalPatternInOuterProduct(Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacy</span></a> - Interface in <a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyList</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></dt>
+<dd>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints
+ based on pairs in an ArrayList.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#FineGrainedPrivacyList--">FineGrainedPrivacyList()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyMap</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></dt>
+<dd>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints based on
+ iterating a LinkedHashMap.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#FineGrainedPrivacyMap--">FineGrainedPrivacyMap()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/CompilerConfig.html#FLAG_DYN_RECOMPILE">FLAG_DYN_RECOMPILE</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/CompilerConfig.html#FLAG_PARREADWRITE_BINARY">FLAG_PARREADWRITE_BINARY</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a></dt>
@@ -10605,11 +10668,11 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html#generateUniqueSeedPath-java.lang.String-">generateUniqueSeedPath(String)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#genOffsetBitmap-int:A-int-">genOffsetBitmap(int[], int)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#genOffsetBitmap-int:A-int-">genOffsetBitmap(int[], int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>
 <div class="block">Encodes the bitmap in blocks of offsets.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#genRLEBitmap-int:A-int-">genRLEBitmap(int[], int)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#genRLEBitmap-int:A-int-">genRLEBitmap(int[], int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>
 <div class="block">Encodes the bitmap as a series of run lengths and offsets.</div>
 </dd>
@@ -10647,11 +10710,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#get-int-int-">get(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get(UncompressedBitmap, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserEstimator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get(Bitmap, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserEstimator</a></dt>
 <dd>
 <div class="block">Peter J.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get(UncompressedBitmap, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">SmoothedJackknifeEstimator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get(Bitmap, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">SmoothedJackknifeEstimator</a></dt>
 <dd>
 <div class="block">Peter J.</div>
 </dd>
@@ -10825,12 +10888,27 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#getAlias--">getAlias()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#getAlignedBlocksize-int-">getAlignedBlocksize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#getAlignedBlockSizes-int-int-int-">getAlignedBlockSizes(int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getAllCompressionSizes--">getAllCompressionSizes()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">getAllConstraints()</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraints--">getAllConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraints--">getAllConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList()</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraintsList--">getAllConstraintsList()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraintsList--">getAllConstraintsList()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BuiltinFunctionExpression.html#getAllExpr--">getAllExpr()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/BuiltinFunctionExpression.html" title="class in org.apache.sysds.parser">BuiltinFunctionExpression</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/MemoTable.html#getAllInputStats-java.util.ArrayList-">getAllInputStats(ArrayList&lt;Hop&gt;)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a></dt>
@@ -10906,6 +10984,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDims--">getBeginDims()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#getBeginDims--">getBeginDims()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDimsInt--">getBeginDimsInt()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html#getBeginLine--">getBeginLine()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></dt>
@@ -11097,6 +11177,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html#getBytes-java.nio.ByteBuffer-">getBytes(ByteBuffer)</a></span> - Static method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-org.apache.sysds.runtime.instructions.cp.CPOperand-">getCacheableData(CPOperand)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#getCacheableData-java.lang.String-">getCacheableData(String)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -11364,8 +11446,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#getCompressionSize-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">getCompressionSize(ColGroup.CompressionType)</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getCompressionStatistics--">getCompressionStatistics()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Obtain the compression type.</div>
@@ -11447,13 +11527,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html#getCostModelType--">getCostModelType()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerRuleBased</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
@@ -11464,19 +11540,19 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts(int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts(int, int, int[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock(int[])</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getCPHeavyHitterCode-org.apache.sysds.runtime.instructions.Instruction-">getCPHeavyHitterCode(Instruction)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getCPHeavyHitterCount-java.lang.String-">getCPHeavyHitterCount(String)</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -11634,6 +11710,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html#getDataMemoryBudget-boolean-boolean-">getDataMemoryBudget(boolean, boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext.SparkClusterConfig</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel(PrivacyConstraint.PrivacyLevel)</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel(PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel(PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html#getDataset--">getDataset()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">DatasetObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getDataSize--">getDataSize()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
@@ -11763,8 +11847,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html#getDiagIndexFnObject-boolean-">getDiagIndexFnObject(boolean)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getDim-int-">getDim(int)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html#getDim-int-">getDim(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></dt>
@@ -11896,8 +11978,6 @@
 <dd>
 <div class="block">Creates an RDD of empty blocks according to the given matrix characteristics.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#getEmptyMemoryFootprint-java.lang.Class-">getEmptyMemoryFootprint(Class&lt;?&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#getEncoders--">getEncoders()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getEndColumn--">getEndColumn()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -11920,6 +12000,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDims--">getEndDims()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#getEndDims--">getEndDims()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDimsInt--">getEndDimsInt()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getEndLine--">getEndLine()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -11989,6 +12071,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Returns the exact serialized size of column group.</div>
@@ -11999,8 +12085,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
@@ -12140,6 +12234,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#getFillValue--">getFillValue()</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getFineGrainedPrivacy--">getFineGrainedPrivacy()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Get fine-grained privacy instance.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/RandNPair.html#getFirst--">getFirst()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/RandNPair.html" title="class in org.apache.sysds.runtime.util">RandNPair</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BuiltinFunctionExpression.html#getFirstExpr--">getFirstExpr()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/BuiltinFunctionExpression.html" title="class in org.apache.sysds.parser">BuiltinFunctionExpression</a></dt>
@@ -12418,6 +12516,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IfStatement.html#getIfBody--">getIfBody()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser">IfStatement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIfCountsType--">getIfCountsType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html#getIncr--">getIncr()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IterablePredicate.html#getIncrementExpr--">getIncrementExpr()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></dt>
@@ -12446,9 +12553,15 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html#getInjectedCheckpoints--">getInjectedCheckpoints()</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Returns the memory usage of the dictionary.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize--">getInMemorySize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize-int-">getInMemorySize(int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getInMemorySize--">getInMemorySize()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -12546,8 +12659,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#getInputs--">getInputs()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatementBlock.html#getInputstoSB--">getInputstoSB()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/parser/WhileStatementBlock.html#getInputstoSB--">getInputstoSB()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/WhileStatementBlock.html" title="class in org.apache.sysds.parser">WhileStatementBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/FunctionOp.html#getInputVariableNames--">getInputVariableNames()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/Script.html#getInputVariables--">getInputVariables()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a></dt>
@@ -13288,6 +13405,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CTableMap.html#getMaxColumn--">getMaxColumn()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMaxIndexInRange-int-">getMaxIndexInRange(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxInputDim-org.apache.sysds.hops.Hop-boolean-">getMaxInputDim(Hop, boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getMaxInputDim-org.apache.sysds.runtime.meta.DataCharacteristics:A-boolean-">getMaxInputDim(DataCharacteristics[], boolean)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
@@ -13329,8 +13448,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans--">getMeans()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans_scnomv--">getMeans_scnomv()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html#getMemDeletes--">getMemDeletes()</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getMemEstimate--">getMemEstimate()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -13579,6 +13696,14 @@
 <dd>
 <div class="block">Copy the nth row and return the dense pointer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Get the number of values given that the column group has n columns</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberOfValues-int-">getNumberOfValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getNumberOfValues-int-">getNumberOfValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks--">getNumBlocks()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#getNumBlocks-int-">getNumBlocks(int)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
@@ -13627,7 +13752,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html#getNumColumns--">getNumColumns()</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumColumns--">getNumColumns()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumColumns--">getNumColumns()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#getNumColumns--">getNumColumns()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
@@ -13712,9 +13837,13 @@
 <dd>
 <div class="block">Obtain the number of non-zero values</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumOffsets--">getNumOffsets()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets--">getNumOffsets()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumOffsets-int-">getNumOffsets(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets-int-">getNumOffsets(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumOffsets--">getNumOffsets()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumOffsets-int-">getNumOffsets(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getNumOutputs--">getNumOutputs()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></dt>
 <dd>&nbsp;</dd>
@@ -13738,6 +13867,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html#getNumReferences--">getNumReferences()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.data.<a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LineageObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows-boolean:A-">getNumRemovedRows(boolean[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows--">getNumRemovedRows()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.CorrectionLocationType.html#getNumRemovedRowsColumns--">getNumRemovedRowsColumns()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a></dt>
@@ -13816,6 +13947,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html#getNumThreads--">getNumThreads()</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html#getNumTotalPlans--">getNumTotalPlans()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer</a></dt>
@@ -13824,7 +13957,13 @@
 <dd>
 <div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>
+<div class="block">Obtain number of distinct value groups in the column.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumValues--">getNumValues()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
 <dd>
 <div class="block">Obtain number of distinct values in the column.</div>
 </dd>
@@ -13860,7 +13999,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html#getOffsetColumnIndexFnObject-int-">getOffsetColumnIndexFnObject(int)</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html" title="class in org.apache.sysds.runtime.functionobjects">OffsetColumnIndex</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getOffsetsList-int-">getOffsetsList(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetList--">getOffsetList()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetsList-int-">getOffsetsList(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getOffsetsList-int-">getOffsetsList(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/AggUnaryOp.html#getOp--">getOp()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggUnaryOp.html" title="class in org.apache.sysds.hops">AggUnaryOp</a></dt>
 <dd>&nbsp;</dd>
@@ -13942,7 +14085,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html#getOperator--">getOperator()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator()</a></span> - Method in class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator()</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html#getOperatorClass--">getOperatorClass()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></dt>
 <dd>&nbsp;</dd>
@@ -14034,10 +14177,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html#getOutput--">getOutput()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BuiltinNaryCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutput-int-">getOutput(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutput-int-">getOutput(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#getOutput--">getOutput()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getOutput--">getOutput()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#getOutput-int-">getOutput(int)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></dt>
@@ -14080,6 +14227,10 @@
 <dd>
 <div class="block">Obtain identifiers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutputs--">getOutputs()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutputs--">getOutputs()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></dt>
@@ -14262,12 +14413,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#getPrivacyConstraint--">getPrivacyConstraint()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html#getPrivacyConstraint--">getPrivacyConstraint()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#getPrivacyConstraint--">getPrivacyConstraint()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint()</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel(DataRange)</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel(DataRange)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel(DataRange)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getPrivacyLevel--">getPrivacyLevel()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement(long[])</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement(long[])</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement(long[])</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#getProducesIntermediateOutput--">getProducesIntermediateOutput()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/LopProperties.html#getProducesIntermediateOutput--">getProducesIntermediateOutput()</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/LopProperties.html" title="class in org.apache.sysds.lops">LopProperties</a></dt>
@@ -14556,6 +14725,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#getScalarObject-org.apache.sysds.hops.LiteralOp-">getScalarObject(LiteralOp)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getScale--">getScale()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getScale--">getScale()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/FrameSchema.html#getSchema--">getSchema()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/FrameSchema.html" title="class in org.apache.sysds.api.mlcontext">FrameSchema</a></dt>
 <dd>
 <div class="block">Obtain the frame schema</div>
@@ -14695,8 +14868,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html#getSizeEstimator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">getSizeEstimator(MatrixBlock, CompressionSettings)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#getSizeInMemory--">getSizeInMemory()</a></span> - Static method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#getSizeofPinnedObjects--">getSizeofPinnedObjects()</a></span> - Static method in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#getSortedSampleIndexes-int-int-">getSortedSampleIndexes(int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
@@ -15188,6 +15359,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/PrintStatement.html#getType--">getType()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/PrintStatement.html" title="class in org.apache.sysds.parser">PrintStatement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getType--">getType()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#getType--">getType()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getType--">getType()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html#getType--">getType()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getType--">getType()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></dt>
@@ -15261,10 +15438,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html#getValue-int-int-">getValue(int, int)</a></span> - Method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue(int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValue-int-">getValue(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValue-int-">getValue(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/Cell.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">Cell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></dt>
@@ -15299,22 +15480,60 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html#getValue--">getValue()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValueByte-int-">getValueByte(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe(int, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Get all the values in the colGroup.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
 <dd>
 <div class="block">Get all values without unnecessary allocations and copies.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#getValues-int-">getValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#getValues-int-">getValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
 <dd>
 <div class="block">Obtain tuple of column values associated with index.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getValues--">getValues()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>
+<div class="block">Get all values without unnecessary allocations and copies.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getValues-int-">getValues(int)</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>
+<div class="block">Obtain tuple of column values associated with index.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesAsBlock--">getValuesAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesByte--">getValuesByte()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesLength--">getValuesLength()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesSize--">getValuesSize()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#getValueType--">getValueType()</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -15389,10 +15608,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html#getVarParams--">getVarParams()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html" title="class in org.apache.sysds.parser">ParameterizedBuiltinFunctionExpression</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars--">getVars()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars_scnomv--">getVars_scnomv()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html#getVectorAddPrimitive--">getVectorAddPrimitive()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html#getVectorAddPrimitive--">getVectorAddPrimitive()</a></span> - Method in enum org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></dt>
@@ -15443,6 +15658,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Xor.html#getXorFnObject--">getXorFnObject()</a></span> - Static method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Xor.html" title="class in org.apache.sysds.runtime.functionobjects">Xor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#getZeroCounts--">getZeroCounts()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#gpu">gpu</a></span> - Variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/conf/DMLConfig.html#GPU_EVICTION_POLICY">GPU_EVICTION_POLICY</a></span> - Static variable in class org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></dt>
@@ -15573,7 +15790,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#HAAS_AND_STOKES_UJ2A_SOLVE">HAAS_AND_STOKES_UJ2A_SOLVE</a></span> - Static variable in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html" title="class in org.apache.sysds.runtime.compress.estim.sample">HassAndStokes</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-java.util.HashMap-">haasAndStokes(UncompressedBitmap, int, int, HashMap&lt;Integer, Double&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html" title="class in org.apache.sysds.runtime.compress.estim.sample">HassAndStokes</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.utils.ABitmap-int-int-java.util.HashMap-">haasAndStokes(ABitmap, int, int, HashMap&lt;Integer, Double&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.estim.sample.<a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html" title="class in org.apache.sysds.runtime.compress.estim.sample">HassAndStokes</a></dt>
 <dd>
 <div class="block">Haas, Peter J., and Lynne Stokes.</div>
 </dd>
@@ -15601,6 +15818,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/DataGenOp.html#hasConstantValue-double-">hasConstantValue(double)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">hasConstraints()</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">True if any fine-grained constraints has been set.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#hasConstraints--">hasConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#hasConstraints--">hasConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasConstraints--">hasConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Return true if any constraints have level Private or PrivateAggregate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasFineGrainedConstraints--">hasFineGrainedConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Checks if fine-grained privacy is set for this privacy constraint.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html#hasFourInputs--">hasFourInputs()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html#hasFourInputs--">hasFourInputs()</a></span> - Method in enum org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a></dt>
@@ -15781,6 +16014,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html#hasPlanRefTo-long-">hasPlanRefTo(long)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasPrivateElements--">hasPrivateElements()</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Return true if any of the elements has privacy level private</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#hasReferences-org.apache.sysds.runtime.instructions.cp.Data-">hasReferences(Data)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html#hasSafeLiterals-java.lang.String-">hasSafeLiterals(String)</a></span> - Method in class org.apache.sysds.hops.ipa.<a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a></dt>
@@ -15829,8 +16066,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">Determines if the content has a zero tuple.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#hasZeroTuple-int-">hasZeroTuple(int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">HDFSTool</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/HDFSTool.html#HDFSTool--">HDFSTool()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></dt>
@@ -16018,6 +16261,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html#INCLUDE_FUNCTIONS">INCLUDE_FUNCTIONS</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreeConverter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#inColRange-long-">inColRange(long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/DenseBlock.html#incr-int-int-">incr(int, int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></dt>
 <dd>
 <div class="block">Increments the given value for a given row and column.</div>
@@ -16636,6 +16881,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html#InputStreamInputFormat-java.io.InputStream-">InputStreamInputFormat(InputStream)</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util">InputStreamInputFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#inRowRange-long-">inRowRange(long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#INST_BEGIN">INST_BEGIN</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#INST_END">INST_END</a></span> - Static variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -16648,8 +16895,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions"><span class="typeNameLink">Instruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/package-summary.html">org.apache.sysds.runtime.instructions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#Instruction--">Instruction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions"><span class="typeNameLink">Instruction.IType</span></a> - Enum in <a href="org/apache/sysds/runtime/instructions/package-summary.html">org.apache.sysds.runtime.instructions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#INSTRUCTION_DELIM">INSTRUCTION_DELIM</a></span> - Static variable in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
@@ -16684,6 +16929,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#IntArrayList-int-">IntArrayList(int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#IntArrayList-int:A-">IntArrayList(int[])</a></span> - Constructor for class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#intDiv-double-double-">intDiv(double, double)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/IntegerDivide.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">IntegerDivide</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -16754,7 +17001,9 @@
   the output frame will store a null on that cell position, thus removing the length-violating values.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#investigateEstimate">investigateEstimate</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Boolean specifying if the compression strategy should be investigated and monitored.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#invokeAll-java.util.Collection-">invokeAll(Collection&lt;? extends Callable&lt;T&gt;&gt;)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html#invokeAll-java.util.Collection-long-java.util.concurrent.TimeUnit-">invokeAll(Collection&lt;? extends Callable&lt;T&gt;&gt;, long, TimeUnit)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></dt>
@@ -17106,10 +17355,6 @@
 <div class="block">Is the object one of the supported complex data types? (JavaRDD, RDD,
  DataFrame, Matrix, double[][], MatrixBlock, URL)</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isCompressed--">isCompressed()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isCompressed--">isCompressed()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isConsecutiveIndex-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">isConsecutiveIndex(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html#isConstDim2-long-">isConstDim2(long)</a></span> - Method in enum org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></dt>
@@ -17202,6 +17447,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isDataGenOpWithNonDeterminism-org.apache.sysds.hops.Hop-">isDataGenOpWithNonDeterminism(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItem.html#isDedup--">isDedup()</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#isDelimitedFormat--">isDelimitedFormat()</a></span> - Method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.FileFormat.html#isDelimitedFormat-java.lang.String-">isDelimitedFormat(String)</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></dt>
@@ -17527,6 +17774,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#isLoopStatementBlock-org.apache.sysds.parser.StatementBlock-">isLoopStatementBlock(StatementBlock)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Is Lossy</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#isLossy--">isLossy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContext.html#isMaintainSymbolTable--">isMaintainSymbolTable()</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext">MLContext</a></dt>
 <dd>
 <div class="block">Obtain whether or not all values should be maintained in the symbol table
@@ -17884,9 +18139,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html#isShallow--">isShallow()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/ByteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">ByteBuffer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -17979,6 +18234,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlockFactory.html#isSparseBlockType-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.data.SparseBlock.Type-">isSparseBlockType(SparseBlock, SparseBlock.Type)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlockFactory.html" title="class in org.apache.sysds.runtime.data">SparseBlockFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html#isSparseSafe--">isSparseSafe()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#isSparseSafe--">isSparseSafe()</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
@@ -18112,9 +18369,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html#isUltraSparse--">isUltraSparse()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isUltraSparseMatrixMult(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparsePermutationMatrix--">isUltraSparsePermutationMatrix()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">isUltraSparseMatrixMult(MatrixBlock, MatrixBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#isUnary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.codegen.cplan.CNodeUnary.UnaryType...-">isUnary(CNode, CNodeUnary.UnaryType...)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
@@ -18470,32 +18725,46 @@
 <dd>
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], int, double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], int, double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(ColGroupDDC, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], int, double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], int, double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(ColGroupDDC, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix(double[], double[], int, double[], int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(ColGroupDDC, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(ColGroupDDC, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(MatrixBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByRowVector(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector(ColGroupDDC, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector(double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector(double[], double[], int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">LeftScalarOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>
@@ -18504,6 +18773,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">LeftScalarOperator(ValueFunction, double)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">LeftScalarOperator(ValueFunction, double, int)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/LessThan.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">LessThan</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/LessThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">LessThanEquals</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -18776,6 +19047,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageParser.html#LineageParser--">LineageParser()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRecomputeUtils</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LineageRecomputeUtils--">LineageRecomputeUtils()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRewriteReuse</span></a> - Class in <a href="org/apache/sysds/runtime/lineage/package-summary.html">org.apache.sysds.runtime.lineage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html#LineageRewriteReuse--">LineageRewriteReuse()</a></span> - Constructor for class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage">LineageRewriteReuse</a></dt>
@@ -18941,6 +19216,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html#LongWritableToSerFunction--">LongWritableToSerFunction()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongWritableToSerFunction</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#loopPatchMap">loopPatchMap</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">Lop</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>
 <div class="block">Base class for all Lops.</div>
@@ -18975,8 +19252,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/LopsException.html#LopsException-java.lang.String-java.lang.Throwable-">LopsException(String, Throwable)</a></span> - Constructor for exception org.apache.sysds.lops.<a href="org/apache/sysds/lops/LopsException.html" title="class in org.apache.sysds.lops">LopsException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#lossy">lossy</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">True if lossy compression is enabled</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span> - Static variable in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html#lstm-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-jcuda.Pointer-jcuda.Pointer-jcuda.Pointer-jcuda.Pointer-boolean-java.lang.String-java.lang.String-int-int-int-int-">lstm(ExecutionContext, GPUContext, String, Pointer, Pointer, Pointer, Pointer, boolean, String, String, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNN</a></dt>
 <dd>
 <div class="block">Computes the forward pass for an LSTM layer with M neurons.</div>
@@ -19073,8 +19356,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#MarkForLineageReuse--">MarkForLineageReuse()</a></span> - Constructor for class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/BitmapEncoder.html#MATERIALIZE_ZEROS">MATERIALIZE_ZEROS</a></span> - Static variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/BitmapEncoder.html" title="class in org.apache.sysds.runtime.compress">BitmapEncoder</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html#matMult-org.apache.sysds.hops.estim.EstimatorBitsetMM.BitsetMatrix-">matMult(EstimatorBitsetMM.BitsetMatrix)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html#matmult-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.gpu.context.GPUContext-java.lang.String-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.lang.String-boolean-boolean-">matmult(ExecutionContext, GPUContext, String, MatrixObject, MatrixObject, String, boolean, boolean)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuMatMult</a></dt>
@@ -19161,6 +19442,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.data.SparseBlock.Type-boolean-">MatrixBlock(MatrixBlock, SparseBlock.Type, boolean)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-org.apache.sysds.runtime.data.DenseBlock-">MatrixBlock(int, int, DenseBlock)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlock.SparsityEstimate</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">MatrixBlockDataInput</span></a> - Interface in <a href="org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a></dt>
@@ -19402,6 +19685,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultDenseDenseMM-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock-org.apache.sysds.runtime.data.DenseBlock-int-int-int-int-int-int-">matrixMultDenseDenseMM(DenseBlock, DenseBlock, DenseBlock, int, int, int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">matrixMultiplicationPropagation(MatrixBlock, PrivacyConstraint, MatrixBlock, PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
+<dd>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">matrixMultPermute(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#matrixMultPermute-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">matrixMultPermute(MatrixBlock, MatrixBlock, MatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
@@ -19575,6 +19862,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html#MAX_VARNAME_SIZE">MAX_VARNAME_SIZE</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#maxStaticColGroupCoCode">maxStaticColGroupCoCode</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">The maximum number of columns CoCoded if the Static CoCoding strategy is selected</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html#mdat">mdat</a></span> - Variable in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">Mean</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -19659,15 +19950,25 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt(Encoder, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt(Encoder, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt(Encoder, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt(Encoder, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt(Encoder, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary(PrivacyConstraint, PrivacyConstraint)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
@@ -19685,7 +19986,7 @@
 <dd>
 <div class="block">Merges disjoint data of all blocks per key.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks(ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks(ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls(List&lt;StatementBlock&gt;, DMLProgram)</a></span> - Static method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -20334,12 +20635,6 @@
 <dd>
 <div class="block">Gets the next row, null when no more rows.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#nextRow--">nextRow()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#nextRow--">nextRow()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#nextRow--">nextRow()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html#nextSizedKeyMap-java.io.BufferedReader-java.util.HashMap-int-int-">nextSizedKeyMap(BufferedReader, HashMap&lt;Integer, HashMap&lt;Long, Long&gt;&gt;, int, int)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">StagingFileUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html#nextToken--">nextToken()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util">FastStringTokenizer</a></dt>
@@ -20407,6 +20702,8 @@
 <dd>
 <div class="block">Get the number of dimensions.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#numDistinctValues--">numDistinctValues()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html#numJobs">numJobs</a></span> - Variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/Statistics.html#numNativeConv2dBwdDataCalls">numNativeConv2dBwdDataCalls</a></span> - Static variable in class org.apache.sysds.utils.<a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></dt>
@@ -20883,6 +21180,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> - package org.apache.sysds.runtime.privacy</dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> - package org.apache.sysds.runtime.privacy.finegrained</dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/package-summary.html">org.apache.sysds.runtime.transform</a> - package org.apache.sysds.runtime.transform</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a> - package org.apache.sysds.runtime.transform.decode</dt>
@@ -20965,6 +21264,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.html#OUTPUTSTATEMENT">OUTPUTSTATEMENT</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#overlaps-org.apache.sysds.runtime.privacy.finegrained.DataRange-">overlaps(DataRange)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>
+<div class="block">Returns true if this data range overlaps with the given data range.</div>
+</dd>
 </dl>
 <a name="I:P">
 <!--   -->
@@ -21261,9 +21564,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseBinaryOrBuiltinOperator(String, CPOperand, CPOperand)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-java.lang.String-java.lang.String:A-">parseBinningColIDs(String, String[])</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-java.lang.String-java.lang.String:A-int-int-">parseBinningColIDs(String, String[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-">parseBinningColIDs(JSONObject, String[])</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-">parseBinningColIDs(JSONObject, String[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#parseCLArguments-java.lang.String:A-">parseCLArguments(String[])</a></span> - Static method in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>
@@ -21513,14 +21816,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonIDList(JSONObject, String[], String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-">parseJsonObjectIDList(JSONObject, String[], String)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonObjectIDList(JSONObject, String[], String, int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.meta.<a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-">parseLineageTrace(String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-java.lang.String-">parseLineageTrace(String, String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTraceDedup-java.lang.String-">parseLineageTraceDedup(String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html#parseListString-java.lang.String-int-">parseListString(String, int)</a></span> - Static method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContextPool</a></dt>
 <dd>
 <div class="block">Parses a string into a list.</div>
@@ -21532,6 +21833,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/InstructionParser.html#parseMixedInstructions-java.lang.String-">parseMixedInstructions(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/InstructionParser.html" title="class in org.apache.sysds.runtime.instructions">InstructionParser</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#parseNComputeLineageTrace-java.lang.String-java.lang.String-">parseNComputeLineageTrace(String, String)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#parseParForBody-java.lang.String-int-">parseParForBody(String, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#parseParForBody-java.lang.String-int-boolean-">parseParForBody(String, int, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
@@ -21613,13 +21916,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html#partition-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-java.util.List-">partition(int, MatrixBlock, List&lt;MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ORLocalScheme</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></dt>
 <dd>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerBinPacking</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns(List&lt;Integer&gt;, HashMap&lt;Integer, PlanningCoCoder.GroupableColInfo&gt;, CompressionSettings)</a></span> - Method in class org.apache.sysds.runtime.compress.cocode.<a href="org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitionerStatic</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data"><span class="typeNameLink">PartitionedBlock</span></a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="type parameter in PartitionedBlock">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&gt; - Class in <a href="org/apache/sysds/runtime/instructions/spark/data/package-summary.html">org.apache.sysds.runtime.instructions.spark.data</a></dt>
 <dd>
@@ -22003,6 +22306,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#postProcessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postProcessInstruction(Instruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling(double[], double[], double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling(double[], double[], double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#pow-int-int-">pow(int, int)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/functionobjects/Power.html" title="class in org.apache.sysds.runtime.functionobjects"><span class="typeNameLink">Power</span></a> - Class in <a href="org/apache/sysds/runtime/functionobjects/package-summary.html">org.apache.sysds.runtime.functionobjects</a></dt>
@@ -22013,6 +22320,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Data.html#PREAD_PREFIX">PREAD_PREFIX</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate(double[], int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate(double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>
+<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html#preallocateSparseOutput-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">preallocateSparseOutput(MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNIm2Col</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html#PRED_VAR">PRED_VAR</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></dt>
@@ -22021,7 +22334,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html#predicate">predicate</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.WhileStatementContext</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#prepare-java.lang.String:A-">prepare(String[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#prepareBuildPartial--">prepareBuildPartial()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareCopyInstruction-java.lang.String-java.lang.String-">prepareCopyInstruction(String, String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
@@ -22089,7 +22402,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary(BuiltinNaryCPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstruction(CPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained(CPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessExternal-org.apache.sysds.runtime.instructions.cp.FunctionCallCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessExternal(FunctionCallCPInstruction, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
@@ -22214,12 +22527,24 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
 <dd>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint--">PrivacyConstraint()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Basic Constructor with a fine-grained collection 
+ based on a list implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">PrivacyConstraint(FineGrainedPrivacy)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Constructor with the option to choose between 
+ different fine-grained collection implementations.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">PrivacyConstraint(PrivacyConstraint.PrivacyLevel)</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Constructor with default fine-grained collection implementation
+ where the entire data object is set to the given privacy level.</div>
+</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint.PrivacyLevel</span></a> - Enum in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyMonitor</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
@@ -22233,6 +22558,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html#PrivacyPropagator--">PrivacyPropagator()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy">PrivacyPropagator</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyUtils</span></a> - Class in <a href="org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#PrivacyUtils--">PrivacyUtils()</a></span> - Constructor for class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">PRNGenerator</span></a> - Class in <a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/PRNGenerator.html#PRNGenerator--">PRNGenerator()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util">PRNGenerator</a></dt>
@@ -22257,8 +22586,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html#processBiasMultiplyInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processBiasMultiplyInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-">processDedupItem(LineageMap, Long)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem(LineageMap, Long, LineageItem[], String)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction(ExecutionContext)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">AggregateBinaryCPInstruction</a></dt>
@@ -22720,6 +23047,14 @@
 <div class="block">Adds a new (name, value) pair to the variable map, or replaces an old pair with
  the same name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put(DataRange, PrivacyConstraint.PrivacyLevel)</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Set privacy level of the given data range.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put(DataRange, PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put(DataRange, PrivacyConstraint.PrivacyLevel)</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#putAll-java.util.Map-">putAll(Map&lt;String, Data&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#putAll-org.apache.sysds.runtime.controlprogram.LocalVariableMap-">putAll(LocalVariableMap)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
@@ -22771,6 +23106,13 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html#Q">Q</a></span> - Variable in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">QDictionary</span></a> - Class in <a href="org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></dt>
+<dd>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#QDictionary-org.apache.sysds.runtime.compress.utils.BitmapLossy-">QDictionary(BitmapLossy)</a></span> - Constructor for class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">QuantilePickCPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">QuantilePickSPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
@@ -23112,7 +23454,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html#RDDUTensorAggFunction2-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">RDDUTensorAggFunction2(AggregateUnaryOperator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark">AggregateUnarySPInstruction.RDDUTensorAggFunction2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress(LineageItem)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html#rDelete-java.io.File-">rDelete(File)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></dt>
 <dd>
 <div class="block">Recursively deletes an entire local file system directory.</div>
@@ -23123,6 +23467,14 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">ReachabilityGraph.SubProblem</span></a> - Class in <a href="org/apache/sysds/hops/codegen/opt/package-summary.html">org.apache.sysds.hops.codegen.opt</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read(DataInput, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
+<dd>
+<div class="block">The read function to instantiate the dictionary.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#read-java.io.DataInput-">read(DataInput)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#read-java.io.DataInput-">read(DataInput)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html#read-java.io.DataInput-">read(DataInput)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#READ_VALID_MTD_PARAM_NAMES">READ_VALID_MTD_PARAM_NAMES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
@@ -23221,13 +23573,13 @@
 </dd>
 <dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDense</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense(MatrixBlock, int[], boolean, CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense(MatrixBlock, int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDense</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionDenseSample</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>
 <div class="block">considers only a subset of row indexes</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample(MatrixBlock, int[], int[], boolean, CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample(MatrixBlock, int[], int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
 <dd>
@@ -23235,7 +23587,7 @@
  
  Keeps returning all-zeros arrays until reaching the last possible index.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse(MatrixBlock, int[], boolean, CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse(MatrixBlock, int[], CompressionSettings)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionSparse</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io"><span class="typeNameLink">ReaderTextCell</span></a> - Class in <a href="org/apache/sysds/runtime/io/package-summary.html">org.apache.sysds.runtime.io</a></dt>
 <dd>&nbsp;</dd>
@@ -23279,7 +23631,7 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
- efficient broadcast/rdd deserialization.</div>
+ efficient broadcast/rdd de-serialization.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorBlock.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -23315,24 +23667,24 @@
 <div class="block">Redirects the default java serialization via externalizable to our default 
  hadoop writable serialization for consistency/maintainability.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#readExternal-java.io.ObjectInput-">readExternal(ObjectInput)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
-<div class="block">Deserializes column group from data input.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields(DataInput, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
-<dd>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-boolean-">readFields(DataInput, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html#readFields-java.io.DataInput-">readFields(DataInput)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></dt>
@@ -23422,7 +23774,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/FastBufferedDataInputStream.html#readFully-byte:A-int-int-">readFully(byte[], int, int)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util">FastBufferedDataInputStream</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-boolean-">readGroups(DataInput, boolean)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups(DataInput)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
 <dd>
 <div class="block">Read groups from a file.</div>
 </dd>
@@ -23949,6 +24301,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#removeAllChildReferences-org.apache.sysds.hops.Hop-">removeAllChildReferences(Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">removeAllConstraints()</a></span> - Method in interface org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dt>
+<dd>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#removeAllConstraints--">removeAllConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#removeAllConstraints--">removeAllConstraints()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#removeAllIn-java.util.Set-">removeAllIn(Set&lt;String&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html#removeAllNotIn-java.util.Set-">removeAllNotIn(Set&lt;String&gt;)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></dt>
@@ -24213,8 +24573,6 @@
 <dd>
 <div class="block">Resets the reader to the first row.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelectionDenseSample</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html#reset--">reset()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html#reset--">reset()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.util.<a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDSequence</a></dt>
@@ -24410,6 +24768,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#resetFedDataID--">resetFedDataID()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html#resetFloatingPointPrecision--">resetFloatingPointPrecision()</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></dt>
 <dd>
 <div class="block">Sets the internal state based on the DMLScript.DATA_TYPE</div>
@@ -24890,6 +25250,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-">rewriteProgramHopDAGs(DMLProgram, boolean)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/ProgramRewriter.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteProgramHopDAGs(DMLProgram, boolean, ProgramRewriteStatus)</a></span> - Method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/ProgramRewriter.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriter</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite"><span class="typeNameLink">RewriteRemoveDanglingParentReferences</span></a> - Class in <a href="org/apache/sysds/hops/rewrite/package-summary.html">org.apache.sysds.hops.rewrite</a></dt>
 <dd>
 <div class="block">This rewrite is a general-purpose cleanup pass that removes any
@@ -25094,24 +25456,34 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/RightIndex.html#RightIndex-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.lops.Lop-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.hops.AggBinaryOp.SparkAggType-org.apache.sysds.lops.LopProperties.ExecType-">RightIndex(Lop, Lop, Lop, Lop, Lop, Lop, Lop, Types.DataType, Types.ValueType, AggBinaryOp.SparkAggType, LopProperties.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix(double[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix(double[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix(double[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix(double[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix(double[], double[], int, double[], int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(ColGroupDDC1[], MatrixBlock, MatrixBlock, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector(double[], double[], int, int, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector(MatrixBlock, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">rightMultByVector(MatrixBlock, MatrixBlock, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators"><span class="typeNameLink">RightScalarOperator</span></a> - Class in <a href="org/apache/sysds/runtime/matrix/operators/package-summary.html">org.apache.sysds.runtime.matrix.operators</a></dt>
 <dd>
 <div class="block">Scalar operator for scalar-matrix operations with scalar 
@@ -25119,6 +25491,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">RightScalarOperator(ValueFunction, double)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">RightScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">RightScalarOperator(ValueFunction, double, int)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">RightScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#rIsSparseSafeOnly-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.codegen.cplan.CNodeBinary.BinType...-">rIsSparseSafeOnly(CNode, CNodeBinary.BinType...)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#rIsValidNumVectorIntermediates-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.codegen.cplan.CNode-java.util.Map-java.util.Map-java.util.Set-org.apache.sysds.runtime.controlprogram.parfor.util.IDSequence-">rIsValidNumVectorIntermediates(CNode, CNode, Map&lt;Long, Set&lt;Long&gt;&gt;, Map&lt;Long, Pair&lt;Long, MutableInt&gt;&gt;, Set&lt;Long&gt;, IDSequence)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
@@ -25178,6 +25552,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html#rowsKnown--">rowsKnown()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#rowSpan--">rowSpan()</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/IndexRange.html#rowStart">rowStart</a></span> - Variable in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html#rowUpper">rowUpper</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></dt>
@@ -25274,7 +25650,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations(long, int, boolean, long)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#samplingRatio">samplingRatio</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">The sampling ratio used when choosing ColGroups.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/LibTensorAgg.html#satisfiesMultiThreadingConstraints-org.apache.sysds.runtime.data.BasicTensorBlock-int-">satisfiesMultiThreadingConstraints(BasicTensorBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data">LibTensorAgg</a></dt>
 <dd>
 <div class="block">Check if a aggregation fulfills the constraints to be split to multiple threads.</div>
@@ -25402,7 +25780,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#searchIndexesFirstLTE-int-">searchIndexesFirstLTE(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#seed">seed</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">If the seed is -1 then the system used system millisecond time and class hash for seeding.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html#SEED">SEED</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html#selectPlans-org.apache.sysds.hops.codegen.template.CPlanMemoTable-java.util.ArrayList-">selectPlans(CPlanMemoTable, ArrayList&lt;Hop&gt;)</a></span> - Method in class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection</a></dt>
@@ -25820,8 +26200,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html#setAggOps-java.util.ArrayList-">setAggOps(ArrayList&lt;Types.AggOp&gt;)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDDCDictionary-boolean-">setAllowSharedDDCDictionary(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDictionary-boolean-">setAllowSharedDictionary(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Allow the Dictionaries to be shared between different column groups.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.html#setAllPositions-java.lang.String-int-int-int-int-">setAllPositions(String, int, int, int, int)</a></span> - Method in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html#setAppropriateVarsForRead-org.apache.sysds.parser.Expression-java.lang.String-">setAppropriateVarsForRead(Expression, String)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.InternalProxy.html" title="class in org.apache.sysds.api.mlcontext">MLContext.InternalProxy</a></dt>
@@ -25984,6 +26366,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html#setColumnNames-java.lang.String:A-">setColumnNames(String[])</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setColumnPartitioner-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">setColumnPartitioner(PlanningCoCoder.PartitionerType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Set the type of CoCoding Partitioner type to use for combining columns together.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IndexedIdentifier.html#setColUpperBound-org.apache.sysds.parser.Expression-">setColUpperBound(Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html#setCompAssRW-boolean-">setCompAssRW(boolean)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></dt>
@@ -26025,12 +26411,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html#setConfiguredPlanSelector--">setConfiguredPlanSelector()</a></span> - Static method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#setConstant-double-int-">setConstant(double, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#setConstant-double-">setConstant(double)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#setConstant-double-">setConstant(double)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">RightScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#setConstant-double-int-">setConstant(double, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">RightScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-">setConstant(double)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant(double, int)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html#setConstDim2-long-">setConstDim2(long)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html#setConstDim2-long-">setConstDim2(long)</a></span> - Method in class org.apache.sysds.hops.codegen.<a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></dt>
@@ -26105,8 +26497,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html#setDiag-boolean-">setDiag(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary(Dictionary)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setDim-int-long-">setDim(int, long)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html#setDim-int-long-">setDim(int, long)</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></dt>
@@ -26310,6 +26700,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setFillValue-double-">setFillValue(double)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy(PrivacyConstraint, Expression)</a></span> - Static method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">setFineGrainedPrivacyConstraints(FineGrainedPrivacy)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Sets fine-grained privacy for the privacy constraint.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html#setFn-org.apache.sysds.runtime.functionobjects.IndexFunction-">setFn(IndexFunction)</a></span> - Method in class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setForcedExecType-org.apache.sysds.lops.LopProperties.ExecType-">setForcedExecType(LopProperties.ExecType)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -26535,7 +26931,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Identifier.html#setIntProperties--">setIntProperties()</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setInvestigateEstimate-boolean-">setInvestigateEstimate(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Set if the compression should be investigated while compressing.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/IterablePredicate.html#setIterVar-org.apache.sysds.parser.DataIdentifier-">setIterVar(DataIdentifier)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html#setK-int-">setK(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></dt>
@@ -26624,6 +27022,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops(ArrayList&lt;Lop&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setLossy-boolean-">setLossy(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Set the Compression to use Lossy compression.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/mlcontext/MLContext.html#setMaintainSymbolTable-boolean-">setMaintainSymbolTable(boolean)</a></span> - Method in class org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext">MLContext</a></dt>
 <dd>
 <div class="block">Set whether or not all values should be maintained in the symbol table
@@ -26680,6 +27082,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/MultiThreadedHop.html#setMaxNumThreads-int-">setMaxNumThreads(int)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setmaxStaticColGroupCoCode-int-">setmaxStaticColGroupCoCode(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Set the maximum number of columns to CoCode together in the static CoCoding strategy.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html#setMean-double-">setMean(double)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util">PoissonPRNGenerator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setMemEstimate-double-">setMemEstimate(double)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -26724,6 +27130,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ImportStatement.html#setNamespace-java.lang.String-">setNamespace(String)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser">ImportStatement</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setNAStrings-java.util.HashSet-">setNAStrings(HashSet&lt;String&gt;)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setNewDedupPatch-org.apache.sysds.runtime.lineage.LineageDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setNewDedupPatch(LineageDedupBlock, ProgramBlock, ExecutionContext)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#setNextTimePhase-double-">setNextTimePhase(double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
@@ -26953,6 +27361,8 @@
 <dd>
 <div class="block">Method to set privacy constraint of Lop.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint(PrivacyConstraint)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint(Lop)</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint(PrivacyConstraint)</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
@@ -27053,7 +27463,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#setRuntimePiggybacking-boolean-">setRuntimePiggybacking(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSamplingRatio-double-">setSamplingRatio(double)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Set the sampling ratio in percent to sample the input matrix.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/jmlc/PreparedScript.html#setScalar-java.lang.String-boolean-">setScalar(String, boolean)</a></span> - Method in class org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc">PreparedScript</a></dt>
 <dd>
 <div class="block">Binds a scalar boolean to a registered input variable.</div>
@@ -27122,7 +27534,9 @@
 <div class="block">Set the original DML/PyDML script string.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSeed-int-">setSeed(int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Set the seed for the compression operation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/NormalPRNGenerator.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/NormalPRNGenerator.html" title="class in org.apache.sysds.runtime.util">NormalPRNGenerator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util">PoissonPRNGenerator</a></dt>
@@ -27137,6 +27551,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#setSize-int-">setSize(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSkipList-boolean-">setSkipList(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Specify if the Offset list encoding should utilize skip lists.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSortValuesByLength-boolean-">setSortValuesByLength(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Set the sortValuesByLength flag.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/AssignmentStatement.html#setSource-org.apache.sysds.parser.Expression-">setSource(Expression)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/AssignmentStatement.html" title="class in org.apache.sysds.parser">AssignmentStatement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/MultiAssignmentStatement.html#setSource-org.apache.sysds.parser.FunctionCallIdentifier-">setSource(FunctionCallIdentifier)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser">MultiAssignmentStatement</a></dt>
@@ -27259,7 +27681,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops(Lop)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput(boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Specify if the input matrix should be transposed before compression.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html#setTransposeOutput-boolean-">setTransposeOutput(boolean)</a></span> - Method in class org.apache.sysds.hops.codegen.cplan.<a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#setTransposeSparseColumnVector-boolean-">setTransposeSparseColumnVector(boolean)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
@@ -27302,8 +27726,10 @@
 <div class="block">Used to set master UUID on all nodes (in parfor remote, where DMLScript passed) 
  in order to simplify cleanup of scratch_space and local working dirs.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.List-">setValidCompressions(List&lt;ColGroup.CompressionType&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions(EnumSet&lt;ColGroup.CompressionType&gt;)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
+<dd>
+<div class="block">Set the valid compression strategies used for the compression.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DoubleIdentifier.html#setValue-double-">setValue(double)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DoubleIdentifier.html" title="class in org.apache.sysds.parser">DoubleIdentifier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ExpressionList.html#setValue-java.util.ArrayList-">setValue(ArrayList&lt;Expression&gt;)</a></span> - Method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ExpressionList.html" title="class in org.apache.sysds.parser">ExpressionList</a></dt>
@@ -27328,8 +27754,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/Pair.html#setValue-V-">setValue(V)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues(double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#setValues-double:A-">setValues(double[])</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#setValueType-org.apache.sysds.common.Types.ValueType-">setValueType(Types.ValueType)</a></span> - Method in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
@@ -27559,9 +27983,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#skipConditionalInOuterProduct-org.apache.sysds.hops.Hop-java.util.HashMap-java.util.HashSet-">skipConditionalInOuterProduct(Hop, HashMap&lt;Long, CNode&gt;, HashSet&lt;Hop&gt;)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#skipList">skipList</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">Boolean specifying if the OLE and RLE should construct skip to enable skipping large amounts of rows.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#skipTranspose-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-java.util.HashMap-boolean-">skipTranspose(CNode, Hop, HashMap&lt;Long, CNode&gt;, boolean)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice(int, int, int, int, boolean, CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice(ArrayList&lt;IndexedMatrixValue&gt;, IndexRange, int, int, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
@@ -27675,8 +28103,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#sort-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-boolean-int-">sort(MatrixBlock, MatrixBlock, int[], boolean, boolean, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#SORT_VALUES_BY_LENGTH">SORT_VALUES_BY_LENGTH</a></span> - Static variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/estim/EstimatorSampleRa.html#sortAndTruncate-java.util.ArrayList-">sortAndTruncate(ArrayList&lt;Double&gt;)</a></span> - Method in class org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorSampleRa.html" title="class in org.apache.sysds.hops.estim">EstimatorSampleRa</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/SortUtils.html#sortByIndex-int-int-int:A-double:A-">sortByIndex(int, int, int[], double[])</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/SortUtils.html" title="class in org.apache.sysds.runtime.util">SortUtils</a></dt>
@@ -27756,8 +28182,18 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/SortUtils.html#SortUtils--">SortUtils()</a></span> - Constructor for class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/SortUtils.html" title="class in org.apache.sysds.runtime.util">SortUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#sortValuesByFrequency--">sortValuesByFrequency()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#sortValuesByFrequency--">sortValuesByFrequency()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#sortValuesByFrequency--">sortValuesByFrequency()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#sortValuesByFrequency--">sortValuesByFrequency()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#sortValuesByLength">sortValuesByLength</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
+<dd>
+<div class="block">Sorting of values by physical length helps by 10-20%, especially for serial, while slight performance decrease
+ for parallel incl multi-threaded, hence not applied for distributed operations (also because compression time +
+ garbage collection increases)</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html#source">source</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AccumulatorAssignmentStatementContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html#source">source</a></span> - Variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AssignmentStatementContext</a></dt>
@@ -28311,15 +28747,37 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html#SubProblem-int-int:A-org.apache.sysds.hops.codegen.opt.InterestingPoint:A-">SubProblem(int, int[], InterestingPoint[])</a></span> - Constructor for class org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph.SubProblem</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder(int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
+<dd>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder(int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
 <dd>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-int-int-">subRangeEncoder(int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderBin</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-int-int-">subRangeEncoder(int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-int-int-">subRangeEncoder(int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFeatureHash</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderPassThrough</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder(IndexRange)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderRecode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html#subsumes-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-">subsumes(CPlanMemoTable.MemoTableEntry)</a></span> - Method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></dt>
 <dd>&nbsp;</dd>
@@ -28345,8 +28803,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html#sumStable-org.apache.spark.api.java.JavaRDD-">sumStable(JavaRDD&lt;MatrixBlock&gt;)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues(int, KahanFunction, KahanObject)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile()</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
 <dd>
 <div class="block">In a given two column matrix, the second column denotes weights.</div>
@@ -29084,6 +29540,10 @@
 <dd>
 <div class="block">Obtain the matrix as a <code>JavaRDD&lt;String&gt;</code> in IJV format</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#toJson-org.apache.wink.json4j.JSONObject-">toJson(JSONObject)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>
+<div class="block">Get privacy constraints and put them into JSON object.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html#tokenize-java.lang.String-">tokenize(String)</a></span> - Method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#tokenNames">tokenNames</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
@@ -29158,7 +29618,7 @@
 <dd>
 <div class="block">Obtain the matrix as a <code>RDD&lt;String&gt;</code> in IJV format</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock()</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dt>
 <dd>
@@ -29442,14 +29902,24 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/Bitmap.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArray.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -29484,6 +29954,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/TensorIndexes.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/functionobjects/Builtin.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.functionobjects.<a href="org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></dt>
@@ -29552,6 +30024,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.meta.<a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#toString--">toString()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html#toString--">toString()</a></span> - Method in enum org.apache.sysds.runtime.transform.<a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html" title="enum in org.apache.sysds.runtime.transform">TfUtils.TfMethod</a></dt>
@@ -29643,7 +30119,10 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html#transpose-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">transpose(MatrixBlock, MatrixBlock, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
+ for iteration in columns.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations(MatrixBlock, MMTSJ.MMTSJType)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations(MatrixBlock, MMTSJ.MMTSJType, int)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
@@ -29836,16 +30315,25 @@
 <dd>
 <div class="block">Entry point to perform Unary aggregate operations on the GPU.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations(AggregateUnaryOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations(AggregateUnaryOperator, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations(AggregateUnaryOperator, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dd>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations(AggregateUnaryOperator, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations(AggregateUnaryOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations(AggregateUnaryOperator, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations(AggregateUnaryOperator, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations(AggregateUnaryOperator, MatrixBlock, int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations(AggregateUnaryOperator, double[])</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations(AggregateUnaryOperator, double[], int, int)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">UnaryCP</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
 <dd>&nbsp;</dd>
@@ -29897,14 +30385,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">UnarySPInstruction</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">UncompressedBitmap</span></a> - Class in <a href="org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></dt>
-<dd>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap-int-">UncompressedBitmap(DblArrayIntListHashMap, int)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap-">UncompressedBitmap(DoubleIntListHashMap)</a></span> - Constructor for class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">UnifiedMemoryAllocator</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/gpu/context/package-summary.html">org.apache.sysds.runtime.instructions.gpu.context</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html#UnifiedMemoryAllocator--">UnifiedMemoryAllocator()</a></span> - Constructor for class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">UnifiedMemoryAllocator</a></dt>
@@ -29946,12 +30426,32 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/Data.html#updateDataCharacteristics-org.apache.sysds.runtime.meta.DataCharacteristics-">updateDataCharacteristics(DataCharacteristics)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes(List&lt;Encoder&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/recompile/Recompiler.html#updateFunctionNames-java.util.ArrayList-long-">updateFunctionNames(ArrayList&lt;Hop&gt;, long)</a></span> - Static method in class org.apache.sysds.hops.recompile.<a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.Hop-">updateHopCharacteristics(Hop, int, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#updateHopCharacteristics-org.apache.sysds.hops.Hop-int-org.apache.sysds.hops.MemoTable-org.apache.sysds.hops.Hop-">updateHopCharacteristics(Hop, int, MemoTable, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></dt>
+<dd>
+<div class="block">Update index-ranges to after decoding.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></dt>
+<dd>
+<div class="block">Update index-ranges to after encoding.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderComposite</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#updateIndexRanges-long:A-long:A-">updateIndexRanges(long[], long[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID(String, String)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID(String, String)</a></span> - Method in class org.apache.sysds.runtime.instructions.<a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></dt>
@@ -30108,7 +30608,10 @@
 <div class="block">If true, allow DMLProgram to be generated while not halting due to validation errors/warnings</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span> - Variable in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
+ Default is to always allow for Uncompromisable ColGroup.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#value">value</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#value">value</a></span> - Variable in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></dt>
@@ -30488,6 +30991,10 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheableData.CacheStatus</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -31172,6 +31679,11 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html#values--">values()</a></span> - Static method in enum org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.CacheStatus.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">CacheableData.CacheStatus</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -31698,7 +32210,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectAdd-double:A-double:A-int-int-int-">vectAdd(double[], double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectAdd-double-double:A-char:A-int-int-int-">vectAdd(double, double[], char[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Add aval to a series of indexes in c.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectAdd-double-double:A-int-int-">vectAdd(double, double[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#vectAdd-double:A-double-double:A-int-int-int-">vectAdd(double[], double, double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></dt>
@@ -31967,6 +32481,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLessWrite-double:A-double:A-int-int:A-int-int-int-">vectLessWrite(double[], double[], int, int[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-char:A-int-int-">vectListAdd(double[], double[], char[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-byte:A-int-int-">vectListAdd(double[], double[], byte[], int, int)</a></span> - Static method in class org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int-int-int-">vectLogAdd(double[], double[], int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html#vectLogAdd-double:A-double:A-int:A-int-int-int-int-">vectLogAdd(double[], double[], int[], int, int, int, int)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></dt>
@@ -32439,24 +32957,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html#wrapLookupIfNecessary-org.apache.sysds.hops.codegen.cplan.CNode-org.apache.sysds.hops.Hop-">wrapLookupIfNecessary(CNode, Hop)</a></span> - Static method in class org.apache.sysds.hops.codegen.template.<a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></dt>
 <dd>
-<div class="block">Serializes column group to data output.</div>
+<div class="block">Write the dictionary to a DataOutput.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write(DataOutput, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></dt>
 <dd>
 <div class="block">Serializes column group to data output.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-boolean-">write(DataOutput, boolean)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#write-java.io.DataOutput-">write(DataOutput)</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html#write-int-">write(int)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheDataOutput</a></dt>
@@ -32497,8 +33021,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html#write-byte:A-int-int-">write(byte[], int, int)</a></span> - Method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html" title="class in org.apache.sysds.runtime.util">FastBufferedDataOutputStream</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#WRITE_CACHE_BLKSZ">WRITE_CACHE_BLKSZ</a></span> - Static variable in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html#WRITE_REPLICATION_FACTOR">WRITE_REPLICATION_FACTOR</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/OutputStatement.html#WRITE_VALID_PARAM_NAMES">WRITE_VALID_PARAM_NAMES</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/OutputStatement.html" title="class in org.apache.sysds.parser">OutputStatement</a></dt>
@@ -32612,6 +33134,8 @@
 <div class="block">Redirects the default java serialization via externalizable to our default 
  hadoop writable serialization for consistency/maintainability.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html#writeExternal-java.io.ObjectOutput-">writeExternal(ObjectOutput)</a></span> - Method in class org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html#WriteFileTask-org.apache.hadoop.fs.Path-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.fs.FileSystem-org.apache.sysds.runtime.data.TensorBlock-long-long-int-">WriteFileTask(Path, JobConf, FileSystem, TensorBlock, long, long, int)</a></span> - Constructor for class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel.WriteFileTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html#writeFloat-float-">writeFloat(float)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheDataOutput.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheDataOutput</a></dt>
@@ -32636,7 +33160,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/FrameWriterTextCSV.html#writeFrameToHDFS-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-long-long-">writeFrameToHDFS(FrameBlock, String, long, long)</a></span> - Method in class org.apache.sysds.runtime.io.<a href="org/apache/sysds/runtime/io/FrameWriterTextCSV.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCSV</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-boolean-java.util.List-">writeGroups(DataOutput, boolean, List&lt;ColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups(DataOutput, List&lt;ColGroup&gt;)</a></span> - Static method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></dt>
 <dd>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 </dd>
@@ -32861,6 +33385,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html#Z:Z_correction">_correction</a></span> - Variable in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#Z:Z_domainSizes">_domainSizes</a></span> - Variable in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderDummycode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html#Z:Z_dpf">_dpf</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.<a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#Z:Z_endColumn">_endColumn</a></span> - Variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
diff --git a/docs/api/java/org/apache/sysds/api/DMLScript.html b/docs/api/java/org/apache/sysds/api/DMLScript.html
index 502118a..96bbb8e 100644
--- a/docs/api/java/org/apache/sysds/api/DMLScript.html
+++ b/docs/api/java/org/apache/sysds/api/DMLScript.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -272,6 +272,12 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#cleanupHadoopExecution-org.apache.sysds.conf.DMLConfig-">cleanupHadoopExecution</a></span>(<a href="../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#errorPrint-java.lang.Exception-">errorPrint</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</code>
+<div class="block">Print the error in a user friendly manner.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#executeScript-org.apache.hadoop.conf.Configuration-java.lang.String:A-">executeScript</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
@@ -279,50 +285,50 @@
  main, executeScript, JaqlUdf etc)</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/sysds/common/Types.ExecMode.html" title="enum in org.apache.sysds.common">Types.ExecMode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#getGlobalExecMode--">getGlobalExecMode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#getUUID--">getUUID</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#initHadoopExecution-org.apache.sysds.conf.DMLConfig-">initHadoopExecution</a></span>(<a href="../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;config)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#isActiveAM--">isActiveAM</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#main-java.lang.String:A-">main</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
 <div class="block">Main entry point for systemDS dml script execution</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#setActiveAM--">setActiveAM</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#setGlobalExecMode-org.apache.sysds.common.Types.ExecMode-">setGlobalExecMode</a></span>(<a href="../../../../org/apache/sysds/common/Types.ExecMode.html" title="enum in org.apache.sysds.common">Types.ExecMode</a>&nbsp;mode)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#setGlobalFlags-org.apache.sysds.conf.DMLConfig-">setGlobalFlags</a></span>(<a href="../../../../org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a>&nbsp;dmlconf)</code>
 <div class="block">Sets the global flags in DMLScript based on user provided configuration</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#setUUID-java.lang.String-">setUUID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uuid)</code>
 <div class="block">Used to set master UUID on all nodes (in parfor remote, where DMLScript passed) 
  in order to simplify cleanup of scratch_space and local working dirs.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/api/DMLScript.html#suppressPrint2Stdout--">suppressPrint2Stdout</a></span>()</code>&nbsp;</td>
 </tr>
@@ -759,12 +765,26 @@
 <a name="setGlobalExecMode-org.apache.sysds.common.Types.ExecMode-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setGlobalExecMode</h4>
 <pre>public static&nbsp;void&nbsp;setGlobalExecMode(<a href="../../../../org/apache/sysds/common/Types.ExecMode.html" title="enum in org.apache.sysds.common">Types.ExecMode</a>&nbsp;mode)</pre>
 </li>
 </ul>
+<a name="errorPrint-java.lang.Exception-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>errorPrint</h4>
+<pre>public static&nbsp;void&nbsp;errorPrint(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e)</pre>
+<div class="block">Print the error in a user friendly manner.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>e</code> - The exception thrown.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/common/Builtins.html b/docs/api/java/org/apache/sysds/common/Builtins.html
index ee0a0d8..325e0e5 100644
--- a/docs/api/java/org/apache/sysds/common/Builtins.html
+++ b/docs/api/java/org/apache/sysds/common/Builtins.html
@@ -477,158 +477,164 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#MULTILOGREGPREDICT">MULTILOGREGPREDICT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#NA_LOCF">NA_LOCF</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#NAIVEBAYES">NAIVEBAYES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#NCOL">NCOL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#NORMALIZE">NORMALIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#NROW">NROW</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ORDER">ORDER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTER">OUTER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER">OUTLIER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER_IQR">OUTLIER_IQR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#OUTLIER_SD">OUTLIER_SD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PARAMSERV">PARAMSERV</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCA">PCA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PCHISQ">PCHISQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PEXP">PEXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PF">PF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PNMF">PNMF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PNORM">PNORM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PPRED">PPRED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PROD">PROD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#PT">PT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QCHISQ">QCHISQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QEXP">QEXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QF">QF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QNORM">QNORM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QR">QR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QT">QT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#QUANTILE">QUANTILE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#RANGE">RANGE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#RBIND">RBIND</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#REMOVE">REMOVE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#REPLACE">REPLACE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#REV">REV</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#RMEMPTY">RMEMPTY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROUND">ROUND</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWINDEXMAX">ROWINDEXMAX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWINDEXMIN">ROWINDEXMIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWMAX">ROWMAX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWMEAN">ROWMEAN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWMIN">ROWMIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWPROD">ROWPROD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWSD">ROWSD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWSUM">ROWSUM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#ROWVAR">ROWVAR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SAMPLE">SAMPLE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SCALE">SCALE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SD">SD</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SEQ">SEQ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIGMOID">SIGMOID</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIGN">SIGN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SIN">SIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SINH">SINH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SLICEFINDER">SLICEFINDER</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SMOTE">SMOTE</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Builtins.html#SOLVE">SOLVE</a></span></code>&nbsp;</td>
 </tr>
@@ -1720,6 +1726,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> MULTILOGREGPREDICT</pre>
 </li>
 </ul>
+<a name="NA_LOCF">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NA_LOCF</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> NA_LOCF</pre>
+</li>
+</ul>
 <a name="NCOL">
 <!--   -->
 </a>
@@ -2053,6 +2068,15 @@
 <pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SLICEFINDER</pre>
 </li>
 </ul>
+<a name="SMOTE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SMOTE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a> SMOTE</pre>
+</li>
+</ul>
 <a name="SOLVE">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/common/Types.ValueType.html b/docs/api/java/org/apache/sysds/common/Types.ValueType.html
index 6c79adc..b09ddb7 100644
--- a/docs/api/java/org/apache/sysds/common/Types.ValueType.html
+++ b/docs/api/java/org/apache/sysds/common/Types.ValueType.html
@@ -161,6 +161,9 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ValueType.html#STRING">STRING</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ValueType.html#UINT8">UINT8</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/common/Types.ValueType.html#UNKNOWN">UNKNOWN</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -240,6 +243,15 @@
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
+<a name="UINT8">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UINT8</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a> UINT8</pre>
+</li>
+</ul>
 <a name="FP32">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
index 0280b76..bce2f82 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.DataType.html
@@ -1578,6 +1578,11 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-">DataIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
               <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">DataIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html b/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
index 7fa32b4..9f9dc43 100644
--- a/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
+++ b/docs/api/java/org/apache/sysds/common/class-use/Types.ValueType.html
@@ -1646,6 +1646,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a> with parameters of type <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">DataIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+              <a href="../../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+              <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/conf/DMLConfig.html b/docs/api/java/org/apache/sysds/conf/DMLConfig.html
index 2d5b1b8..bdb8441 100644
--- a/docs/api/java/org/apache/sysds/conf/DMLConfig.html
+++ b/docs/api/java/org/apache/sysds/conf/DMLConfig.html
@@ -159,6 +159,14 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_LOSSY">COMPRESSED_LOSSY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#COMPRESSED_VALID_COMPRESSIONS">COMPRESSED_VALID_COMPRESSIONS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/conf/DMLConfig.html#CP_PARALLEL_IO">CP_PARALLEL_IO</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -473,6 +481,32 @@
 </dl>
 </li>
 </ul>
+<a name="COMPRESSED_LOSSY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_LOSSY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_LOSSY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_LOSSY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMPRESSED_VALID_COMPRESSIONS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COMPRESSED_VALID_COMPRESSIONS</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMPRESSED_VALID_COMPRESSIONS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.conf.DMLConfig.COMPRESSED_VALID_COMPRESSIONS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="NATIVE_BLAS">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
index c41a0ce..9f28513 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPass.html
@@ -160,7 +160,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -231,9 +231,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public abstract&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                                    <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                                    <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public abstract&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                                       <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                                       <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
 <dl>
@@ -241,6 +241,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
index d5865c2..4a826f8 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html
@@ -163,7 +163,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -237,9 +237,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -250,6 +250,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
index 7be4280..83235cc 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html
@@ -162,7 +162,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -236,9 +236,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -249,6 +249,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
index b0401e0..f15c5bc 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html
@@ -168,7 +168,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -250,9 +250,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -263,6 +263,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
index 7c66a46..0555bfb 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html
@@ -160,7 +160,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -234,9 +234,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -247,6 +247,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
index 23936d9..4a41deb 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html
@@ -163,7 +163,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -237,9 +237,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -250,6 +250,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
index 10dc530..0180be1 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html
@@ -164,7 +164,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -238,9 +238,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -251,6 +251,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
index bee210c..272dcc0 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html
@@ -162,7 +162,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -236,9 +236,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -249,6 +249,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
index f3a8776..333045a 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html
@@ -164,7 +164,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -238,9 +238,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -251,6 +251,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
index a663435..20bb242 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html
@@ -164,7 +164,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -242,9 +242,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -255,6 +255,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
index b74d7ec..c1943e5 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html
@@ -163,7 +163,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -237,9 +237,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rewriteProgram</h4>
-<pre>public&nbsp;void&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
-                           <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
+<pre>public&nbsp;boolean&nbsp;rewriteProgram(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
+                              <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">IPAPass</a></code></span></div>
 <div class="block">Rewrites the given program or its functions in place,
  with access to the read-only function call graph.</div>
@@ -250,6 +250,8 @@
 <dd><code>prog</code> - dml program</dd>
 <dd><code>fgraph</code> - function call graph</dd>
 <dd><code>fcallSizes</code> - function call size infos</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if function call graph should be rebuild</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
index 3233c8e..f26c107 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallGraph.html
@@ -151,25 +151,25 @@
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnusedFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#isApplicable-org.apache.sysds.hops.ipa.FunctionCallGraph-">isApplicable</a></span>(<a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnnecessaryCheckpoints.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagFunctionsRecompileOnce.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassApplyStaticAndDynamicHopRewrites.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPass.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -178,43 +178,43 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveConstantBinaryOps.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagNonDeterminism.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassInlineFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassForwardFunctionCalls.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassEliminateDeadCode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassPropagateReplaceLiterals.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnusedFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
index 3ad01f9..fe5cfe1 100644
--- a/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/hops/ipa/class-use/FunctionCallSizeInfo.html
@@ -103,25 +103,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnnecessaryCheckpoints.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagFunctionsRecompileOnce.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassApplyStaticAndDynamicHopRewrites.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPass.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -130,43 +130,43 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveConstantBinaryOps.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagNonDeterminism.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassInlineFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassForwardFunctionCalls.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassEliminateDeadCode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassPropagateReplaceLiterals.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnusedFunctions.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
index 4bce5ae..0c32172 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/ProgramRewriter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -208,17 +208,23 @@
                      boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
+                     boolean&nbsp;splitDags,
+                     <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlock</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                       <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
                       boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlockHopDAGs-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rRewriteStatementBlockHopDAGs</a></span>(<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;current,
                              <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlocks-java.util.ArrayList-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                        <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
@@ -354,6 +360,17 @@
                                                   boolean&nbsp;splitDags)</pre>
 </li>
 </ul>
+<a name="rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rewriteProgramHopDAGs</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;rewriteProgramHopDAGs(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
+                                                  boolean&nbsp;splitDags,
+                                                  <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</pre>
+</li>
+</ul>
 <a name="rewriteHopDAGsFunction-org.apache.sysds.parser.FunctionStatementBlock-boolean-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
index 1a7f437..00fd27e 100644
--- a/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
+++ b/docs/api/java/org/apache/sysds/hops/rewrite/class-use/ProgramRewriteStatus.html
@@ -111,6 +111,12 @@
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
                      boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
+                     boolean&nbsp;splitDags,
+                     <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -301,141 +307,147 @@
                       boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
+                     boolean&nbsp;splitDags,
+                     <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle an arbitrary statement block.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                      <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteForLoopVectorization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MarkForLineageReuse.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/MarkForLineageReuse.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveEmptyBasicBlocks.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagDataDependentOperators.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteCompressedReblock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMergeBlockSequence.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteInjectSparkLoopCheckpointing.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StatementBlockRewriteRule.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>
 <div class="block">Handle a list of statement blocks.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteHoistLoopInvariantOperations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteMarkLoopVariablesUpdateInPlace.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteSplitDagUnknownCSVRead.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RewriteRemoveUnnecessaryBranches.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html#rewriteStatementBlocks-java.util.List-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;sate)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlock-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlock</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;sb,
                       <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
                       boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlockHopDAGs-org.apache.sysds.parser.StatementBlock-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rRewriteStatementBlockHopDAGs</a></span>(<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&nbsp;current,
                              <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rRewriteStatementBlocks-java.util.ArrayList-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-boolean-">rRewriteStatementBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a>&gt;&nbsp;sbs,
                        <a href="../../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;status,
diff --git a/docs/api/java/org/apache/sysds/parser/DataExpression.html b/docs/api/java/org/apache/sysds/parser/DataExpression.html
index 68edd7c..dd9b80c 100644
--- a/docs/api/java/org/apache/sysds/parser/DataExpression.html
+++ b/docs/api/java/org/apache/sysds/parser/DataExpression.html
@@ -253,129 +253,133 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#IO_FILENAME">IO_FILENAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#PRIVACY">PRIVACY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_BY_ROW">RAND_BY_ROW</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_COLS">RAND_COLS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_DATA">RAND_DATA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_DIMNAMES">RAND_DIMNAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_DIMS">RAND_DIMS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_LAMBDA">RAND_LAMBDA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_MAX">RAND_MAX</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_MIN">RAND_MIN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_PDF">RAND_PDF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_PDF_UNIFORM">RAND_PDF_UNIFORM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_ROWS">RAND_ROWS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_SEED">RAND_SEED</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_SPARSITY">RAND_SPARSITY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RAND_VALID_PARAM_NAMES">RAND_VALID_PARAM_NAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#READ_VALID_MTD_PARAM_NAMES">READ_VALID_MTD_PARAM_NAMES</a></span></code>
 <div class="block">Valid parameter names in metadata file</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#READ_VALID_PARAM_NAMES">READ_VALID_PARAM_NAMES</a></span></code>
 <div class="block">Valid parameter names in arguments to read instruction</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#READCOLPARAM">READCOLPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#READNNZPARAM">READNNZPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#READROWPARAM">READROWPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#RESHAPE_VALID_PARAM_NAMES">RESHAPE_VALID_PARAM_NAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#ROWBLOCKCOUNTPARAM">ROWBLOCKCOUNTPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SCHEMAPARAM">SCHEMAPARAM</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SQL_CONN">SQL_CONN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SQL_PASS">SQL_PASS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SQL_QUERY">SQL_QUERY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SQL_USER">SQL_USER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#SQL_VALID_PARAM_NAMES">SQL_VALID_PARAM_NAMES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataExpression.html#VALUETYPEPARAM">VALUETYPEPARAM</a></span></code>&nbsp;</td>
 </tr>
@@ -1062,6 +1066,19 @@
 </dl>
 </li>
 </ul>
+<a name="FINE_GRAINED_PRIVACY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FINE_GRAINED_PRIVACY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FINE_GRAINED_PRIVACY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.sysds.parser.DataExpression.FINE_GRAINED_PRIVACY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="DELIM_DELIMITER">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/parser/DataIdentifier.html b/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
index e6e157a..3bf3b11 100644
--- a/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
+++ b/docs/api/java/org/apache/sysds/parser/DataIdentifier.html
@@ -174,6 +174,11 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-">DataIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
               <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/DataIdentifier.html#DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">DataIdentifier</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+              <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+              <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -298,6 +303,17 @@
                       <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt)</pre>
 </li>
 </ul>
+<a name="DataIdentifier-java.lang.String-org.apache.sysds.common.Types.DataType-org.apache.sysds.common.Types.ValueType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DataIdentifier</h4>
+<pre>public&nbsp;DataIdentifier(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                      <a href="../../../../org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a>&nbsp;dt,
+                      <a href="../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt)</pre>
+</li>
+</ul>
 <a name="DataIdentifier--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
index 9c4d43c..cdf2804 100644
--- a/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/ForStatementBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -185,22 +185,26 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementLops--">getIncrementLops</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getInputstoSB--">getInputstoSB</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIterPredicate--">getIterPredicate</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToHops--">getToHops</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToLops--">getToLops</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a></span>(<a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;loPassed)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a></span>(<a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;activeInPassed)</code>
 <div class="block">For each statement:
@@ -212,51 +216,51 @@
  add to kill.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#performConstantPropagation-java.util.HashMap-">performConstantPropagation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/sysds/parser/ConstIdentifier.html" title="class in org.apache.sysds.parser">ConstIdentifier</a>&gt;&nbsp;currConstVars)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresFromRecompilation--">requiresFromRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresIncrementRecompilation--">requiresIncrementRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lops)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#validate-org.apache.sysds.parser.DMLProgram-org.apache.sysds.parser.VariableSet-java.util.HashMap-boolean-">validate</a></span>(<a href="../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlProg,
         <a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;ids,
@@ -269,7 +273,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.LiveVariableAnalysis">
@@ -490,6 +494,19 @@
 <pre>public&nbsp;<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;getIncrementLops()</pre>
 </li>
 </ul>
+<a name="getInputstoSB--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputstoSB</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getInputstoSB()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="analyze-org.apache.sysds.parser.VariableSet-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
index 59900c7..5d53a1e 100644
--- a/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/ParForStatementBlock.html
@@ -281,14 +281,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#analyze-org.apache.sysds.parser.VariableSet-">analyze</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromHops--">getFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromLops--">getFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementHops--">getIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementLops--">getIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIterPredicate--">getIterPredicate</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToHops--">getToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToLops--">getToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#performConstantPropagation-java.util.HashMap-">performConstantPropagation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresFromRecompilation--">requiresFromRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresIncrementRecompilation--">requiresIncrementRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#analyze-org.apache.sysds.parser.VariableSet-">analyze</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromHops--">getFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getFromLops--">getFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementHops--">getIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIncrementLops--">getIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getIterPredicate--">getIterPredicate</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToHops--">getToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#getToLops--">getToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#performConstantPropagation-java.util.HashMap-">performConstantPropagation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresFromRecompilation--">requiresFromRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresIncrementRecompilation--">requiresIncrementRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#requiresToRecompilation--">requiresToRecompilation</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromHops-org.apache.sysds.hops.Hop-">setFromHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setFromLops-org.apache.sysds.lops.Lop-">setFromLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementHops-org.apache.sysds.hops.Hop-">setIncrementHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setIncrementLops-org.apache.sysds.lops.Lop-">setIncrementLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToHops-org.apache.sysds.hops.Hop-">setToHops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#setToLops-org.apache.sysds.lops.Lop-">setToLops</a>, <a href="../../../../org/apache/sysds/parser/ForStatementBlock.html#updatePredicateRecompilationFlags--">updatePredicateRecompilationFlags</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.StatementBlock">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.LiveVariableAnalysis">
diff --git a/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html b/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
index 8c028c2..70ad893 100644
--- a/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
+++ b/docs/api/java/org/apache/sysds/parser/WhileStatementBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -165,18 +165,22 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#analyze-org.apache.sysds.parser.VariableSet-">analyze</a></span>(<a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;loPassed)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#getInputstoSB--">getInputstoSB</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#getPredicateHops--">getPredicateHops</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#getPredicateLops--">getPredicateLops</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#initializebackwardLV-org.apache.sysds.parser.VariableSet-">initializebackwardLV</a></span>(<a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;loPassed)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#initializeforwardLV-org.apache.sysds.parser.VariableSet-">initializeforwardLV</a></span>(<a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;activeInPassed)</code>
 <div class="block">For each statement:
@@ -188,23 +192,23 @@
  add to kill.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#requiresPredicateRecompilation--">requiresPredicateRecompilation</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#setPredicateHops-org.apache.sysds.hops.Hop-">setPredicateHops</a></span>(<a href="../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hops)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#setPredicateLops-org.apache.sysds.lops.Lop-">setPredicateLops</a></span>(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;predicateLops)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#updatePredicateRecompilationFlag--">updatePredicateRecompilationFlag</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/sysds/parser/WhileStatementBlock.html#validate-org.apache.sysds.parser.DMLProgram-org.apache.sysds.parser.VariableSet-java.util.HashMap-boolean-">validate</a></span>(<a href="../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlProg,
         <a href="../../../../org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a>&nbsp;ids,
@@ -217,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.parser.<a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></h3>
-<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
+<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatement-org.apache.sysds.parser.Statement-">addStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#addStatementBlock-org.apache.sysds.parser.StatementBlock-">addStatementBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getBeginLine--">getBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstIn--">getConstIn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getConstOut--">getConstOut</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getDMLProg--">getDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndColumn--">getEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getEndLine--">getEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getFilename--">getFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getHops--">getHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getLops--">getLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getName--">getName</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getNumStatements--">getNumStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputNamesofSB--">getOutputNamesofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getOutputsofSB--">getOutputsofSB</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getSBID--">getSBID</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatement-int-">getStatement</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getStatements--">getStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getText--">getText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#getUpdateInPlaceVars--">getUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isMergeableFunctionCallBlock-org.apache.sysds.parser.DMLProgram-">isMergeableFunctionCallBlock</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isNondeterministic--">isNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isRewritableFunctionCall-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">isRewritableFunctionCall</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#isSplitDag--">isSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeable--">mergeable</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeFunctionCalls-java.util.List-org.apache.sysds.parser.DMLProgram-">mergeFunctionCalls</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#mergeStatementBlocks-java.util.List-">mergeStatementBlocks</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printBlockErrorLocation--">printBlockErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printErrorLocation--">printErrorLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#printWarningLocation--">printWarningLocation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#raiseValidateError-java.lang.String-boolean-java.lang.String-">raiseValidateError</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#requiresRecompilation--">requiresRecompilation</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rewriteFunctionCallStatements-org.apache.sysds.parser.DMLProgram-java.util.ArrayList-">rewriteFunctionCallStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Expression-boolean-java.util.ArrayList-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.StatementBlock-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#rHoistFunctionCallsFromExpressions-org.apache.sysds.parser.Statement-org.apache.sysds.parser.DMLProgram-">rHoistFunctionCallsFromExpressions</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginColumn-int-">setBeginColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setBeginLine-int-">setBeginLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setDMLProg-org.apache.sysds.parser.DMLProgram-">setDMLProg</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndColumn-int-">setEndColumn</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setEndLine-int-">setEndLine</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setFilename-java.lang.String-">setFilename</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setHops-java.util.ArrayList-">setHops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setLops-java.util.ArrayList-">setLops</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setNondeterministic-boolean-">setNondeterministic</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setParseInfo-org.apache.sysds.parser.ParseInfo-">setParseInfo</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setSplitDag-boolean-">setSplitDag</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.AssignmentStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatementFormatType-org.apache.sysds.parser.OutputStatement-boolean-">setStatementFormatType</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setStatements-java.util.ArrayList-">setStatements</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setText-java.lang.String-">setText</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#setUpdateInPlaceVars-java.util.ArrayList-">setUpdateInPlaceVars</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#toString--">toString</a>, <a href="../../../../org/apache/sysds/parser/StatementBlock.html#updateRecompilationFlag--">updateRecompilationFlag</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.parser.LiveVariableAnalysis">
@@ -357,6 +361,19 @@
 <pre>public&nbsp;void&nbsp;setPredicateLops(<a href="../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;predicateLops)</pre>
 </li>
 </ul>
+<a name="getInputstoSB--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputstoSB</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getInputstoSB()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../org/apache/sysds/parser/StatementBlock.html#getInputstoSB--">getInputstoSB</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="analyze-org.apache.sysds.parser.VariableSet-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html b/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
index 9ac6144..d9ee214 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/DMLProgram.html
@@ -173,25 +173,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnnecessaryCheckpoints.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagFunctionsRecompileOnce.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassApplyStaticAndDynamicHopRewrites.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
+<td class="colFirst"><code>abstract boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPass.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPass.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>
@@ -200,43 +200,43 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveConstantBinaryOps.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassFlagNonDeterminism.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassInlineFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassForwardFunctionCalls.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassEliminateDeadCode.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassPropagateReplaceLiterals.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">IPAPassRemoveUnusedFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html#rewriteProgram-org.apache.sysds.parser.DMLProgram-org.apache.sysds.hops.ipa.FunctionCallGraph-org.apache.sysds.hops.ipa.FunctionCallSizeInfo-">rewriteProgram</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;prog,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a>&nbsp;fgraph,
               <a href="../../../../../org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a>&nbsp;fcallSizes)</code>&nbsp;</td>
@@ -284,6 +284,12 @@
 <td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
                      boolean&nbsp;splitDags)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ProgramRewriter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriter.html#rewriteProgramHopDAGs-org.apache.sysds.parser.DMLProgram-boolean-org.apache.sysds.hops.rewrite.ProgramRewriteStatus-">rewriteProgramHopDAGs</a></span>(<a href="../../../../../org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a>&nbsp;dmlp,
+                     boolean&nbsp;splitDags,
+                     <a href="../../../../../org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a>&nbsp;state)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/parser/class-use/Expression.html b/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
index cfb242e..0cfc825 100644
--- a/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
+++ b/docs/api/java/org/apache/sysds/parser/class-use/Expression.html
@@ -95,6 +95,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -750,6 +754,25 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a> in <a href="../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> with parameters of type <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
+                     <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.utils">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/parser/package-use.html b/docs/api/java/org/apache/sysds/parser/package-use.html
index 3bd05eb..9bca130 100644
--- a/docs/api/java/org/apache/sysds/parser/package-use.html
+++ b/docs/api/java/org/apache/sysds/parser/package-use.html
@@ -155,10 +155,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -663,6 +667,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/sysds/parser/package-summary.html">org.apache.sysds.parser</a> used by <a href="../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/sysds/parser/class-use/Expression.html#org.apache.sysds.runtime.privacy">Expression</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html
index 7570200..7c4e805 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":6,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":6,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":6,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -421,14 +421,26 @@
                     boolean&nbsp;deep)</code>&nbsp;</td>
 </tr>
 <tr id="i23" class="rowColor">
-<td class="colFirst"><code>abstract boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isCompressed--">isCompressed</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
 </tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+</td>
+</tr>
 <tr id="i25" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
@@ -438,7 +450,7 @@
                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
@@ -448,20 +460,20 @@
 <div class="block">Explicitly allow left indexing for scalars.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
                                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
                                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
                                int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -469,7 +481,7 @@
                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -478,7 +490,7 @@
                     <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -486,7 +498,7 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
                      org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
@@ -495,20 +507,20 @@
 <div class="block">Function to generate a matrix of random numbers.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
@@ -516,13 +528,13 @@
                int&nbsp;startColumn,
                int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  double&nbsp;pattern,
                  double&nbsp;replacement)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  double&nbsp;max,
@@ -531,13 +543,13 @@
                  boolean&nbsp;ignore,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a></span>(double&nbsp;from,
                     double&nbsp;to,
                     double&nbsp;incr)</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
      <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -547,29 +559,37 @@
      int&nbsp;boundaryRlen,
      int&nbsp;boundaryClen)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
      int&nbsp;cu,
+     boolean&nbsp;deep,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>
-<div class="block">Slice a sub block out of the current block and write into the given output block.</div>
+<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
+<div class="block">Converts a cache block that is not shallow serializable into
+ a form that is shallow serializable.</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
@@ -577,12 +597,12 @@
                         <a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
                         <a href="../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
                  <a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
@@ -594,7 +614,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparsePermutationMatrix--">isUltraSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickGetValue-int-int-">quickGetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#write-java.io.DataOutput-">write</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#aggregateUnaryOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.data.MatrixIndexes-boolean-">aggregateUnaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#chainMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MapMultChain.ChainType-int-">chainMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickGetValue-int-int-">quickGetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#write-java.io.DataOutput-">write</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -668,15 +688,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="isCompressed--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isCompressed</h4>
-<pre>public abstract&nbsp;boolean&nbsp;isCompressed()</pre>
-</li>
-</ul>
 <a name="decompress--">
 <!--   -->
 </a>
@@ -914,7 +925,7 @@
 </dl>
 </li>
 </ul>
-<a name="slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
+<a name="slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -924,23 +935,23 @@
                          int&nbsp;ru,
                          int&nbsp;cl,
                          int&nbsp;cu,
+                         boolean&nbsp;deep,
                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">CacheBlock</a></code></span></div>
-<div class="block">Slice a sub block out of the current block and write into the given output block.
- This method returns the passed instance if not null.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">MatrixBlock</a></code></span></div>
+<div class="block">Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
+ Extracted submatrix is returned as "result". Note: This operation is now 0-based.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper</dd>
 <dd><code>cl</code> - column lower</dd>
 <dd><code>cu</code> - column upper</dd>
-<dd><code>ret</code> - cache block</dd>
+<dd><code>deep</code> - should perform deep copy</dd>
+<dd><code>ret</code> - output matrix block</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>sub-block of cache block</dd>
+<dd>matrix block output matrix block</dd>
 </dl>
 </li>
 </ul>
@@ -1513,7 +1524,7 @@
 <a name="seqOperationsInPlace-double-double-double-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>seqOperationsInPlace</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;seqOperationsInPlace(double&nbsp;from,
@@ -1525,6 +1536,71 @@
 </dl>
 </li>
 </ul>
+<a name="isShallowSerialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isShallowSerialize</h4>
+<pre>public&nbsp;boolean&nbsp;isShallowSerialize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">CacheBlock</a></code></span></div>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if shallow serialized</dd>
+</dl>
+</li>
+</ul>
+<a name="isShallowSerialize-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isShallowSerialize</h4>
+<pre>public&nbsp;boolean&nbsp;isShallowSerialize(boolean&nbsp;inclConvert)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">CacheBlock</a></code></span></div>
+<div class="block">Indicates if the cache block is subject to shallow serialized,
+ which is generally true if in-memory size and serialized size
+ are almost identical allowing to avoid unnecessary deep serialize.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
+ currently not amenable but can be brought into an amenable form
+ via <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--"><code>toShallowSerializeBlock</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if shallow serialized</dd>
+</dl>
+</li>
+</ul>
+<a name="toShallowSerializeBlock--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toShallowSerializeBlock</h4>
+<pre>public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">CacheBlock</a></code></span></div>
+<div class="block">Converts a cache block that is not shallow serializable into
+ a form that is shallow serializable. This methods has no affect
+ if the given cache block is not amenable.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html b/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
index 3b0c0f2..be46f39 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/BitmapEncoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
+var methods = {"i0":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -118,31 +118,6 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></span></code>
-<div class="block">Size of the blocks used in a blocked bitmap representation.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#MATERIALIZE_ZEROS">MATERIALIZE_ZEROS</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -173,38 +148,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
              <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
              <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmapFromSample</a></span>(int[]&nbsp;colIndices,
-                       <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                       int[]&nbsp;sampleIndexes,
-                       <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static char[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#genOffsetBitmap-int:A-int-">genOffsetBitmap</a></span>(int[]&nbsp;offsets,
-               int&nbsp;len)</code>
-<div class="block">Encodes the bitmap in blocks of offsets.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static char[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#genRLEBitmap-int:A-int-">genRLEBitmap</a></span>(int[]&nbsp;offsets,
-            int&nbsp;len)</code>
-<div class="block">Encodes the bitmap as a series of run lengths and offsets.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#getAlignedBlocksize-int-">getAlignedBlocksize</a></span>(int&nbsp;blklen)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -221,37 +171,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="BITMAP_BLOCK_SZ">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BITMAP_BLOCK_SZ</h4>
-<pre>public static final&nbsp;int BITMAP_BLOCK_SZ</pre>
-<div class="block">Size of the blocks used in a blocked bitmap representation.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.compress.BitmapEncoder.BITMAP_BLOCK_SZ">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="MATERIALIZE_ZEROS">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MATERIALIZE_ZEROS</h4>
-<pre>public static&nbsp;boolean MATERIALIZE_ZEROS</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -275,24 +194,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getAlignedBlocksize-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getAlignedBlocksize</h4>
-<pre>public static&nbsp;int&nbsp;getAlignedBlocksize(int&nbsp;blklen)</pre>
-</li>
-</ul>
 <a name="extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>extractBitmap</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
-                                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                                               <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;extractBitmap(int[]&nbsp;colIndices,
+                                    <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+                                    <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -304,55 +214,6 @@
 </dl>
 </li>
 </ul>
-<a name="extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>extractBitmapFromSample</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;extractBitmapFromSample(int[]&nbsp;colIndices,
-                                                         <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                                                         int[]&nbsp;sampleIndexes,
-                                                         <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
-</li>
-</ul>
-<a name="genRLEBitmap-int:A-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>genRLEBitmap</h4>
-<pre>public static&nbsp;char[]&nbsp;genRLEBitmap(int[]&nbsp;offsets,
-                                  int&nbsp;len)</pre>
-<div class="block">Encodes the bitmap as a series of run lengths and offsets.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>offsets</code> - uncompressed offset list</dd>
-<dd><code>len</code> - logical length of the given offset list</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>compressed version of said bitmap</dd>
-</dl>
-</li>
-</ul>
-<a name="genOffsetBitmap-int:A-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>genOffsetBitmap</h4>
-<pre>public static&nbsp;char[]&nbsp;genOffsetBitmap(int[]&nbsp;offsets,
-                                     int&nbsp;len)</pre>
-<div class="block">Encodes the bitmap in blocks of offsets. Within each block, the bits are stored as absolute offsets from the
- start of the block.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>offsets</code> - uncompressed offset list</dd>
-<dd><code>len</code> - logical length of the given offset list</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>compressed version of said bitmap</dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
@@ -407,13 +268,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
index ae7fc9e..fcc50d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -193,18 +193,6 @@
 <div class="block">Constructor for building an empty Compressed Matrix block object.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-int-int-boolean-">CompressedMatrixBlock</a></span>(int&nbsp;rl,
-                     int&nbsp;cl,
-                     boolean&nbsp;sparse)</code>
-<div class="block">Main constructor for building a block from scratch.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">CompressedMatrixBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</td>
-</tr>
 </table>
 </li>
 </ul>
@@ -298,27 +286,23 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getColGroups--">getColGroups</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getCompressionStatistics--">getCompressionStatistics</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;double[]&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getDenseRowIterator-int-int-">getDenseRowIterator</a></span>(int&nbsp;rl,
                    int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">NOTE: The used estimates must be kept consistent with the respective write functions.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
            int&nbsp;ru,
            boolean&nbsp;inclZeros)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getIterator-int-int-int-int-boolean-">getIterator</a></span>(int&nbsp;rl,
            int&nbsp;ru,
@@ -326,83 +310,60 @@
            int&nbsp;cgu,
            boolean&nbsp;inclZeros)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getSparseRowIterator-int-int-">getSparseRowIterator</a></span>(int&nbsp;rl,
                     int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#hasUncompressedColGroup--">hasUncompressedColGroup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isCompressed--">isCompressed</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i21" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-</td>
-</tr>
-<tr id="i22" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-</td>
-</tr>
-<tr id="i23" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#isSingleUncompressedGroup--">isSingleUncompressedGroup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#quickGetValue-int-int-">quickGetValue</a></span>(int&nbsp;r,
              int&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
- efficient broadcast/rdd deserialization.</div>
+ efficient broadcast/rdd de-serialization.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#scalarOperations-org.apache.sysds.runtime.matrix.operators.ScalarOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">scalarOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
                 <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
-<div class="block">Converts a cache block that is not shallow serializable into
- a form that is shallow serializable.</div>
-</td>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype)</code>&nbsp;</td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
                                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;os)</code>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
@@ -415,14 +376,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateBinaryOperations-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">aggregateBinaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#aggregateTernaryOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator-boolean-">aggregateTernaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixValue-java.util.ArrayList-int-boolean-boolean-int-">append</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#binaryOperationsInPlace-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">binaryOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#cmOperations-org.apache.sysds.runtime.matrix.operators.CMOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">cmOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#covOperations-org.apache.sysds.runtime.matrix.operators.COVOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">covOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-double-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-double-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixIndexes-double-boolean-int-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-double-boolean-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.CTableMap-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#estimateOriginalSizeInMemory-int-int-double-">estimateOriginalSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#groupedAggOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-org.apache.sysds.runtime.matrix.operators.Operator-int-">groupedAggOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#incrementalAggregate-org.apache.sysds.runtime.matrix.operators.AggregateOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">incrementalAggregate</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isEmptyBlock-boolean-">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize--">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#permutationMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-int-">permutationMatrixMultOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#randOperationsInPlace-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-org.apache.commons.math3.random.Well1024a-long-int-">randOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#reorgOperations-org.apache.sysds.runtime.matrix.operators.ReorgOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-int-int-int-">reorgOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#replaceOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-double-">replaceOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#seqOperationsInPlace-double-double-double-">seqOperationsInPlace</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-java.util.ArrayList-org.apache.sysds.runtime.util.IndexRange-int-int-int-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#unaryOperations-org.apache.sysds.runtime.matrix.operators.UnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixValue-">unaryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#zeroOutOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.util.IndexRange-boolean-">zeroOutOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparsePermutationMatrix--">isUltraSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateAndResetSparseBlock-boolean-org.apache.sysds.runtime.data.SparseBlock.Type-">allocateAndResetSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlock--">allocateBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateBlockAsync--">allocateBlockAsync</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock--">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlock-boolean-">allocateDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe-int-int-">allocateDenseBlockUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock--">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#allocateSparseRowsBlock-boolean-">allocateSparseRowsBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#append-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">append</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRow-int-org.apache.sysds.runtime.data.SparseRow-boolean-">appendRow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendRowToSparse-org.apache.sysds.runtime.data.SparseBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">appendRowToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendToSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">appendToSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#appendValue-int-int-double-">appendValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNaN--">checkNaN</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkNonZeros--">checkNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows--">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#checkSparseRows-int-int-">checkSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#cleanupBlock-boolean-boolean-">cleanupBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compactEmptyBlock--">compactEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#compareTo-java.lang.Object-">compareTo</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#computeIQMCorrection-double-double-double-double-double-double-">computeIQMCorrection</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#containsValue-double-">containsValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copy-org.apache.sysds.runtime.matrix.data.MatrixValue-boolean-">copy</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#copyShallow-org.apache.sysds.runtime.matrix.data.MatrixBlock-">copyShallow</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#dropLastRowsOrColumns-org.apache.sysds.common.Types.CorrectionLocationType-">dropLastRowsOrColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeDenseInMemory-long-long-">estimateSizeDenseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory--">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeInMemory-long-long-double-">estimateSizeInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk--">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeOnDisk-long-long-long-">estimateSizeOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSizeSparseInMemory-long-long-double-org.apache.sysds.runtime.data.SparseBlock.Type-">estimateSizeSparseInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#estimateSparsityOnAggBinary-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator-">estimateSparsityOnAggBinary</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory--">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-org.apache.sysds.runtime.meta.DataCharacteristics-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatInMemory-long-long-long-">evalSparseFormatInMemory</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk--">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#evalSparseFormatOnDisk-long-long-long-">evalSparseFormatOnDisk</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity--">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#examSparsity-boolean-">examSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#extractTriangular-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">extractTriangular</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDataCharacteristics--">getDataCharacteristics</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlock--">getDenseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getDenseBlockValues--">getDenseBlockValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getExactSerializedSize--">getExactSerializedSize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getInMemorySize--">getInMemorySize</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getLength--">getLength</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNonZeros--">getNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getNumRows--">getNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlock--">getSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator--">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparseBlockIterator-int-int-">getSparseBlockIterator</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getSparsity--">getSparsity</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValue-int-int-">getValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#getValueDenseUnsafe-int-int-">getValueDenseUnsafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#init-double:A-int-int-">init</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#interQuartileMean--">interQuartileMean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isAllocated--">isAllocated</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmpty--">isEmpty</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isEmptyBlock--">isEmptyBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isInSparseFormat--">isInSparseFormat</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isVector--">isVector</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#max--">max</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#mean--">mean</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#median--">median</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#merge-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-boolean-">merge</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#min--">min</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#minNonZero--">minNonZero</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#naryOperations-org.apache.sysds.runtime.matrix.operators.Operator-org.apache.sysds.runtime.matrix.data.MatrixBlock:A-org.apache.sysds.runtime.instructions.cp.ScalarObject:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-">naryOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValue-double-boolean-">pickValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#pickValues-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixValue-">pickValues</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#prod--">prod</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#quickSetValue-int-int-double-">quickSetValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-int-int-double-double-double-java.lang.String-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#randOperations-org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator-long-int-">randOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros--">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#recomputeNonZeros-int-int-int-int-">recomputeNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset--">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-boolean-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-double-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#reset-int-int-long-">reset</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sampleOperations-long-int-boolean-long-">sampleOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#seqOperations-double-double-double-">seqOperations</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNonZeros-long-">setNonZeros</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumColumns-int-">setNumColumns</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setNumRows-int-">setNumRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setSparseBlock-org.apache.sysds.runtime.data.SparseBlock-">setSparseBlock</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#setValue-int-int-double-">setValue</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-org.apache.sysds.runtime.util.IndexRange-org.apache.sysds.runtime.matrix.data.MatrixBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows--">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sortSparseRows-int-int-">sortSparseRows</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sparseToDense--">sparseToDense</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sum--">sum</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumSq--">sumSq</a>, <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#sumWeightForQuantile--">sumWeightForQuantile</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -448,44 +409,13 @@
 <a name="CompressedMatrixBlock--">
 <!--   -->
 </a>
-<ul class="blockList">
-<li class="blockList">
-<h4>CompressedMatrixBlock</h4>
-<pre>public&nbsp;CompressedMatrixBlock()</pre>
-<div class="block">Constructor for building an empty Compressed Matrix block object.</div>
-</li>
-</ul>
-<a name="CompressedMatrixBlock-int-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>CompressedMatrixBlock</h4>
-<pre>public&nbsp;CompressedMatrixBlock(int&nbsp;rl,
-                             int&nbsp;cl,
-                             boolean&nbsp;sparse)</pre>
-<div class="block">Main constructor for building a block from scratch.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rl</code> - number of rows in the block</dd>
-<dd><code>cl</code> - number of columns</dd>
-<dd><code>sparse</code> - true if the UNCOMPRESSED representation of the block should be sparse</dd>
-</dl>
-</li>
-</ul>
-<a name="CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompressedMatrixBlock</h4>
-<pre>public&nbsp;CompressedMatrixBlock(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block. Does
- <b>not</b> compress the block. Only creates a shallow copy, and only does deep copy on compression.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>that</code> - matrix block</dd>
-</dl>
+<pre>public&nbsp;CompressedMatrixBlock()</pre>
+<div class="block">Constructor for building an empty Compressed Matrix block object.
+ 
+ OBS! Only to be used for serialization.</div>
 </li>
 </ul>
 </li>
@@ -496,28 +426,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getCompressionStatistics--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCompressionStatistics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&nbsp;getCompressionStatistics()</pre>
-</li>
-</ul>
-<a name="isCompressed--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isCompressed</h4>
-<pre>public&nbsp;boolean&nbsp;isCompressed()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#isCompressed--">isCompressed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">AbstractCompressedMatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="isSingleUncompressedGroup--">
 <!--   -->
 </a>
@@ -631,71 +539,6 @@
 </dl>
 </li>
 </ul>
-<a name="isShallowSerialize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isShallowSerialize</h4>
-<pre>public&nbsp;boolean&nbsp;isShallowSerialize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">CacheBlock</a></code></span></div>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if shallow serialized</dd>
-</dl>
-</li>
-</ul>
-<a name="isShallowSerialize-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isShallowSerialize</h4>
-<pre>public&nbsp;boolean&nbsp;isShallowSerialize(boolean&nbsp;inclConvert)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">CacheBlock</a></code></span></div>
-<div class="block">Indicates if the cache block is subject to shallow serialized,
- which is generally true if in-memory size and serialized size
- are almost identical allowing to avoid unnecessary deep serialize.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
- currently not amenable but can be brought into an amenable form
- via <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--"><code>toShallowSerializeBlock</code></a>.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if shallow serialized</dd>
-</dl>
-</li>
-</ul>
-<a name="toShallowSerializeBlock--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>toShallowSerializeBlock</h4>
-<pre>public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">CacheBlock</a></code></span></div>
-<div class="block">Converts a cache block that is not shallow serializable into
- a form that is shallow serializable. This methods has no affect
- if the given cache block is not amenable.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="readFields-java.io.DataInput-">
 <!--   -->
 </a>
@@ -741,7 +584,7 @@
 <pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
- efficient broadcast/rdd deserialization.</div>
+ efficient broadcast/rdd de-serialization.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
@@ -972,12 +815,25 @@
 <a name="hasUncompressedColGroup--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>hasUncompressedColGroup</h4>
 <pre>public&nbsp;boolean&nbsp;hasUncompressedColGroup()</pre>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
index dd21778..7b01f76 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html
@@ -148,21 +148,21 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k,
         <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
@@ -214,7 +214,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>compress</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</pre>
+<pre>public static&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</pre>
 </li>
 </ul>
 <a name="compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
@@ -223,8 +223,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>compress</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-                                   <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</pre>
+<pre>public static&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+                                                                                              <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</pre>
 </li>
 </ul>
 <a name="compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
@@ -233,8 +233,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>compress</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-                                   int&nbsp;k)</pre>
+<pre>public static&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+                                                                                              int&nbsp;k)</pre>
 </li>
 </ul>
 <a name="compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">
@@ -243,9 +243,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compress</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-                                   int&nbsp;k,
-                                   <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
+<pre>public static&nbsp;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;&nbsp;compress(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+                                                                                              int&nbsp;k,
+                                                                                              <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
 <div class="block">The main method for compressing the input matrix.
  
  SAMPLE-BASED DECISIONS: Decisions such as testing if a column is amenable to bitmap compression or evaluating
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
index b54c9fe..be4986d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettings.html
@@ -111,8 +111,8 @@
 <br>
 <pre>public class <span class="typeNameLabel">CompressionSettings</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.
- See CompressionSettingsBuilder for default non static parameters.</div>
+<div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework. See
+ CompressionSettingsBuilder for default non static parameters.</div>
 </li>
 </ul>
 </div>
@@ -133,31 +133,79 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#allowSharedDDCDictionary">allowSharedDDCDictionary</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#allowSharedDictionary">allowSharedDictionary</a></span></code>
+<div class="block">Share DDC Dictionaries between ColGroups.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#BITMAP_BLOCK_SZ">BITMAP_BLOCK_SZ</a></span></code>
+<div class="block">Size of the blocks used in a blocked bitmap representation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#columnPartitioner">columnPartitioner</a></span></code>
+<div class="block">The selected method for column partitioning used in CoCoding compressed columns</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#investigateEstimate">investigateEstimate</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#investigateEstimate">investigateEstimate</a></span></code>
+<div class="block">Boolean specifying if the compression strategy should be investigated and monitored.</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#samplingRatio">samplingRatio</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#lossy">lossy</a></span></code>
+<div class="block">True if lossy compression is enabled</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#seed">seed</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#maxStaticColGroupCoCode">maxStaticColGroupCoCode</a></span></code>
+<div class="block">The maximum number of columns CoCoded if the Static CoCoding strategy is selected</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#SORT_VALUES_BY_LENGTH">SORT_VALUES_BY_LENGTH</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#samplingRatio">samplingRatio</a></span></code>
+<div class="block">The sampling ratio used when choosing ColGroups.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#seed">seed</a></span></code>
+<div class="block">If the seed is -1 then the system used system millisecond time and class hash for seeding.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#skipList">skipList</a></span></code>
+<div class="block">Boolean specifying if the OLE and RLE should construct skip to enable skipping large amounts of rows.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#sortValuesByLength">sortValuesByLength</a></span></code>
+<div class="block">Sorting of values by physical length helps by 10-20%, especially for serial, while slight performance decrease
+ for parallel incl multi-threaded, hence not applied for distributed operations (also because compression time +
+ garbage collection increases)</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#transposeInput">transposeInput</a></span></code>
+<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
+ for iteration in columns.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>
+<div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
+ Default is to always allow for Uncompromisable ColGroup.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -200,19 +248,32 @@
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="SORT_VALUES_BY_LENGTH">
+<a name="BITMAP_BLOCK_SZ">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>SORT_VALUES_BY_LENGTH</h4>
-<pre>public static final&nbsp;boolean SORT_VALUES_BY_LENGTH</pre>
+<h4>BITMAP_BLOCK_SZ</h4>
+<pre>public static final&nbsp;int BITMAP_BLOCK_SZ</pre>
+<div class="block">Size of the blocks used in a blocked bitmap representation. Note it is one more than Character.MAX_VALUE.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.compress.CompressionSettings.SORT_VALUES_BY_LENGTH">Constant Field Values</a></dd>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.compress.CompressionSettings.BITMAP_BLOCK_SZ">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
+<a name="sortValuesByLength">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortValuesByLength</h4>
+<pre>public final&nbsp;boolean sortValuesByLength</pre>
+<div class="block">Sorting of values by physical length helps by 10-20%, especially for serial, while slight performance decrease
+ for parallel incl multi-threaded, hence not applied for distributed operations (also because compression time +
+ garbage collection increases)</div>
+</li>
+</ul>
 <a name="samplingRatio">
 <!--   -->
 </a>
@@ -220,15 +281,18 @@
 <li class="blockList">
 <h4>samplingRatio</h4>
 <pre>public final&nbsp;double samplingRatio</pre>
+<div class="block">The sampling ratio used when choosing ColGroups. Note that, default behavior is to use exact estimator if the
+ number of elements is below 1000.</div>
 </li>
 </ul>
-<a name="allowSharedDDCDictionary">
+<a name="allowSharedDictionary">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>allowSharedDDCDictionary</h4>
-<pre>public final&nbsp;boolean allowSharedDDCDictionary</pre>
+<h4>allowSharedDictionary</h4>
+<pre>public final&nbsp;boolean allowSharedDictionary</pre>
+<div class="block">Share DDC Dictionaries between ColGroups.</div>
 </li>
 </ul>
 <a name="transposeInput">
@@ -238,6 +302,19 @@
 <li class="blockList">
 <h4>transposeInput</h4>
 <pre>public final&nbsp;boolean transposeInput</pre>
+<div class="block">Transpose input matrix, to optimize performance, this reallocate the matrix to a more cache conscious allocation
+ for iteration in columns.</div>
+</li>
+</ul>
+<a name="skipList">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>skipList</h4>
+<pre>public final&nbsp;boolean skipList</pre>
+<div class="block">Boolean specifying if the OLE and RLE should construct skip to enable skipping large amounts of rows.
+ (Optimization)</div>
 </li>
 </ul>
 <a name="seed">
@@ -247,6 +324,7 @@
 <li class="blockList">
 <h4>seed</h4>
 <pre>public final&nbsp;int seed</pre>
+<div class="block">If the seed is -1 then the system used system millisecond time and class hash for seeding.</div>
 </li>
 </ul>
 <a name="investigateEstimate">
@@ -256,6 +334,37 @@
 <li class="blockList">
 <h4>investigateEstimate</h4>
 <pre>public final&nbsp;boolean investigateEstimate</pre>
+<div class="block">Boolean specifying if the compression strategy should be investigated and monitored.</div>
+</li>
+</ul>
+<a name="lossy">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lossy</h4>
+<pre>public final&nbsp;boolean lossy</pre>
+<div class="block">True if lossy compression is enabled</div>
+</li>
+</ul>
+<a name="columnPartitioner">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>columnPartitioner</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a> columnPartitioner</pre>
+<div class="block">The selected method for column partitioning used in CoCoding compressed columns</div>
+</li>
+</ul>
+<a name="maxStaticColGroupCoCode">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxStaticColGroupCoCode</h4>
+<pre>public final&nbsp;int maxStaticColGroupCoCode</pre>
+<div class="block">The maximum number of columns CoCoded if the Static CoCoding strategy is selected</div>
 </li>
 </ul>
 <a name="validCompressions">
@@ -264,7 +373,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>validCompressions</h4>
-<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt; validCompressions</pre>
+<pre>public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt; validCompressions</pre>
+<div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
+ Default is to always allow for Uncompromisable ColGroup.</div>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
index 383b7e2..b4b7d14 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -111,8 +111,7 @@
 <br>
 <pre>public class <span class="typeNameLabel">CompressionSettingsBuilder</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Builder pattern for Compression Settings.
- See CompressionSettings for details on values.</div>
+<div class="block">Builder pattern for Compression Settings. See CompressionSettings for details on values.</div>
 </li>
 </ul>
 </div>
@@ -150,35 +149,93 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#clearValidCompression--">clearValidCompression</a></span>()</code>
+<div class="block">Clear all the compression types allowed in the compression.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDDCDictionary-boolean-">setAllowSharedDDCDictionary</a></span>(boolean&nbsp;allowSharedDDCDictionary)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>
+<div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setInvestigateEstimate-boolean-">setInvestigateEstimate</a></span>(boolean&nbsp;investigateEstimate)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create</a></span>()</code>
+<div class="block">Create the CompressionSettings object to use in the compression.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSamplingRatio-double-">setSamplingRatio</a></span>(double&nbsp;samplingRatio)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDictionary-boolean-">setAllowSharedDictionary</a></span>(boolean&nbsp;allowSharedDictionary)</code>
+<div class="block">Allow the Dictionaries to be shared between different column groups.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSeed-int-">setSeed</a></span>(int&nbsp;seed)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setColumnPartitioner-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">setColumnPartitioner</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;columnPartitioner)</code>
+<div class="block">Set the type of CoCoding Partitioner type to use for combining columns together.</div>
+</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setInvestigateEstimate-boolean-">setInvestigateEstimate</a></span>(boolean&nbsp;investigateEstimate)</code>
+<div class="block">Set if the compression should be investigated while compressing.</div>
+</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.List-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setLossy-boolean-">setLossy</a></span>(boolean&nbsp;lossy)</code>
+<div class="block">Set the Compression to use Lossy compression.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setmaxStaticColGroupCoCode-int-">setmaxStaticColGroupCoCode</a></span>(int&nbsp;maxStaticColGroupCoCode)</code>
+<div class="block">Set the maximum number of columns to CoCode together in the static CoCoding strategy.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSamplingRatio-double-">setSamplingRatio</a></span>(double&nbsp;samplingRatio)</code>
+<div class="block">Set the sampling ratio in percent to sample the input matrix.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSeed-int-">setSeed</a></span>(int&nbsp;seed)</code>
+<div class="block">Set the seed for the compression operation.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSkipList-boolean-">setSkipList</a></span>(boolean&nbsp;skipList)</code>
+<div class="block">Specify if the Offset list encoding should utilize skip lists.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSortValuesByLength-boolean-">setSortValuesByLength</a></span>(boolean&nbsp;sortValuesByLength)</code>
+<div class="block">Set the sortValuesByLength flag.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>
+<div class="block">Specify if the input matrix should be transposed before compression.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<div class="block">Set the valid compression strategies used for the compression.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -226,6 +283,29 @@
 <li class="blockList">
 <h4>copySettings</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;copySettings(<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</pre>
+<div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>that</code> - The other CompressionSettingsBuilder to copy settings from.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The modified CompressionSettings in the same object.</dd>
+</dl>
+</li>
+</ul>
+<a name="setLossy-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLossy</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setLossy(boolean&nbsp;lossy)</pre>
+<div class="block">Set the Compression to use Lossy compression.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lossy</code> - A boolean specifying if the compression should be lossy</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
 <a name="setSamplingRatio-double-">
@@ -235,15 +315,46 @@
 <li class="blockList">
 <h4>setSamplingRatio</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setSamplingRatio(double&nbsp;samplingRatio)</pre>
+<div class="block">Set the sampling ratio in percent to sample the input matrix. Input value should be in range 0.0 - 1.0</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>samplingRatio</code> - The ratio to sample from the input</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
-<a name="setAllowSharedDDCDictionary-boolean-">
+<a name="setSortValuesByLength-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAllowSharedDDCDictionary</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setAllowSharedDDCDictionary(boolean&nbsp;allowSharedDDCDictionary)</pre>
+<h4>setSortValuesByLength</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setSortValuesByLength(boolean&nbsp;sortValuesByLength)</pre>
+<div class="block">Set the sortValuesByLength flag. This sorts the dictionaries containing the data based on their occurences in the
+ ColGroup. Improving cache efficiency especially for diverse column groups.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sortValuesByLength</code> - A boolean specifying if the values should be sorted</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="setAllowSharedDictionary-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAllowSharedDictionary</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setAllowSharedDictionary(boolean&nbsp;allowSharedDictionary)</pre>
+<div class="block">Allow the Dictionaries to be shared between different column groups.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>allowSharedDictionary</code> - A boolean specifying if the dictionary can be shared between column groups.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
 <a name="setTransposeInput-boolean-">
@@ -253,6 +364,31 @@
 <li class="blockList">
 <h4>setTransposeInput</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setTransposeInput(boolean&nbsp;transposeInput)</pre>
+<div class="block">Specify if the input matrix should be transposed before compression. This improves cache efficiency while
+ compression the input matrix</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>transposeInput</code> - boolean specifying if the input should be transposed before compression</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="setSkipList-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSkipList</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setSkipList(boolean&nbsp;skipList)</pre>
+<div class="block">Specify if the Offset list encoding should utilize skip lists. This increase size of compression but improves
+ performance in Offset encodings. OLE and RLE.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>skipList</code> - a boolean specifying if the skiplist function is enabled</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
 <a name="setSeed-int-">
@@ -262,6 +398,13 @@
 <li class="blockList">
 <h4>setSeed</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setSeed(int&nbsp;seed)</pre>
+<div class="block">Set the seed for the compression operation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>seed</code> - The seed used in sampling the matrix and general operations in the compression.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
 <a name="setInvestigateEstimate-boolean-">
@@ -271,15 +414,93 @@
 <li class="blockList">
 <h4>setInvestigateEstimate</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setInvestigateEstimate(boolean&nbsp;investigateEstimate)</pre>
+<div class="block">Set if the compression should be investigated while compressing.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>investigateEstimate</code> - A boolean specifying it the input should be estimated.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
-<a name="setValidCompressions-java.util.List-">
+<a name="setValidCompressions-java.util.EnumSet-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setValidCompressions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setValidCompressions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setValidCompressions(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</pre>
+<div class="block">Set the valid compression strategies used for the compression.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>validCompressions</code> - An EnumSet of CompressionTypes to use in the compression</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addValidCompression</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;addValidCompression(<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</pre>
+<div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cp</code> - The compression type to add to the valid ones.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="clearValidCompression--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clearValidCompression</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;clearValidCompression()</pre>
+<div class="block">Clear all the compression types allowed in the compression. This will only allow the Uncompressed ColGroup type.
+ Since this is required for operation of the compression</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="setColumnPartitioner-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setColumnPartitioner</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setColumnPartitioner(<a href="../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;columnPartitioner)</pre>
+<div class="block">Set the type of CoCoding Partitioner type to use for combining columns together.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>columnPartitioner</code> - The Strategy to select from PartitionerType</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
+</li>
+</ul>
+<a name="setmaxStaticColGroupCoCode-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setmaxStaticColGroupCoCode</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a>&nbsp;setmaxStaticColGroupCoCode(int&nbsp;maxStaticColGroupCoCode)</pre>
+<div class="block">Set the maximum number of columns to CoCode together in the static CoCoding strategy. Compression time increase
+ with higher numbers.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxStaticColGroupCoCode</code> - The max selected.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettingsBuilder</dd>
+</dl>
 </li>
 </ul>
 <a name="create--">
@@ -289,6 +510,11 @@
 <li class="blockList">
 <h4>create</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;create()</pre>
+<div class="block">Create the CompressionSettings object to use in the compression.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The CompressionSettings</dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html b/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
index a66c989..6dc514a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/CompressionStatistics.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -176,7 +176,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -198,24 +198,20 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getLastTimePhase--">getLastTimePhase</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getSizeInMemory--">getSizeInMemory</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#getTimeArrayList--">getTimeArrayList</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setColGroupsCounts-java.util.List-">setColGroupsCounts</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
 <div class="block">Set array of counts regarding col group types.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#setNextTimePhase-double-">setNextTimePhase</a></span>(double&nbsp;time)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -384,7 +380,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -394,15 +390,6 @@
 </dl>
 </li>
 </ul>
-<a name="getSizeInMemory--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getSizeInMemory</h4>
-<pre>public static&nbsp;long&nbsp;getSizeInMemory()</pre>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html
index 6135fba..9b1526a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelection.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -129,7 +129,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -139,7 +139,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
 <div class="block">Gets the next row, null when no more rows.</div>
 </td>
@@ -178,7 +178,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRow</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
 <div class="block">Gets the next row, null when no more rows.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html
index 5862643..66cf983 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html
@@ -18,12 +18,6 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
 </script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -77,13 +71,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
+<li>Method</li>
 </ul>
 </div>
 <a name="skip.navbar.top">
@@ -134,9 +128,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                           int[]&nbsp;colIndices,
-                          boolean&nbsp;skipZeros,
                           <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 </table>
@@ -148,25 +141,12 @@
 <!--   -->
 </a>
 <h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#nextRow--">nextRow</a></span>()</code>
-<div class="block">Gets the next row, null when no more rows.</div>
-</td>
-</tr>
-</table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -189,7 +169,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -197,37 +177,11 @@
 <h4>ReaderColumnSelectionDense</h4>
 <pre>public&nbsp;ReaderColumnSelectionDense(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                   int[]&nbsp;colIndices,
-                                  boolean&nbsp;skipZeros,
                                   <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
 </li>
 </ul>
 </li>
 </ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="nextRow--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nextRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">ReaderColumnSelection</a></code></span></div>
-<div class="block">Gets the next row, null when no more rows.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>next row</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 </ul>
 </div>
@@ -282,13 +236,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
+<li>Method</li>
 </ul>
 </div>
 <a name="skip.navbar.bottom">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html
index 3a99be0..8486323 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -135,10 +135,9 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                 int[]&nbsp;colIndexes,
                                 int[]&nbsp;sampleIndexes,
-                                boolean&nbsp;skipZeros,
                                 <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 </table>
@@ -160,20 +159,15 @@
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#getCurrentRowIndex--">getCurrentRowIndex</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#nextRow--">nextRow</a></span>()</code>
-<div class="block">Gets the next row, null when no more rows.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#reset--">reset</a></span>()</code>
-<div class="block">Resets the reader to the first row.</div>
-</td>
-</tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
+<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -194,7 +188,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -203,7 +197,6 @@
 <pre>public&nbsp;ReaderColumnSelectionDenseSample(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                         int[]&nbsp;colIndexes,
                                         int[]&nbsp;sampleIndexes,
-                                        boolean&nbsp;skipZeros,
                                         <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
 </li>
 </ul>
@@ -215,27 +208,10 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="nextRow--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nextRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">ReaderColumnSelection</a></code></span></div>
-<div class="block">Gets the next row, null when no more rows.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>next row</dd>
-</dl>
-</li>
-</ul>
 <a name="getCurrentRowIndex--">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>getCurrentRowIndex</h4>
 <pre>public&nbsp;int&nbsp;getCurrentRowIndex()</pre>
@@ -245,21 +221,6 @@
 </dl>
 </li>
 </ul>
-<a name="reset--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>reset</h4>
-<pre>public&nbsp;void&nbsp;reset()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">ReaderColumnSelection</a></code></span></div>
-<div class="block">Resets the reader to the first row.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></code></dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html
index 4b35c2a..4fcc453 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html
@@ -18,12 +18,6 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
 </script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -50,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
@@ -77,13 +71,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
+<li>Method</li>
 </ul>
 </div>
 <a name="skip.navbar.top">
@@ -138,9 +132,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                            int[]&nbsp;colIndexes,
-                           boolean&nbsp;skipZeros,
                            <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 </table>
@@ -152,25 +145,12 @@
 <!--   -->
 </a>
 <h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#nextRow--">nextRow</a></span>()</code>
-<div class="block">Gets the next row, null when no more rows.</div>
-</td>
-</tr>
-</table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></h3>
-<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
+<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#getCurrentRowIndex--">getCurrentRowIndex</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a>, <a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#reset--">reset</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -193,7 +173,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">
+<a name="ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -201,37 +181,11 @@
 <h4>ReaderColumnSelectionSparse</h4>
 <pre>public&nbsp;ReaderColumnSelectionSparse(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                    int[]&nbsp;colIndexes,
-                                   boolean&nbsp;skipZeros,
                                    <a href="../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
 </li>
 </ul>
 </li>
 </ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="nextRow--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nextRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;nextRow()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">ReaderColumnSelection</a></code></span></div>
-<div class="block">Gets the next row, null when no more rows.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress">ReaderColumnSelection</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>next row</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 </li>
 </ul>
 </div>
@@ -259,7 +213,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" target="_top">Frames</a></li>
@@ -286,13 +240,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
+<li><a href="#methods.inherited.from.class.org.apache.sysds.runtime.compress.ReaderColumnSelection">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
+<li>Method</li>
 </ul>
 </div>
 <a name="skip.navbar.bottom">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/UncompressedBitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/UncompressedBitmap.html
deleted file mode 100644
index d826dca..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/UncompressedBitmap.html
+++ /dev/null
@@ -1,402 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>UncompressedBitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UncompressedBitmap (SystemDS 2.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/UncompressedBitmap.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/UncompressedBitmap.html" target="_top">Frames</a></li>
-<li><a href="UncompressedBitmap.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress</div>
-<h2 title="Class UncompressedBitmap" class="title">Class UncompressedBitmap</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.UncompressedBitmap</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public final class <span class="typeNameLabel">UncompressedBitmap</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap-int-">UncompressedBitmap</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a>&nbsp;distinctVals,
-                  int&nbsp;numColumns)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap-">UncompressedBitmap</a></span>(<a href="../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a>&nbsp;distinctVals)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumOffsets--">getNumOffsets</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumOffsets-int-">getNumOffsets</a></span>(int&nbsp;ix)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getNumValues--">getNumValues</a></span>()</code>
-<div class="block">Obtain number of distinct values in the column.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;ix)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getValues--">getValues</a></span>()</code>
-<div class="block">Get all values without unnecessary allocations and copies.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getValues-int-">getValues</a></span>(int&nbsp;ix)</code>
-<div class="block">Obtain tuple of column values associated with index.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#sortValuesByFrequency--">sortValuesByFrequency</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>UncompressedBitmap</h4>
-<pre>public&nbsp;UncompressedBitmap(<a href="../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a>&nbsp;distinctVals,
-                          int&nbsp;numColumns)</pre>
-</li>
-</ul>
-<a name="UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>UncompressedBitmap</h4>
-<pre>public&nbsp;UncompressedBitmap(<a href="../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a>&nbsp;distinctVals)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getNumColumns--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumColumns</h4>
-<pre>public&nbsp;int&nbsp;getNumColumns()</pre>
-</li>
-</ul>
-<a name="getValues--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValues</h4>
-<pre>public&nbsp;double[]&nbsp;getValues()</pre>
-<div class="block">Get all values without unnecessary allocations and copies.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>dictionary of value tuples</dd>
-</dl>
-</li>
-</ul>
-<a name="getValues-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValues</h4>
-<pre>public&nbsp;double[]&nbsp;getValues(int&nbsp;ix)</pre>
-<div class="block">Obtain tuple of column values associated with index.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ix</code> - index of a particular distinct value</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the tuple of column values associated with the specified index</dd>
-</dl>
-</li>
-</ul>
-<a name="getNumValues--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumValues</h4>
-<pre>public&nbsp;int&nbsp;getNumValues()</pre>
-<div class="block">Obtain number of distinct values in the column.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>number of distinct values in the column; this number is also the number of bitmaps, since there is one
-         bitmap per value</dd>
-</dl>
-</li>
-</ul>
-<a name="getOffsetsList-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOffsetsList</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;getOffsetsList(int&nbsp;ix)</pre>
-</li>
-</ul>
-<a name="getNumOffsets--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumOffsets</h4>
-<pre>public&nbsp;long&nbsp;getNumOffsets()</pre>
-</li>
-</ul>
-<a name="getNumOffsets-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumOffsets</h4>
-<pre>public&nbsp;int&nbsp;getNumOffsets(int&nbsp;ix)</pre>
-</li>
-</ul>
-<a name="sortValuesByFrequency--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>sortValuesByFrequency</h4>
-<pre>public&nbsp;void&nbsp;sortValuesByFrequency()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/UncompressedBitmap.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/sysds/runtime/compress/UncompressedBitmap.html" target="_top">Frames</a></li>
-<li><a href="UncompressedBitmap.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
index d384b43..f398902 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettings.html
@@ -87,10 +87,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -112,7 +116,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create--">create</a></span>()</code>
+<div class="block">Create the CompressionSettings object to use in the compression.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -124,12 +130,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k,
         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
@@ -138,23 +144,18 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>
+<div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
              <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
 <div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmapFromSample</a></span>(int[]&nbsp;colIndices,
-                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                       int[]&nbsp;sampleIndexes,
-                       <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -164,27 +165,68 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                           int[]&nbsp;colIndices,
-                          boolean&nbsp;skipZeros,
                           <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                 int[]&nbsp;colIndexes,
                                 int[]&nbsp;sampleIndexes,
-                                boolean&nbsp;skipZeros,
                                 <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                            int[]&nbsp;colIndexes,
-                           boolean&nbsp;skipZeros,
                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+                         <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
+                         int&nbsp;numRows,
+                         int&nbsp;k,
+                         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
+<div class="block">Main entry point of CoCode.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
+<div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
 </a>
@@ -207,11 +249,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
         <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
@@ -228,21 +270,6 @@
 </tr>
 </tbody>
 </table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndicesList,
-                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Main constructor for Uncompressed ColGroup.</div>
-</td>
-</tr>
-</tbody>
-</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
index c54cc74..241d1e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionSettingsBuilder.html
@@ -104,31 +104,87 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDDCDictionary-boolean-">setAllowSharedDDCDictionary</a></span>(boolean&nbsp;allowSharedDDCDictionary)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#clearValidCompression--">clearValidCompression</a></span>()</code>
+<div class="block">Clear all the compression types allowed in the compression.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setInvestigateEstimate-boolean-">setInvestigateEstimate</a></span>(boolean&nbsp;investigateEstimate)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#copySettings-org.apache.sysds.runtime.compress.CompressionSettings-">copySettings</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;that)</code>
+<div class="block">Copy the settings from another CompressionSettings Builder, modifies this, not that.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSamplingRatio-double-">setSamplingRatio</a></span>(double&nbsp;samplingRatio)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setAllowSharedDictionary-boolean-">setAllowSharedDictionary</a></span>(boolean&nbsp;allowSharedDictionary)</code>
+<div class="block">Allow the Dictionaries to be shared between different column groups.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSeed-int-">setSeed</a></span>(int&nbsp;seed)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setColumnPartitioner-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">setColumnPartitioner</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;columnPartitioner)</code>
+<div class="block">Set the type of CoCoding Partitioner type to use for combining columns together.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setInvestigateEstimate-boolean-">setInvestigateEstimate</a></span>(boolean&nbsp;investigateEstimate)</code>
+<div class="block">Set if the compression should be investigated while compressing.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.List-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setLossy-boolean-">setLossy</a></span>(boolean&nbsp;lossy)</code>
+<div class="block">Set the Compression to use Lossy compression.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setmaxStaticColGroupCoCode-int-">setmaxStaticColGroupCoCode</a></span>(int&nbsp;maxStaticColGroupCoCode)</code>
+<div class="block">Set the maximum number of columns to CoCode together in the static CoCoding strategy.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSamplingRatio-double-">setSamplingRatio</a></span>(double&nbsp;samplingRatio)</code>
+<div class="block">Set the sampling ratio in percent to sample the input matrix.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSeed-int-">setSeed</a></span>(int&nbsp;seed)</code>
+<div class="block">Set the seed for the compression operation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSkipList-boolean-">setSkipList</a></span>(boolean&nbsp;skipList)</code>
+<div class="block">Specify if the Offset list encoding should utilize skip lists.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setSortValuesByLength-boolean-">setSortValuesByLength</a></span>(boolean&nbsp;sortValuesByLength)</code>
+<div class="block">Set the sortValuesByLength flag.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setTransposeInput-boolean-">setTransposeInput</a></span>(boolean&nbsp;transposeInput)</code>
+<div class="block">Specify if the input matrix should be transposed before compression.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<div class="block">Set the valid compression strategies used for the compression.</div>
+</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
index 5eb656a..a04ebe6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/class-use/CompressionStatistics.html
@@ -96,15 +96,33 @@
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#getCompressionStatistics--">getCompressionStatistics</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        int&nbsp;k,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
+<div class="block">The main method for compressing the input matrix.</div>
+</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html
deleted file mode 100644
index 9c511f6..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html
+++ /dev/null
@@ -1,294 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.UncompressedBitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.UncompressedBitmap (SystemDS 2.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html" target="_top">Frames</a></li>
-<li><a href="UncompressedBitmap.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.UncompressedBitmap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.UncompressedBitmap</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
-             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmapFromSample</a></span>(int[]&nbsp;colIndices,
-                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                       int[]&nbsp;sampleIndexes,
-                       <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
-        int&nbsp;rlen,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
-        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
-<div class="block">Method for compressing an ColGroup.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ColGroupOffset-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupOffset</a></span>(int[]&nbsp;colIndices,
-              int&nbsp;numRows,
-              <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Main constructor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#ColGroupValue-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupValue</a></span>(int[]&nbsp;colIndices,
-             int&nbsp;numRows,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Stores the headers for the individual bitmaps.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitMap.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim.sample">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><span class="typeNameLabel">ShlosserEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
-   int&nbsp;nRows,
-   int&nbsp;sampleSize)</code>
-<div class="block">Peter J.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><span class="typeNameLabel">SmoothedJackknifeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
-   int&nbsp;nRows,
-   int&nbsp;sampleSize)</code>
-<div class="block">Peter J.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><span class="typeNameLabel">HassAndStokes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-java.util.HashMap-">haasAndStokes</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
-             int&nbsp;nRows,
-             int&nbsp;sampleSize,
-             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;solveCache)</code>
-<div class="block">Haas, Peter J., and Lynne Stokes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html" target="_top">Frames</a></li>
-<li><a href="UncompressedBitmap.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html
index 31b255d..dfb690f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html
@@ -152,8 +152,9 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
 </td>
 </tr>
@@ -196,20 +197,22 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-">
+<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
 <pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</pre>
+                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                                             <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
  compute a complete and disjoint partitioning.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>groupCols</code> - list of columns</dd>
 <dd><code>groupColsInfo</code> - list of column infos</dd>
+<dd><code>cs</code> - The Compression settings used for the compression</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>list of partitions (where each partition is a list of columns)</dd>
 </dl>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
index 4c2d52d..229599d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html
@@ -173,8 +173,9 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
 </td>
 </tr>
@@ -234,23 +235,25 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-">
+<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">ColumnGroupPartitioner</a></code></span></div>
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">ColumnGroupPartitioner</a></code></span></div>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
  compute a complete and disjoint partitioning.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>groupCols</code> - list of columns</dd>
 <dd><code>groupColsInfo</code> - list of column infos</dd>
+<dd><code>cs</code> - The Compression settings used for the compression</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>list of partitions (where each partition is a list of columns)</dd>
 </dl>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
index ac9d172..714647a 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html
@@ -154,8 +154,9 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
 </td>
 </tr>
@@ -198,23 +199,25 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="partitionColumns-java.util.List-java.util.HashMap-">
+<a name="partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitionColumns</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;partitionColumns(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">ColumnGroupPartitioner</a></code></span></div>
+                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">ColumnGroupPartitioner</a></code></span></div>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns. Note that this call must
  compute a complete and disjoint partitioning.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html" title="class in org.apache.sysds.runtime.compress.cocode">ColumnGroupPartitioner</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>groupCols</code> - list of columns</dd>
 <dd><code>groupColsInfo</code> - list of column infos</dd>
+<dd><code>cs</code> - The Compression settings used for the compression</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>list of partitions (where each partition is a list of columns)</dd>
 </dl>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
index 811c46a..f1841e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html
@@ -171,10 +171,11 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCocodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-">findCocodesByPartitioning</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
-                         int&nbsp;k)</code>
+                         int&nbsp;k,
+                         <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
@@ -217,16 +218,17 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="findCocodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-">
+<a name="findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>findCocodesByPartitioning</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;findCocodesByPartitioning(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+<h4>findCoCodesByPartitioning</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;&nbsp;findCoCodesByPartitioning(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                                                     <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                                                     int&nbsp;numRows,
-                                                    int&nbsp;k)</pre>
+                                                    int&nbsp;k,
+                                                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</pre>
 <div class="block">Main entry point of CoCode.
  
  This package groups together ColGroups across columns, to improve compression further,</div>
@@ -236,6 +238,7 @@
 <dd><code>colInfos</code> - The information already gathered on the individual ColGroups of columns.</dd>
 <dd><code>numRows</code> - The number of rows in the input matrix.</dd>
 <dd><code>k</code> - The concurrency degree allowed for this operation.</dd>
+<dd><code>cs</code> - The Compression Settings used in the compression.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The Estimated (hopefully) best groups of ColGroups.</dd>
 </dl>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html
index ddcd6c3..2124cbd 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.GroupableColInfo.html
@@ -104,18 +104,21 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerStatic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerStatic.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitionerBinPacking.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo)</code>
+<td class="colLast"><span class="typeNameLabel">ColumnGroupPartitioner.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/ColumnGroupPartitioner.html#partitionColumns-java.util.List-java.util.HashMap-org.apache.sysds.runtime.compress.CompressionSettings-">partitionColumns</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;groupCols,
+                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.GroupableColInfo.html" title="class in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.GroupableColInfo</a>&gt;&nbsp;groupColsInfo,
+                <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Partitions a list of columns into a list of partitions that contains subsets of columns.</div>
 </td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
index 5e85aa7..775895ecb 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html
@@ -83,6 +83,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +95,41 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> declared as <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettings.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#columnPartitioner">columnPartitioner</a></span></code>
+<div class="block">The selected method for column partitioning used in CoCoding compressed columns</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setColumnPartitioner-org.apache.sysds.runtime.compress.cocode.PlanningCoCoder.PartitionerType-">setColumnPartitioner</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">PlanningCoCoder.PartitionerType</a>&nbsp;columnPartitioner)</code>
+<div class="block">Set the type of CoCoding Partitioner type to use for combining columns together.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
index d011645..ef9f411 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/cocode/package-use.html
@@ -83,12 +83,31 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/cocode/class-use/PlanningCoCoder.PartitionerType.html#org.apache.sysds.runtime.compress">PlanningCoCoder.PartitionerType</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html
new file mode 100644
index 0000000..a5726d3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ADictionary.html
@@ -0,0 +1,589 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ADictionary (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ADictionary (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":10,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":9,"i13":6};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ADictionary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ADictionary.html" target="_top">Frames</a></li>
+<li><a href="ADictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class ADictionary" class="title">Class ADictionary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.ADictionary</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ADictionary</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#ADictionary--">ADictionary</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
+         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;c,
+             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+             int[]&nbsp;colIndexes)</code>
+<div class="block">Aggregates the columns into the target double array provided.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></span>()</code>
+<div class="block">Returns a deep clone of the dictionary.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>abstract long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
+<div class="block">Returns the memory usage of the dictionary.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;ncol)</code>
+<div class="block">Get the number of values given that the column group has n columns</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<div class="block">Determines if the content has a zero tuple.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+    boolean&nbsp;lossy)</code>
+<div class="block">The read function to instantiate the dictionary.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Write the dictionary to a DataOutput.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ADictionary--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ADictionary</h4>
+<pre>public&nbsp;ADictionary()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public abstract&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>linearized double array</dd>
+</dl>
+</li>
+</ul>
+<a name="getValue-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public abstract&nbsp;double&nbsp;getValue(int&nbsp;i)</pre>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>i</code> - The index to extract the value from</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value contained at the index</dd>
+</dl>
+</li>
+</ul>
+<a name="hasZeroTuple-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasZeroTuple</h4>
+<pre>public abstract&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
+ information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The index at which the zero tuple is located.</dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public abstract&nbsp;long&nbsp;getInMemorySize()</pre>
+<div class="block">Returns the memory usage of the dictionary.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long value in number of bytes for the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public abstract&nbsp;double&nbsp;aggregate(double&nbsp;init,
+                                 <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</pre>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>init</code> - The initial Value, in cases such as Max value, this could be -infinity</dd>
+<dd><code>fn</code> - The Function to apply to values</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The aggregated value as a double.</dd>
+</dl>
+</li>
+</ul>
+<a name="getValuesLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesLength</h4>
+<pre>public abstract&nbsp;int&nbsp;getValuesLength()</pre>
+<div class="block">returns the count of values contained in the dictionary.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer of count of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block">Applies the scalar operation on the dictionary. Note that this operation modifies the underlying data, and
+ normally require a copy of the original Dictionary to preserve old objects.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this dictionary with modified values.</dd>
+</dl>
+</li>
+</ul>
+<a name="applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyScalarOp</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;applyScalarOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+                                          double&nbsp;newVal,
+                                          int&nbsp;numCols)</pre>
+<div class="block">Applies the scalar operation on the dictionary. The returned dictionary should contain a new instance of the
+ underlying data. Therefore it will not modify the previous object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dd><code>newVal</code> - The value to append to the dictionary.</dd>
+<dd><code>numCols</code> - The number of columns stored in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Another dictionary with modified values.</dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;clone()</pre>
+<div class="block">Returns a deep clone of the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateCols</h4>
+<pre>public&nbsp;void&nbsp;aggregateCols(double[]&nbsp;c,
+                          <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
+                          int[]&nbsp;colIndexes)</pre>
+<div class="block">Aggregates the columns into the target double array provided.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - The target double array, this contains the full number of columns, therefore the colIndexes for
+                   this specific dictionary is needed.</dd>
+<dd><code>fn</code> - The function to apply to individual columns</dd>
+<dd><code>colIndexes</code> - The mapping to the target columns from the individual columns</dd>
+</dl>
+</li>
+</ul>
+<a name="read-java.io.DataInput-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;read(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+                               boolean&nbsp;lossy)
+                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">The read function to instantiate the dictionary.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - The data input source to read the stored dictionary from</dd>
+<dd><code>lossy</code> - Boolean specifying if the dictionary stored was lossy.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The concrete dictionary.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the reading source throws it.</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public abstract&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Write the dictionary to a DataOutput.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - the output sink to write the dictionary to.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the sink fails.</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public abstract&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the long count of bytes to store the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberOfValues-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberOfValues</h4>
+<pre>public abstract&nbsp;int&nbsp;getNumberOfValues(int&nbsp;ncol)</pre>
+<div class="block">Get the number of values given that the column group has n columns</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ncol</code> - The number of Columns in the ColumnGroup.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of value tuples contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ADictionary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ADictionary.html" target="_top">Frames</a></li>
+<li><a href="ADictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
index eafde2c..a3bc0a3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html
@@ -126,7 +126,11 @@
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</pre>
 <div class="block">Public Group types supported
  
- Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
+ Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC. That
+ differentiation is hidden to a user.
+ 
+ Includes Uncompressed for sparse/dense representation RLE for Run length encoding OLE for Offset Length encoding
+ DDC for Dense dictionary encoding</div>
 </li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html
index 2294e25..8d68587 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroup.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":10,"i5":6,"i6":10,"i7":10,"i8":6,"i9":6,"i10":6,"i11":10,"i12":10,"i13":6,"i14":6,"i15":6,"i16":10,"i17":6,"i18":6,"i19":10,"i20":6,"i21":6,"i22":10};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":10,"i7":10,"i8":6,"i9":6,"i10":6,"i11":6,"i12":10,"i13":10,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":10,"i26":6,"i27":6,"i28":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -198,7 +198,7 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
+<td class="colFirst"><code>abstract long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
@@ -235,6 +235,13 @@
 </td>
 </tr>
 <tr id="i10" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></span>()</code>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
            int&nbsp;ru,
@@ -243,84 +250,135 @@
 <div class="block">Create a column group iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a></span>()</code>
 <div class="block">Obtain the number of columns in this column group.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a></span>()</code>
 <div class="block">Get number of rows contained in the ColGroup.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>abstract org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
 <div class="block">Create a dense row iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>abstract double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values in the colGroup.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></span>()</code>
+<div class="block">Is Lossy</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;matrix,
+                double[]&nbsp;result,
+                int&nbsp;numVals,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;vOff)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-          boolean&nbsp;skipDict)</code>
-<div class="block">Deserializes column group from data input.</div>
-</td>
-</tr>
-<tr id="i17" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;matrix,
+                 double[]&nbsp;result,
+                 int&nbsp;numVals,
+                 double[]&nbsp;values,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
+                 int&nbsp;ru,
+                 int&nbsp;vOff)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></span>(int&nbsp;offset)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c)</code>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
-<div class="block">Serializes column group to data output.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-     boolean&nbsp;skipDict)</code>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
 </td>
 </tr>
@@ -433,7 +491,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
+<pre>public abstract&nbsp;long&nbsp;estimateInMemorySize()</pre>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -509,25 +567,6 @@
 </dl>
 </li>
 </ul>
-<a name="write-java.io.DataOutput-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>write</h4>
-<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-                  boolean&nbsp;skipDict)
-           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Serializes column group to data output.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - data output</dd>
-<dd><code>skipDict</code> - skip shared dictionary</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
 <a name="readFields-java.io.DataInput-">
 <!--   -->
 </a>
@@ -536,7 +575,7 @@
 <h4>readFields</h4>
 <pre>public abstract&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
@@ -545,25 +584,6 @@
 </dl>
 </li>
 </ul>
-<a name="readFields-java.io.DataInput-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-                       boolean&nbsp;skipDict)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Deserializes column group from data input.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - data input</dd>
-<dd><code>skipDict</code> - skip shared dictionary</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
 <a name="getExactSizeOnDisk--">
 <!--   -->
 </a>
@@ -596,40 +616,156 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public abstract&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
+ the output a list of values used in that colGroup not the actual full column.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double list of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getValuesAsBlock--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesAsBlock</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
+<div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
+ connection to getIfCountsType to get if the values are repeated.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
+</dl>
+</li>
+</ul>
+<a name="getIfCountsType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIfCountsType</h4>
+<pre>public abstract&nbsp;boolean&nbsp;getIfCountsType()</pre>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>boolean</dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByVector</h4>
-<pre>public abstract&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<pre>public abstract&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
+                                       double[]&nbsp;c,
                                        int&nbsp;rl,
-                                       int&nbsp;ru)</pre>
+                                       int&nbsp;ru,
+                                       double[]&nbsp;dictVals)</pre>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public abstract&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;matrix,
+                                       double[]&nbsp;result,
+                                       int&nbsp;numVals,
+                                       double[]&nbsp;values,
+                                       int&nbsp;rl,
+                                       int&nbsp;ru,
+                                       int&nbsp;vOff)</pre>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result,
+                                         int&nbsp;numVals)</pre>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>vector</code> - row vector</dd>
 <dd><code>result</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                         double[]&nbsp;result,
+                                         int&nbsp;numVals,
+                                         double[]&nbsp;values)</pre>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - row vector</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public abstract&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;matrix,
+                                      double[]&nbsp;result,
+                                      int&nbsp;numVals,
+                                      double[]&nbsp;values,
+                                      int&nbsp;numRows,
+                                      int&nbsp;numCols,
+                                      int&nbsp;rl,
+                                      int&nbsp;ru,
+                                      int&nbsp;vOff)</pre>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>matrix</code> - matrix to left multiply</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
 </dl>
 </li>
 </ul>
@@ -650,20 +786,41 @@
 </dl>
 </li>
 </ul>
-<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>unaryAggregateOperations</h4>
 <pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
+                                              double[]&nbsp;c)</pre>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
-<dd><code>result</code> - the output matrix block.</dd>
+<dd><code>c</code> - Rhe output matrix block.</dd>
+</dl>
+</li>
+</ul>
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryAggregateOperations</h4>
+<pre>public abstract&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                              double[]&nbsp;c,
+                                              int&nbsp;rl,
+                                              int&nbsp;ru)</pre>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator used</dd>
+<dd><code>c</code> - The output matrix block.</dd>
+<dd><code>rl</code> - The Starting Row to do aggregation from</dd>
+<dd><code>ru</code> - The last Row to do aggregation to (not included)</dd>
 </dl>
 </li>
 </ul>
@@ -711,7 +868,7 @@
 <a name="countNonZerosPerRow-int:A-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>countNonZerosPerRow</h4>
 <pre>public abstract&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
@@ -726,6 +883,20 @@
 </dl>
 </li>
 </ul>
+<a name="isLossy--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isLossy</h4>
+<pre>public abstract&nbsp;boolean&nbsp;isLossy()</pre>
+<div class="block">Is Lossy</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>returns if the ColGroup is compressed in a lossy manner.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -754,7 +925,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
index b103b75..f13eacb 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -129,10 +129,7 @@
 <br>
 <pre>public abstract class <span class="typeNameLabel">ColGroupDDC</span>
 extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).
- 
- NOTE: zero values are included at position 0 in the value dictionary, which simplifies various operations such as
- counting the number of non-zeros.</div>
+<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupDDC">Serialized Form</a></dd>
@@ -158,23 +155,6 @@
 </ul>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#ColGroupDDC--">ColGroupDDC</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -218,25 +198,29 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a></span>(int&nbsp;r,
    int&nbsp;c)</code>
 <div class="block">Get the value at a global row/column position.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
 <tr id="i7" class="rowColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
+         int&nbsp;ru,
+         int[]&nbsp;counts)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
            int&nbsp;ru,
@@ -245,14 +229,87 @@
 <div class="block">Create a column group iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
 <div class="block">Create a dense row iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                int&nbsp;numVals,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;result,
+                   int&nbsp;numVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a></span>(double[]&nbsp;values,
+           double[]&nbsp;vals,
+           double[]&nbsp;c,
+           int&nbsp;numVals)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a></span>(double[]&nbsp;values,
+           double[]&nbsp;vals,
+           double[]&nbsp;c,
+           int&nbsp;numVals,
+           int&nbsp;i,
+           int&nbsp;totalCols)</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;numVals)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a></span>(double[]&nbsp;a,
+            int&nbsp;numVals,
+            int&nbsp;aRows)</code>
+<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;numVals,
+                 double[]&nbsp;values,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;vOff)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -262,14 +319,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -286,23 +343,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColGroupDDC--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColGroupDDC</h4>
-<pre>public&nbsp;ColGroupDDC()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -428,20 +468,186 @@
 </dl>
 </li>
 </ul>
-<a name="estimateInMemorySize--">
+<a name="postScaling-double:A-double:A-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>estimateInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
+<h4>postScaling</h4>
+<pre>public&nbsp;void&nbsp;postScaling(double[]&nbsp;values,
+                        double[]&nbsp;vals,
+                        double[]&nbsp;c,
+                        int&nbsp;numVals)</pre>
+</li>
+</ul>
+<a name="postScaling-double:A-double:A-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postScaling</h4>
+<pre>public&nbsp;void&nbsp;postScaling(double[]&nbsp;values,
+                        double[]&nbsp;vals,
+                        double[]&nbsp;c,
+                        int&nbsp;numVals,
+                        int&nbsp;i,
+                        int&nbsp;totalCols)</pre>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                       int&nbsp;ru,
+                       int[]&nbsp;counts)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;numVals,
+                              double[]&nbsp;values,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;vOff)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             int&nbsp;numVals,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;result,
+                                int&nbsp;numVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>result</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+</dl>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;numVals)</pre>
+</li>
+</ul>
+<a name="preAggregate-double:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preAggregate</h4>
+<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
+                             int&nbsp;numVals,
+                             int&nbsp;aRows)</pre>
+<div class="block">Pre aggregates a specific row from the input a which can be a row or a matrix.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - the input vector or matrix to multiply with</dd>
+<dd><code>numVals</code> - the number of values contained in the dictionary</dd>
+<dd><code>aRows</code> - the row index from a</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
+<dd>the pre-aggregated values.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByRowVector</h4>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
 </dl>
 </li>
 </ul>
@@ -560,13 +766,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html
index 883ee61..e35cb60 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -164,155 +164,80 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">computeRowSums</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-              int&nbsp;rl,
-              int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
-                   int&nbsp;rl,
-                   int&nbsp;ru)</code>
-<div class="block">Count the number of non-zeros per row</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
-         int&nbsp;ru,
-         int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getData--">getData</a></span>()</code>
 <div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
- column vector is assumed to be transposed already i.e.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#readFields-java.io.DataInput-boolean-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-          boolean&nbsp;skipDict)</code>
-<div class="block">Deserializes column group from data input.</div>
-</td>
-</tr>
-<tr id="i13" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#recodeData-java.util.HashMap-">recodeData</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;map)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#write-java.io.DataOutput-boolean-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-     boolean&nbsp;skipDict)</code>
-<div class="block">Serializes column group to data output.</div>
-</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupDDC">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
@@ -349,15 +274,38 @@
 <li class="blockList">
 <h4>getData</h4>
 <pre>public&nbsp;byte[]&nbsp;getData()</pre>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.
- 
- Not safe if modifications is made to the byte list.</div>
+<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The contained data</dd>
 </dl>
 </li>
 </ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>b</code> - vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
 <a name="recodeData-java.util.HashMap-">
 <!--   -->
 </a>
@@ -378,32 +326,10 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - data output</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="write-java.io.DataOutput-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>write</h4>
-<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-                  boolean&nbsp;skipDict)
-           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">ColGroup</a></code></span></div>
-<div class="block">Serializes column group to data output.</div>
-<dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - data output</dd>
-<dd><code>skipDict</code> - skip shared dictionary</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
 </dl>
@@ -418,34 +344,12 @@
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserializes column group from data input.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>in</code> - data input</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
-</dl>
-</li>
-</ul>
-<a name="readFields-java.io.DataInput-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-                       boolean&nbsp;skipDict)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">ColGroup</a></code></span></div>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
-<dd><code>skipDict</code> - skip shared dictionary</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
 </dl>
@@ -461,8 +365,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>exact serialized size for column group</dd>
 </dl>
@@ -478,185 +382,13 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress to block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - dense output vector</dd>
-<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
-</dl>
-</li>
-</ul>
-<a name="getCounts-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getCounts-int-int-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
-                       int&nbsp;ru,
-                       int[]&nbsp;counts)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="countNonZerosPerRow-int:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>countNonZerosPerRow</h4>
-<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
-                                int&nbsp;rl,
-                                int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
-<div class="block">Count the number of non-zeros per row</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rnnz</code> - non-zeros per row</dd>
-<dd><code>rl</code> - row lower bound, inclusive</dd>
-<dd><code>ru</code> - row upper bound, exclusive</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public static&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                     int&nbsp;rl,
-                                     int&nbsp;ru)</pre>
-</li>
-</ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
- column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>computeRowSums</h4>
-<pre>public static&nbsp;void&nbsp;computeRowSums(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-                                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                  <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-                                  int&nbsp;rl,
-                                  int&nbsp;ru)</pre>
-</li>
-</ul>
 <a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html
index 38909a6..87faee8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -170,96 +170,51 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
-                   int&nbsp;rl,
-                   int&nbsp;ru)</code>
-<div class="block">Count the number of non-zeros per row</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>
-<div class="block">Decompress to block.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
-         int&nbsp;ru,
-         int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>char[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getData--">getData</a></span>()</code>
 <div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
 <div class="block">Returns the exact serialized size of column group.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
- column vector is assumed to be transposed already i.e.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
@@ -271,21 +226,21 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#postScaling-double:A-double:A-double:A-int-int-int-">postScaling</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#preAggregate-double:A-int-int-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -315,15 +270,38 @@
 <li class="blockList">
 <h4>getData</h4>
 <pre>public&nbsp;char[]&nbsp;getData()</pre>
-<div class="block">Getter method to get the data, contained in The DDC ColGroup.
- 
- Not safe if modifications is made to the byte list.</div>
+<div class="block">Getter method to get the data, contained in The DDC ColGroup.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The contained data</dd>
 </dl>
 </li>
 </ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>b</code> - vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
 <a name="write-java.io.DataOutput-">
 <!--   -->
 </a>
@@ -335,8 +313,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - data output</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -353,10 +331,10 @@
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -374,8 +352,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>exact serialized size for column group</dd>
 </dl>
@@ -391,159 +369,13 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
 </li>
 </ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress the contents of this column group into the specified full matrix block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper</dd>
-</dl>
-</li>
-</ul>
-<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decompressToBlock</h4>
-<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                              int&nbsp;colpos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">ColGroup</a></code></span></div>
-<div class="block">Decompress to block.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>target</code> - dense output vector</dd>
-<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
-</dl>
-</li>
-</ul>
-<a name="getCounts-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="getCounts-int-int-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
-                       int&nbsp;ru,
-                       int[]&nbsp;counts)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="countNonZerosPerRow-int:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>countNonZerosPerRow</h4>
-<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
-                                int&nbsp;rl,
-                                int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">ColGroup</a></code></span></div>
-<div class="block">Count the number of non-zeros per row</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>rnnz</code> - non-zeros per row</dd>
-<dd><code>rl</code> - row lower bound, inclusive</dd>
-<dd><code>ru</code> - row upper bound, exclusive</dd>
-</dl>
-</li>
-</ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                              int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
- column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
-</dl>
-</li>
-</ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
index e82a433..80360b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html
@@ -158,11 +158,11 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
         <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+        <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
@@ -235,13 +235,13 @@
 <dd><code>compRatios</code> - The previously computed Compression ratings of individual col indexes.</dd>
 <dd><code>groups</code> - The column groups to consider compressing together.</dd>
 <dd><code>compSettings</code> - The compression settings to construct the compression based on.</dd>
-<dd><code>k</code> - The number of parallelism used.</dd>
+<dd><code>k</code> - The degree of parallelism used.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A Resulting array of ColGroups, containing the compressed information from the input matrix block.</dd>
 </dl>
 </li>
 </ul>
-<a name="compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -249,19 +249,19 @@
 <h4>compress</h4>
 <pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;compress(int[]&nbsp;colIndexes,
                                 int&nbsp;rlen,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+                                <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
                                 <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-                                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+                                <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
                                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</pre>
 <div class="block">Method for compressing an ColGroup.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>colIndexes</code> - The Column indexes to compress</dd>
 <dd><code>rlen</code> - The number of rows in the columns</dd>
-<dd><code>ubm</code> - The uncompressedBitmap containing all the data needed for the compression (unless
-                       Uncompressed ColGroup)</dd>
+<dd><code>ubm</code> - The Bitmap containing all the data needed for the compression (unless Uncompressed
+                       ColGroup)</dd>
 <dd><code>compType</code> - The CompressionType selected</dd>
-<dd><code>compSettings</code> - The compression Settings used for the given compression</dd>
+<dd><code>cs</code> - The compression Settings used for the given compression</dd>
 <dd><code>rawMatrixBlock</code> - The copy of the original input (maybe transposed) MatrixBlock</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A Compressed ColGroup</dd>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
index f53a3da..74b7468 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html
@@ -150,16 +150,14 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-boolean-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-          boolean&nbsp;_sharedDDC1Dict)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Read groups from a file.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-boolean-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-           boolean&nbsp;_sharedDDC1Dict,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;_colGroups)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 </td>
 </tr>
@@ -202,20 +200,18 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="readGroups-java.io.DataInput-boolean-">
+<a name="readGroups-java.io.DataInput-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>readGroups</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;readGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-                                        boolean&nbsp;_sharedDDC1Dict)
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;readGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Read groups from a file. Note that the information about how many should be in the file already.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - The Data input object to read from.</dd>
-<dd><code>_sharedDDC1Dict</code> - Boolean flag to specify if the DCC should share dictionary.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Return a List containing the ColGroups from the DataInput.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -223,22 +219,20 @@
 </dl>
 </li>
 </ul>
-<a name="writeGroups-java.io.DataOutput-boolean-java.util.List-">
+<a name="writeGroups-java.io.DataOutput-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>writeGroups</h4>
 <pre>public static&nbsp;void&nbsp;writeGroups(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-                               boolean&nbsp;_sharedDDC1Dict,
-                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;_colGroups)
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - The DataOutput the ColGroups are written to</dd>
-<dd><code>_sharedDDC1Dict</code> - Boolean flag specifying if the DDC share dictionaries.</dd>
-<dd><code>_colGroups</code> - List of the ColGroups to write to file.</dd>
+<dd><code>colGroups</code> - List of the ColGroups to write to file.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - Throws IO Exception if the out refuses to write.</dd>
 </dl>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
index 04ea962..51b3cda 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -75,7 +75,7 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
@@ -157,21 +157,6 @@
 </ul>
 </li>
 </ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ALLOW_CACHE_CONSCIOUS_ROWSUMS">ALLOW_CACHE_CONSCIOUS_ROWSUMS</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#WRITE_CACHE_BLKSZ">WRITE_CACHE_BLKSZ</a></code></li>
-</ul>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -179,7 +164,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -221,92 +206,149 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>static char[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#genOffsetBitmap-int:A-int-">genOffsetBitmap</a></span>(int[]&nbsp;offsets,
+               int&nbsp;len)</code>
+<div class="block">Encodes the bitmap in blocks of offsets.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-">getIterator</a></span>(int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getIterator-int-int-int-">getIterator</a></span>(int&nbsp;k,
            int&nbsp;rl,
            int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
 <div class="block">Create a dense row iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                int&nbsp;numVals,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;matrix,
+                 double[]&nbsp;result,
+                 int&nbsp;numVals,
+                 double[]&nbsp;values,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
+                 int&nbsp;ru,
+                 int&nbsp;vOff)</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmapOffsets--">getBitmapOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getBitmaps--">getBitmaps</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#hasZeros--">hasZeros</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -471,60 +513,127 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
                               int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
+<dd><code>b</code> - vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;matrix,
+                              double[]&nbsp;result,
+                              int&nbsp;numVals,
+                              double[]&nbsp;values,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;vOff)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             int&nbsp;numVals,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
 </dl>
 </li>
 </ul>
@@ -549,6 +658,63 @@
 </dl>
 </li>
 </ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
 <a name="getIterator-int-">
 <!--   -->
 </a>
@@ -612,7 +778,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -622,6 +788,25 @@
 </dl>
 </li>
 </ul>
+<a name="genOffsetBitmap-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>genOffsetBitmap</h4>
+<pre>public static&nbsp;char[]&nbsp;genOffsetBitmap(int[]&nbsp;offsets,
+                                     int&nbsp;len)</pre>
+<div class="block">Encodes the bitmap in blocks of offsets. Within each block, the bits are stored as absolute offsets from the
+ start of the block.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>offsets</code> - uncompressed offset list</dd>
+<dd><code>len</code> - logical length of the given offset list</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>compressed version of said bitmap</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -676,7 +861,7 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
index a2a65b5..403b6c1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html
@@ -75,14 +75,14 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -159,53 +159,6 @@
 </ul>
 </li>
 </ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ALLOW_CACHE_CONSCIOUS_ROWSUMS">ALLOW_CACHE_CONSCIOUS_ROWSUMS</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#WRITE_CACHE_BLKSZ">WRITE_CACHE_BLKSZ</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ColGroupOffset--">ColGroupOffset</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ColGroupOffset-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupOffset</a></span>(int[]&nbsp;colIndices,
-              int&nbsp;numRows,
-              <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Main constructor.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -293,7 +246,7 @@
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
@@ -312,14 +265,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -336,71 +289,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="WRITE_CACHE_BLKSZ">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WRITE_CACHE_BLKSZ</h4>
-<pre>public static final&nbsp;int WRITE_CACHE_BLKSZ</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.compress.colgroup.ColGroupOffset.WRITE_CACHE_BLKSZ">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="ALLOW_CACHE_CONSCIOUS_ROWSUMS">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ALLOW_CACHE_CONSCIOUS_ROWSUMS</h4>
-<pre>public static&nbsp;boolean ALLOW_CACHE_CONSCIOUS_ROWSUMS</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColGroupOffset--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ColGroupOffset</h4>
-<pre>public&nbsp;ColGroupOffset()</pre>
-</li>
-</ul>
-<a name="ColGroupOffset-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColGroupOffset</h4>
-<pre>public&nbsp;ColGroupOffset(int[]&nbsp;colIndices,
-                      int&nbsp;numRows,
-                      <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</pre>
-<div class="block">Main constructor. Stores the headers for the individual bitmaps.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colIndices</code> - indices (within the block) of the columns included in this column</dd>
-<dd><code>numRows</code> - total number of rows in the parent block</dd>
-<dd><code>ubm</code> - Uncompressed bitmap representation of the block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -417,8 +305,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
 </dl>
@@ -541,10 +429,10 @@
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>in</code> - data input</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -563,8 +451,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
 <div class="block">Serializes column group to data output.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>out</code> - data output</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -582,8 +470,8 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
 <div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>exact serialized size for column group</dd>
 </dl>
@@ -715,14 +603,14 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
index 41afd12..eaa7296 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -75,7 +75,7 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
@@ -156,21 +156,6 @@
 </ul>
 </li>
 </ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#ALLOW_CACHE_CONSCIOUS_ROWSUMS">ALLOW_CACHE_CONSCIOUS_ROWSUMS</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#WRITE_CACHE_BLKSZ">WRITE_CACHE_BLKSZ</a></code></li>
-</ul>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -178,7 +163,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -218,61 +203,100 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>static char[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#genRLEBitmap-int:A-int-">genRLEBitmap</a></span>(int[]&nbsp;offsets,
+            int&nbsp;len)</code>
+<div class="block">Encodes the bitmap as a series of run lengths and offsets.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCompType--">getCompType</a></span>()</code>
 <div class="block">Obtain the compression type.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;counts)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-">getIterator</a></span>(int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getIterator-int-int-int-">getIterator</a></span>(int&nbsp;k,
            int&nbsp;rl,
            int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
 <div class="block">Create a dense row iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
+                double[]&nbsp;c,
+                int&nbsp;numVals,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;voff)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
 <tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;a,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;matrix,
+                 double[]&nbsp;result,
+                 int&nbsp;numVals,
+                 double[]&nbsp;values,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;vOff)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
@@ -292,14 +316,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -427,60 +451,127 @@
 </dl>
 </li>
 </ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
                               int&nbsp;rl,
-                              int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
+<dd><code>b</code> - vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
 <dd><code>rl</code> - row lower</dd>
 <dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;matrix,
+                              double[]&nbsp;result,
+                              int&nbsp;numVals,
+                              double[]&nbsp;values,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;vOff)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;a,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
+                             double[]&nbsp;c,
+                             int&nbsp;numVals,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;voff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>a</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
 </dl>
 </li>
 </ul>
@@ -575,7 +666,7 @@
 <a name="getRowIterator-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getRowIterator</h4>
 <pre>public&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
@@ -594,6 +685,26 @@
 </dl>
 </li>
 </ul>
+<a name="genRLEBitmap-int:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>genRLEBitmap</h4>
+<pre>public static&nbsp;char[]&nbsp;genRLEBitmap(int[]&nbsp;offsets,
+                                  int&nbsp;len)</pre>
+<div class="block">Encodes the bitmap as a series of run lengths and offsets.
+ 
+ Note that this method should not be called if the len is 0.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>offsets</code> - uncompressed offset list</dd>
+<dd><code>len</code> - logical length of the given offset list</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>compressed version of said bitmap</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -648,7 +759,7 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupOffset">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
index 7226ce2..953b8d5 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -148,20 +148,23 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-">estimateInMemorySizeDDC</a></span>(int&nbsp;nrCols,
-                       int&nbsp;uniqueVals)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC-int-int-boolean-">estimateInMemorySizeDDC</a></span>(int&nbsp;nrCols,
+                       int&nbsp;uniqueVals,
+                       boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-">estimateInMemorySizeDDC1</a></span>(int&nbsp;nrCols,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC1-int-int-int-boolean-">estimateInMemorySizeDDC1</a></span>(int&nbsp;nrCols,
                         int&nbsp;uniqueVals,
-                        int&nbsp;dataLength)</code>&nbsp;</td>
+                        int&nbsp;dataLength,
+                        boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-">estimateInMemorySizeDDC2</a></span>(int&nbsp;nrCols,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeDDC2-int-int-int-boolean-">estimateInMemorySizeDDC2</a></span>(int&nbsp;nrCols,
                         int&nbsp;uniqueVals,
-                        int&nbsp;dataLength)</code>&nbsp;</td>
+                        int&nbsp;dataLength,
+                        boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
@@ -169,29 +172,33 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroupValue-int-long-">estimateInMemorySizeGroupValue</a></span>(int&nbsp;nrColumns,
-                              long&nbsp;nrValues)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeGroupValue-int-int-boolean-">estimateInMemorySizeGroupValue</a></span>(int&nbsp;nrColumns,
+                              int&nbsp;nrValues,
+                              boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOffset-int-long-int-int-">estimateInMemorySizeOffset</a></span>(int&nbsp;nrColumns,
-                          long&nbsp;nrValues,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOffset-int-int-int-int-boolean-">estimateInMemorySizeOffset</a></span>(int&nbsp;nrColumns,
+                          int&nbsp;nrValues,
                           int&nbsp;pointers,
-                          int&nbsp;offsetLength)</code>&nbsp;</td>
+                          int&nbsp;offsetLength,
+                          boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOLE-int-int-int-int-">estimateInMemorySizeOLE</a></span>(int&nbsp;nrColumns,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeOLE-int-int-int-int-boolean-">estimateInMemorySizeOLE</a></span>(int&nbsp;nrColumns,
                        int&nbsp;nrValues,
                        int&nbsp;offsetLength,
-                       int&nbsp;nrRows)</code>&nbsp;</td>
+                       int&nbsp;nrRows,
+                       boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-">estimateInMemorySizeRLE</a></span>(int&nbsp;nrColumns,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#estimateInMemorySizeRLE-int-int-int-int-boolean-">estimateInMemorySizeRLE</a></span>(int&nbsp;nrColumns,
                        int&nbsp;nrValues,
                        int&nbsp;nrRuns,
-                       int&nbsp;nrRows)</code>&nbsp;</td>
+                       int&nbsp;nrRows,
+                       boolean&nbsp;lossy)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
@@ -199,10 +206,6 @@
                                 int&nbsp;nrColumns,
                                 double&nbsp;sparsity)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html#getEmptyMemoryFootprint-java.lang.Class-">getEmptyMemoryFootprint</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;colGroupClass)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -242,15 +245,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getEmptyMemoryFootprint-java.lang.Class-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getEmptyMemoryFootprint</h4>
-<pre>public static&nbsp;long&nbsp;getEmptyMemoryFootprint(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;colGroupClass)</pre>
-</li>
-</ul>
 <a name="estimateInMemorySizeGroup-int-">
 <!--   -->
 </a>
@@ -260,27 +254,29 @@
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeGroup(int&nbsp;nrColumns)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeGroupValue-int-long-">
+<a name="estimateInMemorySizeGroupValue-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateInMemorySizeGroupValue</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeGroupValue(int&nbsp;nrColumns,
-                                                  long&nbsp;nrValues)</pre>
+                                                  int&nbsp;nrValues,
+                                                  boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeDDC-int-int-">
+<a name="estimateInMemorySizeDDC-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateInMemorySizeDDC</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC(int&nbsp;nrCols,
-                                           int&nbsp;uniqueVals)</pre>
+                                           int&nbsp;uniqueVals,
+                                           boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeDDC1-int-int-int-">
+<a name="estimateInMemorySizeDDC1-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -288,10 +284,11 @@
 <h4>estimateInMemorySizeDDC1</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC1(int&nbsp;nrCols,
                                             int&nbsp;uniqueVals,
-                                            int&nbsp;dataLength)</pre>
+                                            int&nbsp;dataLength,
+                                            boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeDDC2-int-int-int-">
+<a name="estimateInMemorySizeDDC2-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -299,22 +296,24 @@
 <h4>estimateInMemorySizeDDC2</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeDDC2(int&nbsp;nrCols,
                                             int&nbsp;uniqueVals,
-                                            int&nbsp;dataLength)</pre>
+                                            int&nbsp;dataLength,
+                                            boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeOffset-int-long-int-int-">
+<a name="estimateInMemorySizeOffset-int-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateInMemorySizeOffset</h4>
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeOffset(int&nbsp;nrColumns,
-                                              long&nbsp;nrValues,
+                                              int&nbsp;nrValues,
                                               int&nbsp;pointers,
-                                              int&nbsp;offsetLength)</pre>
+                                              int&nbsp;offsetLength,
+                                              boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeOLE-int-int-int-int-">
+<a name="estimateInMemorySizeOLE-int-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -323,10 +322,11 @@
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeOLE(int&nbsp;nrColumns,
                                            int&nbsp;nrValues,
                                            int&nbsp;offsetLength,
-                                           int&nbsp;nrRows)</pre>
+                                           int&nbsp;nrRows,
+                                           boolean&nbsp;lossy)</pre>
 </li>
 </ul>
-<a name="estimateInMemorySizeRLE-int-int-int-int-">
+<a name="estimateInMemorySizeRLE-int-int-int-int-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -335,7 +335,8 @@
 <pre>public static&nbsp;long&nbsp;estimateInMemorySizeRLE(int&nbsp;nrColumns,
                                            int&nbsp;nrValues,
                                            int&nbsp;nrRuns,
-                                           int&nbsp;nrRows)</pre>
+                                           int&nbsp;nrRows,
+                                           boolean&nbsp;lossy)</pre>
 </li>
 </ul>
 <a name="estimateInMemorySizeUncompressed-int-int-double-">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
index 28a108f..a365ba1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -147,42 +147,6 @@
 </ul>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed--">ColGroupUncompressed</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndices,
-                    int&nbsp;numRows,
-                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
-<div class="block">Constructor for internal use.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndicesList,
-                    <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                    <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Main constructor for Uncompressed ColGroup.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-java.util.List-">ColGroupUncompressed</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groupsToDecompress)</code>
-<div class="block">Constructor for creating temporary decompressed versions of one or more compressed column groups.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -257,6 +221,13 @@
 </td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIfCountsType--">getIfCountsType</a></span>()</code>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getIterator-int-int-boolean-boolean-">getIterator</a></span>(int&nbsp;rl,
            int&nbsp;ru,
@@ -265,72 +236,149 @@
 <div class="block">Create a column group iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getRowIterator-int-int-">getRowIterator</a></span>(int&nbsp;rl,
               int&nbsp;ru)</code>
 <div class="block">Create a dense row iterator for a row index range.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values in the colGroup.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesSize--">getValuesSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#isLossy--">isLossy</a></span>()</code>
+<div class="block">Is Lossy</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;vector,
+                double[]&nbsp;c,
+                int&nbsp;numVals,
+                double[]&nbsp;values,
+                int&nbsp;numRows,
+                int&nbsp;numCols,
+                int&nbsp;rl,
+                int&nbsp;ru,
+                int&nbsp;vOff)</code>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                   int&nbsp;k)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
+                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block">Deserializes column group from data input.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;k)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></span>(double[]&nbsp;vector,
+                   double[]&nbsp;c,
+                   int&nbsp;numVals,
+                   double[]&nbsp;values)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e.</div>
+</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;matrix,
+                 double[]&nbsp;result,
+                 int&nbsp;numVals,
+                 double[]&nbsp;values,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 int&nbsp;vOff)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
+                 <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                 int&nbsp;rl,
+                 int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;b,
+                 double[]&nbsp;c,
+                 int&nbsp;rl,
+                 int&nbsp;ru,
+                 double[]&nbsp;dictVals)</code>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
                  <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                  int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-</td>
+                 int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;ret)</code>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;result,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
+</tr>
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Serializes column group to data output.</div>
@@ -342,7 +390,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -359,75 +407,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColGroupUncompressed--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ColGroupUncompressed</h4>
-<pre>public&nbsp;ColGroupUncompressed()</pre>
-</li>
-</ul>
-<a name="ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ColGroupUncompressed</h4>
-<pre>public&nbsp;ColGroupUncompressed(int[]&nbsp;colIndicesList,
-                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                            <a href="../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</pre>
-<div class="block">Main constructor for Uncompressed ColGroup.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colIndicesList</code> - Indices (relative to the current block) of the columns that this column group represents.</dd>
-<dd><code>rawBlock</code> - The uncompressed block; uncompressed data must be present at the time that the constructor
-                       is called</dd>
-<dd><code>compSettings</code> - The Settings for how to compress this block, Here using information about the raw block if
-                       it is transposed.</dd>
-</dl>
-</li>
-</ul>
-<a name="ColGroupUncompressed-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ColGroupUncompressed</h4>
-<pre>public&nbsp;ColGroupUncompressed(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groupsToDecompress)</pre>
-<div class="block">Constructor for creating temporary decompressed versions of one or more compressed column groups.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>groupsToDecompress</code> - compressed columns to subsume. Must contain at least one element.</dd>
-</dl>
-</li>
-</ul>
-<a name="ColGroupUncompressed-int:A-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColGroupUncompressed</h4>
-<pre>public&nbsp;ColGroupUncompressed(int[]&nbsp;colIndices,
-                            int&nbsp;numRows,
-                            <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</pre>
-<div class="block">Constructor for internal use. Used when a method needs to build an instance of this class from scratch.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colIndices</code> - column mapping for this column group</dd>
-<dd><code>numRows</code> - number of rows in the column, for passing to the superclass</dd>
-<dd><code>data</code> - matrix block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -484,7 +463,7 @@
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
 <div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
@@ -572,6 +551,31 @@
 </dl>
 </li>
 </ul>
+<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByVector</h4>
+<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;b,
+                              double[]&nbsp;c,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              double[]&nbsp;dictVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>b</code> - vector to multiply by (tall vector)</dd>
+<dd><code>c</code> - accumulator for holding the result</dd>
+<dd><code>rl</code> - row lower</dd>
+<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
+<dd><code>dictVals</code> - The dictionary values materialized</dd>
+</dl>
+</li>
+</ul>
 <a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
 <!--   -->
 </a>
@@ -582,59 +586,127 @@
                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                               int&nbsp;rl,
                               int&nbsp;ru)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">ColGroup</a></code></span></div>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>vector</code> - vector to multiply by (tall vector)</dd>
-<dd><code>result</code> - accumulator for holding the result</dd>
-<dd><code>rl</code> - row lower</dd>
-<dd><code>ru</code> - row upper if the internal SystemML code that performs the multiplication experiences an error</dd>
-</dl>
 </li>
 </ul>
-<a name="rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>rightMultByVector</h4>
-<pre>public&nbsp;void&nbsp;rightMultByVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                              int&nbsp;k)</pre>
+                              int&nbsp;rl,
+                              int&nbsp;ru)</pre>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rightMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;matrix,
+                              double[]&nbsp;result,
+                              int&nbsp;numVals,
+                              double[]&nbsp;values,
+                              int&nbsp;rl,
+                              int&nbsp;ru,
+                              int&nbsp;vOff)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByRowVector-double:A-double:A-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">ColGroup</a></code></span></div>
 <div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
  column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>vector</code> - row vector</dd>
-<dd><code>result</code> - matrix block result</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
 </dl>
 </li>
 </ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
+<a name="leftMultByRowVector-double:A-double:A-int-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>leftMultByRowVector</h4>
-<pre>public&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                                <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                                int&nbsp;k)</pre>
+<pre>public&nbsp;void&nbsp;leftMultByRowVector(double[]&nbsp;vector,
+                                double[]&nbsp;c,
+                                int&nbsp;numVals,
+                                double[]&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - row vector</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;vector,
+                             double[]&nbsp;c,
+                             int&nbsp;numVals,
+                             double[]&nbsp;values,
+                             int&nbsp;numRows,
+                             int&nbsp;numCols,
+                             int&nbsp;rl,
+                             int&nbsp;ru,
+                             int&nbsp;vOff)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
+<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
+ column vector is assumed to be transposed already i.e. its size now is 1xn).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>vector</code> - matrix to left multiply</dd>
+<dd><code>c</code> - matrix block result</dd>
+<dd><code>numVals</code> - The Number of values contained in the Column.</dd>
+<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
+<dd><code>numRows</code> - The number of rows in the matrix input</dd>
+<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
+<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
+<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
+<dd><code>vOff</code> - The offset into the first argument matrix to start at.</dd>
+</dl>
+</li>
+</ul>
+<a name="leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>leftMultByMatrix</h4>
+<pre>public&nbsp;void&nbsp;leftMultByMatrix(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
+                             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
 </li>
 </ul>
 <a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
@@ -657,6 +729,26 @@
 </dl>
 </li>
 </ul>
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryAggregateOperations</h4>
+<pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                     double[]&nbsp;ret)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">ColGroup</a></code></span></div>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator used</dd>
+<dd><code>ret</code> - Rhe output matrix block.</dd>
+</dl>
+</li>
+</ul>
 <a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
 <!--   -->
 </a>
@@ -665,15 +757,29 @@
 <h4>unaryAggregateOperations</h4>
 <pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                                      <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
+</li>
+</ul>
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unaryAggregateOperations</h4>
+<pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                                     double[]&nbsp;result,
+                                     int&nbsp;rl,
+                                     int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">ColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
-<dd><code>ret</code> - the output matrix block.</dd>
+<dd><code>result</code> - The output matrix block.</dd>
+<dd><code>rl</code> - The Starting Row to do aggregation from</dd>
+<dd><code>ru</code> - The last Row to do aggregation to (not included)</dd>
 </dl>
 </li>
 </ul>
@@ -686,7 +792,7 @@
 <pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
-<div class="block">Deserializes column group from data input.</div>
+<div class="block">Deserialize column group from data input.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
@@ -805,7 +911,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -815,6 +921,77 @@
 </dl>
 </li>
 </ul>
+<a name="getValuesAsBlock--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesAsBlock</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">ColGroup</a></code></span></div>
+<div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
+ connection to getIfCountsType to get if the values are repeated.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
+</dl>
+</li>
+</ul>
+<a name="getIfCountsType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIfCountsType</h4>
+<pre>public&nbsp;boolean&nbsp;getIfCountsType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">ColGroup</a></code></span></div>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>boolean</dd>
+</dl>
+</li>
+</ul>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">ColGroup</a></code></span></div>
+<div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
+ the output a list of values used in that colGroup not the actual full column.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double list of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="isLossy--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isLossy</h4>
+<pre>public&nbsp;boolean&nbsp;isLossy()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">ColGroup</a></code></span></div>
+<div class="block">Is Lossy</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>returns if the ColGroup is compressed in a lossy manner.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -870,13 +1047,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
index e372824..f2b4d5d 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":6,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":6,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":6,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -124,7 +124,7 @@
 <br>
 <pre>public abstract class <span class="typeNameLabel">ColGroupValue</span>
 extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></pre>
-<div class="block">Base class for column groups encoded with value dictionary.</div>
+<div class="block">Base class for column groups encoded with value dictionary. This include column groups such as DDC OLE and RLE.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupValue">Serialized Form</a></dd>
@@ -150,30 +150,6 @@
 </ul>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#ColGroupValue--">ColGroupValue</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#ColGroupValue-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">ColGroupValue</a></span>(int[]&nbsp;colIndices,
-             int&nbsp;numRows,
-             <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Stores the headers for the individual bitmaps.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -191,106 +167,108 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-</td>
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getByteValues--">getByteValues</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a></span>()</code>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-boolean-">getCounts</a></span>(boolean&nbsp;inclZeros)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>abstract int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a></span>(int&nbsp;rl,
-         int&nbsp;ru)</code>&nbsp;</td>
+         int&nbsp;ru)</code>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.</div>
+</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>abstract int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
          int&nbsp;ru,
          int[]&nbsp;out)</code>&nbsp;</td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Returns the exact serialized size of column group.</div>
+</td>
+</tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a></span>()</code>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+</td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionarySize--">getDictionarySize</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a></span>()</code>
 <div class="block">Obtain number of distinct sets of values associated with the bitmaps in this column group.</div>
 </td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values in the colGroup.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValue-int-int-">getValue</a></span>(int&nbsp;k,
-        int&nbsp;col)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a></span>()</code>
+<div class="block">Is Lossy</div>
+</td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
+<div class="block">Deserialize column group from data input.</div>
+</td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;vector,
-                   <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;dict)</code>&nbsp;</td>
-</tr>
-<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a></span>(int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setValues-double:A-">setValues</a></span>(double[]&nbsp;values)</code>&nbsp;</td>
-</tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a></span>(int&nbsp;valIx,
-         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-         <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</code>&nbsp;</td>
-</tr>
-<tr id="i19" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c)</code>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c,
                         int&nbsp;rl,
-                        int&nbsp;ru)</code>&nbsp;</td>
+                        int&nbsp;ru)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Serializes column group to data output.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -298,7 +276,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-boolean-">readFields</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-boolean-">write</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByMatrix-double:A-double:A-int-double:A-int-int-int-int-int-">leftMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-double:A-int-int-int-">rightMultByMatrix</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -315,73 +293,12 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ColGroupValue--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ColGroupValue</h4>
-<pre>public&nbsp;ColGroupValue()</pre>
-</li>
-</ul>
-<a name="ColGroupValue-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ColGroupValue</h4>
-<pre>public&nbsp;ColGroupValue(int[]&nbsp;colIndices,
-                     int&nbsp;numRows,
-                     <a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</pre>
-<div class="block">Stores the headers for the individual bitmaps.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colIndices</code> - indices (within the block) of the columns included in this column</dd>
-<dd><code>numRows</code> - total number of rows in the parent block</dd>
-<dd><code>ubm</code> - Uncompressed bitmap representation of the block</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="estimateInMemorySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>estimateInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">ColGroup</a></code></span></div>
-<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
-</dl>
-</li>
-</ul>
-<a name="getDictionarySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDictionarySize</h4>
-<pre>public&nbsp;long&nbsp;getDictionarySize()</pre>
-</li>
-</ul>
 <a name="getNumValues--">
 <!--   -->
 </a>
@@ -403,34 +320,24 @@
 <li class="blockList">
 <h4>getValues</h4>
 <pre>public&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">ColGroup</a></code></span></div>
+<div class="block">Get all the values in the colGroup. Note that this is only the stored values not the way they are stored. Making
+ the output a list of values used in that colGroup not the actual full column.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a double list of values.</dd>
+</dl>
 </li>
 </ul>
-<a name="setValues-double:A-">
+<a name="getByteValues--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setValues</h4>
-<pre>public&nbsp;void&nbsp;setValues(double[]&nbsp;values)</pre>
-</li>
-</ul>
-<a name="getValue-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValue</h4>
-<pre>public&nbsp;double&nbsp;getValue(int&nbsp;k,
-                       int&nbsp;col)</pre>
-</li>
-</ul>
-<a name="setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setDictionary</h4>
-<pre>public&nbsp;void&nbsp;setDictionary(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;dict)</pre>
+<h4>getByteValues</h4>
+<pre>public&nbsp;byte[]&nbsp;getByteValues()</pre>
 </li>
 </ul>
 <a name="getValuesAsBlock--">
@@ -440,6 +347,15 @@
 <li class="blockList">
 <h4>getValuesAsBlock</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getValuesAsBlock()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">ColGroup</a></code></span></div>
+<div class="block">Returns the ColGroup as a MatrixBlock. Used as a fall back solution in case a operation is not supported. Use in
+ connection to getIfCountsType to get if the values are repeated.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Matrix Block of the contained Values. Possibly contained in groups.</dd>
+</dl>
 </li>
 </ul>
 <a name="getCounts--">
@@ -449,15 +365,15 @@
 <li class="blockList">
 <h4>getCounts</h4>
 <pre>public final&nbsp;int[]&nbsp;getCounts()</pre>
-</li>
-</ul>
-<a name="getCounts-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public abstract&nbsp;int[]&nbsp;getCounts(int[]&nbsp;out)</pre>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.
+ 
+ The returned counts always contains the number of zeros as well if there are some contained, even if they are not
+ materialized.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the count of each value in the MatrixBlock.</dd>
+</dl>
 </li>
 </ul>
 <a name="getCounts-int-int-">
@@ -468,103 +384,79 @@
 <h4>getCounts</h4>
 <pre>public final&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
                              int&nbsp;ru)</pre>
+<div class="block">Returns the counts of values inside the MatrixBlock returned in getValuesAsBlock Throws an exception if the
+ getIfCountsType is false.
+ 
+ The returned counts always contains the number of zeros as well if there are some contained, even if they are not
+ materialized.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>rl</code> - the lower index of the interval of rows queried</dd>
+<dd><code>ru</code> - the the upper boundary of the interval of rows queried</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the count of each value in the MatrixBlock.</dd>
+</dl>
 </li>
 </ul>
-<a name="getCounts-int-int-int:A-">
+<a name="getIfCountsType--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCounts</h4>
-<pre>public abstract&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
-                                int&nbsp;ru,
-                                int[]&nbsp;out)</pre>
+<h4>getIfCountsType</h4>
+<pre>public&nbsp;boolean&nbsp;getIfCountsType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">ColGroup</a></code></span></div>
+<div class="block">Returns true if in the getValuesAsBlock method returns values in groups (that needs to be counted) or
+ individually potentially repeated values</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIfCountsType--">getIfCountsType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>boolean</dd>
+</dl>
 </li>
 </ul>
-<a name="getCounts-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCounts</h4>
-<pre>public&nbsp;int[]&nbsp;getCounts(boolean&nbsp;inclZeros)</pre>
-</li>
-</ul>
-<a name="getCountsAsBlock--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCountsAsBlock</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getCountsAsBlock()</pre>
-</li>
-</ul>
-<a name="getCountsAsBlock-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCountsAsBlock</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getCountsAsBlock(int[]&nbsp;counts)</pre>
-</li>
-</ul>
-<a name="sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sumValues</h4>
-<pre>public final&nbsp;double&nbsp;sumValues(int&nbsp;valIx,
-                              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-                              <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</pre>
-</li>
-</ul>
-<a name="leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>leftMultByRowVector</h4>
-<pre>public abstract&nbsp;void&nbsp;leftMultByRowVector(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;vector,
-                                         <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-</li>
-</ul>
-<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>unaryAggregateOperations</h4>
 <pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroup</a></code></span></div>
+                                     double[]&nbsp;c)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">ColGroup</a></code></span></div>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>op</code> - The operator used</dd>
-<dd><code>result</code> - the output matrix block.</dd>
+<dd><code>c</code> - Rhe output matrix block.</dd>
 </dl>
 </li>
 </ul>
-<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">
+<a name="unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>unaryAggregateOperations</h4>
 <pre>public&nbsp;void&nbsp;unaryAggregateOperations(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+                                     double[]&nbsp;c,
                                      int&nbsp;rl,
                                      int&nbsp;ru)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">ColGroup</a></code></span></div>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
 <dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>op</code> - aggregation operator</dd>
-<dd><code>result</code> - output matrix block</dd>
-<dd><code>rl</code> - row lower index, inclusive</dd>
-<dd><code>ru</code> - row upper index, exclusive</dd>
+<dd><code>op</code> - The operator used</dd>
+<dd><code>c</code> - The output matrix block.</dd>
+<dd><code>rl</code> - The Starting Row to do aggregation from</dd>
+<dd><code>ru</code> - The last Row to do aggregation to (not included)</dd>
 </dl>
 </li>
 </ul>
@@ -589,7 +481,7 @@
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
@@ -599,6 +491,100 @@
 </dl>
 </li>
 </ul>
+<a name="isLossy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLossy</h4>
+<pre>public&nbsp;boolean&nbsp;isLossy()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">ColGroup</a></code></span></div>
+<div class="block">Is Lossy</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#isLossy--">isLossy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>returns if the ColGroup is compressed in a lossy manner.</dd>
+</dl>
+</li>
+</ul>
+<a name="readFields-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFields</h4>
+<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">ColGroup</a></code></span></div>
+<div class="block">Deserialize column group from data input.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>in</code> - data input</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">ColGroup</a></code></span></div>
+<div class="block">Serializes column group to data output.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - data output</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">ColGroup</a></code></span></div>
+<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>exact serialized size for column group</dd>
+</dl>
+</li>
+</ul>
+<a name="getCounts-int:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public abstract&nbsp;int[]&nbsp;getCounts(int[]&nbsp;out)</pre>
+</li>
+</ul>
+<a name="getCounts-int-int-int:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getCounts</h4>
+<pre>public abstract&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
+                                int&nbsp;ru,
+                                int[]&nbsp;out)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -654,13 +640,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
index 547d328..cefa0c1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/Dictionary.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/Dictionary.html" target="_top">Frames</a></li>
@@ -100,24 +100,24 @@
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ADictionary</a></li>
+<li>
+<ul class="inheritance">
 <li>org.apache.sysds.runtime.compress.colgroup.Dictionary</li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></dd>
-</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Dictionary</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group. The primary reason for its
- introduction was to provide an entry point for specialization such as shared
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></pre>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group. The primary reason for its introduction was to provide an entry point for specialization such as shared
  dictionaries, which require additional information.</div>
 </li>
 </ul>
@@ -149,7 +149,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -157,40 +157,92 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
-         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>&nbsp;</td>
+         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;init,
-             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-             int[]&nbsp;cols)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></span>()</code>
+<div class="block">Returns a deep clone of the dictionary.</div>
+</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>&nbsp;</td>
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
+<div class="block">Returns the memory usage of the dictionary.</div>
+</td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValues--">getValues</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;ncol)</code>
+<div class="block">Get the number of values given that the column group has n columns</div>
+</td>
 </tr>
 <tr id="i7" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<div class="block">Determines if the content has a zero tuple.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Write the dictionary to a DataOutput.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ADictionary">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -235,6 +287,14 @@
 <li class="blockList">
 <h4>getValues</h4>
 <pre>public&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">ADictionary</a></code></span></div>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>linearized double array</dd>
+</dl>
 </li>
 </ul>
 <a name="getValue-int-">
@@ -244,6 +304,16 @@
 <li class="blockList">
 <h4>getValue</h4>
 <pre>public&nbsp;double&nbsp;getValue(int&nbsp;i)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">ADictionary</a></code></span></div>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>i</code> - The index to extract the value from</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value contained at the index</dd>
+</dl>
 </li>
 </ul>
 <a name="getInMemorySize--">
@@ -253,6 +323,14 @@
 <li class="blockList">
 <h4>getInMemorySize</h4>
 <pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">ADictionary</a></code></span></div>
+<div class="block">Returns the memory usage of the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long value in number of bytes for the dictionary.</dd>
+</dl>
 </li>
 </ul>
 <a name="hasZeroTuple-int-">
@@ -262,6 +340,17 @@
 <li class="blockList">
 <h4>hasZeroTuple</h4>
 <pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">ADictionary</a></code></span></div>
+<div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
+ information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The index at which the zero tuple is located.</dd>
+</dl>
 </li>
 </ul>
 <a name="aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">
@@ -272,17 +361,18 @@
 <h4>aggregate</h4>
 <pre>public&nbsp;double&nbsp;aggregate(double&nbsp;init,
                         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</pre>
-</li>
-</ul>
-<a name="aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>aggregateCols</h4>
-<pre>public&nbsp;double[]&nbsp;aggregateCols(double[]&nbsp;init,
-                              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-                              int[]&nbsp;cols)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">ADictionary</a></code></span></div>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>init</code> - The initial Value, in cases such as Max value, this could be -infinity</dd>
+<dd><code>fn</code> - The Function to apply to values</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The aggregated value as a double.</dd>
+</dl>
 </li>
 </ul>
 <a name="apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
@@ -292,18 +382,142 @@
 <li class="blockList">
 <h4>apply</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ADictionary</a></code></span></div>
+<div class="block">Applies the scalar operation on the dictionary. Note that this operation modifies the underlying data, and
+ normally require a copy of the original Dictionary to preserve old objects.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this dictionary with modified values.</dd>
+</dl>
+</li>
+</ul>
+<a name="applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyScalarOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;applyScalarOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+                                double&nbsp;newVal,
+                                int&nbsp;numCols)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">ADictionary</a></code></span></div>
+<div class="block">Applies the scalar operation on the dictionary. The returned dictionary should contain a new instance of the
+ underlying data. Therefore it will not modify the previous object.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dd><code>newVal</code> - The value to append to the dictionary.</dd>
+<dd><code>numCols</code> - The number of columns stored in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Another dictionary with modified values.</dd>
+</dl>
 </li>
 </ul>
 <a name="clone--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>clone</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">ADictionary</a></code></span></div>
+<div class="block">Returns a deep clone of the dictionary.</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getValuesLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesLength</h4>
+<pre>public&nbsp;int&nbsp;getValuesLength()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">ADictionary</a></code></span></div>
+<div class="block">returns the count of values contained in the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer of count of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="read-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;read(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">ADictionary</a></code></span></div>
+<div class="block">Write the dictionary to a DataOutput.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - the output sink to write the dictionary to.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the sink fails.</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">ADictionary</a></code></span></div>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the long count of bytes to store the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberOfValues-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberOfValues</h4>
+<pre>public&nbsp;int&nbsp;getNumberOfValues(int&nbsp;ncol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">ADictionary</a></code></span></div>
+<div class="block">Get the number of values given that the column group has n columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ncol</code> - The number of Columns in the ColumnGroup.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of value tuples contained in the dictionary.</dd>
 </dl>
 </li>
 </ul>
@@ -336,7 +550,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/Dictionary.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html
deleted file mode 100644
index 46c2f1e..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DictionaryShared.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
-<h2 title="Class DictionaryShared" class="title">Class DictionaryShared</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.Dictionary</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.colgroup.DictionaryShared</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DictionaryShared</span>
-extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></pre>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group. The primary reason for its
- introduction was to provide an entry point for specialization such as shared
- dictionaries, which require additional information.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#DictionaryShared-double:A-int:A-double:A-">DictionaryShared</a></span>(double[]&nbsp;values,
-                int[]&nbsp;colIndexes,
-                double[]&nbsp;extrema)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
-         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;init,
-             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-             int[]&nbsp;cols)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#clone--">clone</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#getInMemorySize--">getInMemorySize</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.Dictionary">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValue-int-">getValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#hasZeroTuple-int-">hasZeroTuple</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="DictionaryShared-double:A-int:A-double:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DictionaryShared</h4>
-<pre>public&nbsp;DictionaryShared(double[]&nbsp;values,
-                        int[]&nbsp;colIndexes,
-                        double[]&nbsp;extrema)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getInMemorySize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getInMemorySize</h4>
-<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>aggregate</h4>
-<pre>public&nbsp;double&nbsp;aggregate(double&nbsp;init,
-                        <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>aggregateCols</h4>
-<pre>public&nbsp;double[]&nbsp;aggregateCols(double[]&nbsp;init,
-                              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-                              int[]&nbsp;cols)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="clone--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>clone</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a>&nbsp;clone()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DictionaryShared.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html
new file mode 100644
index 0000000..ef982e9
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/QDictionary.html
@@ -0,0 +1,647 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QDictionary (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QDictionary (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":9,"i16":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QDictionary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/QDictionary.html" target="_top">Frames</a></li>
+<li><a href="QDictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.colgroup</div>
+<h2 title="Class QDictionary" class="title">Class QDictionary</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ADictionary</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.colgroup.QDictionary</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">QDictionary</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></pre>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group. The primary reason for its introduction was to provide an entry point for specialization such as shared
+ dictionaries, which require additional information.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#QDictionary-org.apache.sysds.runtime.compress.utils.BitmapLossy-">QDictionary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a>&nbsp;bm)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
+         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone</a></span>()</code>
+<div class="block">Returns a deep clone of the dictionary.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize--">getInMemorySize</a></span>()</code>
+<div class="block">Returns the memory usage of the dictionary.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getInMemorySize-int-">getInMemorySize</a></span>(int&nbsp;valuesCount)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getNumberOfValues-int-">getNumberOfValues</a></span>(int&nbsp;nCol)</code>
+<div class="block">Get the number of values given that the column group has n columns</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getScale--">getScale</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValue-int-">getValue</a></span>(int&nbsp;i)</code>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>byte</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValueByte-int-">getValueByte</a></span>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesByte--">getValuesByte</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#getValuesLength--">getValuesLength</a></span>()</code>
+<div class="block">returns the count of values contained in the dictionary.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#hasZeroTuple-int-">hasZeroTuple</a></span>(int&nbsp;ncol)</code>
+<div class="block">Determines if the content has a zero tuple.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
+<div class="block">Write the dictionary to a DataOutput.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ADictionary">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="QDictionary-org.apache.sysds.runtime.compress.utils.BitmapLossy-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QDictionary</h4>
+<pre>public&nbsp;QDictionary(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a>&nbsp;bm)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">ADictionary</a></code></span></div>
+<div class="block">Get all the values contained in the dictionary as a linearized double array.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValues--">getValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>linearized double array</dd>
+</dl>
+</li>
+</ul>
+<a name="getValue-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;double&nbsp;getValue(int&nbsp;i)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">ADictionary</a></code></span></div>
+<div class="block">Get Specific value contained in the dictionary at index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValue-int-">getValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>i</code> - The index to extract the value from</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value contained at the index</dd>
+</dl>
+</li>
+</ul>
+<a name="getValueByte-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValueByte</h4>
+<pre>public&nbsp;byte&nbsp;getValueByte(int&nbsp;i)</pre>
+</li>
+</ul>
+<a name="getValuesByte--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesByte</h4>
+<pre>public&nbsp;byte[]&nbsp;getValuesByte()</pre>
+</li>
+</ul>
+<a name="getScale--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScale</h4>
+<pre>public&nbsp;double&nbsp;getScale()</pre>
+</li>
+</ul>
+<a name="getInMemorySize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">ADictionary</a></code></span></div>
+<div class="block">Returns the memory usage of the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a long value in number of bytes for the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="getInMemorySize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInMemorySize</h4>
+<pre>public static&nbsp;long&nbsp;getInMemorySize(int&nbsp;valuesCount)</pre>
+</li>
+</ul>
+<a name="hasZeroTuple-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasZeroTuple</h4>
+<pre>public&nbsp;int&nbsp;hasZeroTuple(int&nbsp;ncol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">ADictionary</a></code></span></div>
+<div class="block">Determines if the content has a zero tuple. meaning all values at a specific row are zero value. This is useful
+ information to find out if the dictionary is used in a dense context. To improve some specific operations.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#hasZeroTuple-int-">hasZeroTuple</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ncol</code> - The number of columns in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The index at which the zero tuple is located.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public&nbsp;double&nbsp;aggregate(double&nbsp;init,
+                        <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">ADictionary</a></code></span></div>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>init</code> - The initial Value, in cases such as Max value, this could be -infinity</dd>
+<dd><code>fn</code> - The Function to apply to values</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The aggregated value as a double.</dd>
+</dl>
+</li>
+</ul>
+<a name="apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>apply</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;apply(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ADictionary</a></code></span></div>
+<div class="block">Applies the scalar operation on the dictionary. Note that this operation modifies the underlying data, and
+ normally require a copy of the original Dictionary to preserve old objects.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this dictionary with modified values.</dd>
+</dl>
+</li>
+</ul>
+<a name="applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>applyScalarOp</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;applyScalarOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+                                 double&nbsp;newVal,
+                                 int&nbsp;numCols)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">ADictionary</a></code></span></div>
+<div class="block">Applies the scalar operation on the dictionary. The returned dictionary should contain a new instance of the
+ underlying data. Therefore it will not modify the previous object.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>op</code> - The operator to apply to the dictionary values.</dd>
+<dd><code>newVal</code> - The value to append to the dictionary.</dd>
+<dd><code>numCols</code> - The number of columns stored in the dictionary.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Another dictionary with modified values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getValuesLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValuesLength</h4>
+<pre>public&nbsp;int&nbsp;getValuesLength()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">ADictionary</a></code></span></div>
+<div class="block">returns the count of values contained in the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getValuesLength--">getValuesLength</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an integer of count of values.</dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;clone()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">ADictionary</a></code></span></div>
+<div class="block">Returns a deep clone of the dictionary.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="read-java.io.DataInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>read</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a>&nbsp;read(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="write-java.io.DataOutput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>write</h4>
+<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">ADictionary</a></code></span></div>
+<div class="block">Write the dictionary to a DataOutput.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>out</code> - the output sink to write the dictionary to.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the sink fails.</dd>
+</dl>
+</li>
+</ul>
+<a name="getExactSizeOnDisk--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExactSizeOnDisk</h4>
+<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">ADictionary</a></code></span></div>
+<div class="block">Calculate the space consumption if the dictionary is stored on disk.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the long count of bytes to store the dictionary.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumberOfValues-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumberOfValues</h4>
+<pre>public&nbsp;int&nbsp;getNumberOfValues(int&nbsp;nCol)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">ADictionary</a></code></span></div>
+<div class="block">Get the number of values given that the column group has n columns</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#getNumberOfValues-int-">getNumberOfValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nCol</code> - The number of Columns in the ColumnGroup.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of value tuples contained in the dictionary.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QDictionary.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/QDictionary.html" target="_top">Frames</a></li>
+<li><a href="QDictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
index ce0b25e..3425402 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
@@ -260,7 +260,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html
new file mode 100644
index 0000000..822b101
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.ADictionary (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ADictionary (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html" target="_top">Frames</a></li>
+<li><a href="ADictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ADictionary" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ADictionary</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></span></code>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></span></code>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#clone--">clone</a></span>()</code>
+<div class="block">Returns a deep clone of the dictionary.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#read-java.io.DataInput-boolean-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
+    boolean&nbsp;lossy)</code>
+<div class="block">The read function to instantiate the dictionary.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html" target="_top">Frames</a></li>
+<li><a href="ADictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html
index fee1b6b..0cee82c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html
@@ -111,8 +111,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettings.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>&nbsp;</td>
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettings.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html#validCompressions">validCompressions</a></span></code>
+<div class="block">Valid Compressions List, containing the ColGroup CompressionTypes that are allowed to be used for the compression
+ Default is to always allow for Uncompromisable ColGroup.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -130,6 +133,21 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#addValidCompression-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-">addValidCompression</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;cp)</code>
+<div class="block">Add a single valid compression type to the EnumSet of valid compressions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -138,7 +156,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.List-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompressionSettingsBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#setValidCompressions-java.util.EnumSet-">setValidCompressions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressions)</code>
+<div class="block">Set the valid compression strategies used for the compression.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -200,11 +220,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
@@ -262,8 +282,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-java.util.List-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html
index 25b4143..c5774c6 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html
@@ -209,11 +209,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
@@ -281,8 +281,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-boolean-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in,
-          boolean&nbsp;_sharedDDC1Dict)</code>
+<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#readGroups-java.io.DataInput-">readGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
 <div class="block">Read groups from a file.</div>
 </td>
 </tr>
@@ -327,9 +326,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-boolean-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
-           boolean&nbsp;_sharedDDC1Dict,
-           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;_colGroups)</code>
+<td class="colLast"><span class="typeNameLabel">ColGroupIO.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html#writeGroups-java.io.DataOutput-java.util.List-">writeGroups</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out,
+           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups)</code>
 <div class="block">Writes the ColGroups out to the DataOutput.</div>
 </td>
 </tr>
@@ -342,17 +340,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-java.util.List-">ColGroupUncompressed</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;groupsToDecompress)</code>
-<div class="block">Constructor for creating temporary decompressed versions of one or more compressed column groups.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html#DenseRowIterator-int-int-java.util.List-int-">DenseRowIterator</a></span>(int&nbsp;rl,
                 int&nbsp;ru,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
                 int&nbsp;clen)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html#SparseRowIterator-int-int-java.util.List-int-">SparseRowIterator</a></span>(int&nbsp;rl,
                  int&nbsp;ru,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&gt;&nbsp;colGroups,
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
index d5d8050..b3ff7d9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html
@@ -118,40 +118,6 @@
 </tr>
 </tbody>
 </table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html
index 2703a86..912ef22 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html
@@ -72,59 +72,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">computeRowSums</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-              <a href="../../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-              int&nbsp;rl,
-              int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
index ea154f7..78f36b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html
@@ -95,22 +95,6 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></span></code>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
-</td>
-</tr>
-</tbody>
-</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -124,20 +108,17 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#clone--">clone</a></span>()</code>&nbsp;</td>
 </tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setDictionary-org.apache.sysds.runtime.compress.colgroup.Dictionary-">setDictionary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a>&nbsp;dict)</code>&nbsp;</td>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html
new file mode 100644
index 0000000..ca98311
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.QDictionary (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.QDictionary (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html" target="_top">Frames</a></li>
+<li><a href="QDictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.QDictionary" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.QDictionary</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#clone--">clone</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#read-java.io.DataInput-">read</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html" target="_top">Frames</a></li>
+<li><a href="QDictionary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
index 07a7c1e..477d152 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-frame.html
@@ -13,6 +13,7 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ADictionary</a></li>
 <li><a href="ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroup</a></li>
 <li><a href="ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupConverter</a></li>
 <li><a href="ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupDDC</a></li>
@@ -28,7 +29,7 @@
 <li><a href="ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">ColGroupValue</a></li>
 <li><a href="DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DenseRowIterator</a></li>
 <li><a href="Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">Dictionary</a></li>
-<li><a href="DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">DictionaryShared</a></li>
+<li><a href="QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">QDictionary</a></li>
 <li><a href="SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup" target="classFrame">SparseRowIterator</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
index 13ef920..dd76d75 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-summary.html
@@ -83,104 +83,111 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></td>
+<td class="colLast">
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></td>
 <td class="colLast">
 <div class="block">Class that stores information about a column group within a compressed matrix block.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConverter</a></td>
 <td class="colLast">
 <div class="block">Utility functions for ColGroup to convert ColGroups or MatrixBlocks.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></td>
 <td class="colLast">
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a></td>
 <td class="colLast">
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
  byte codes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC2</a></td>
 <td class="colLast">
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 2
  byte codes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></td>
 <td class="colLast">
 <div class="block">Factory pattern for constructing ColGroups.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></td>
 <td class="colLast">
 <div class="block">This has the IO responsibility of ColGroups, such that it enables to read and write ColGroups to and from a DataInput
  and DataOutput</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a></td>
 <td class="colLast">
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></td>
 <td class="colLast">
 <div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
  distinct values.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></td>
 <td class="colLast">
 <div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></td>
 <td class="colLast">
 <div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></td>
 <td class="colLast">
 <div class="block">Base class for column groups encoded with value dictionary.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">DenseRowIterator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></td>
 <td class="colLast">
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></td>
+<td class="colLast">
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></td>
-<td class="colLast">
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup">SparseRowIterator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
index d29396f..6269633 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-tree.html
@@ -81,6 +81,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">QDictionary</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroup</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupUncompressed</span></a></li>
@@ -107,11 +113,6 @@
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupIO</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ColGroupSizes</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DenseRowIterator</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DictionaryShared</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/SparseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">SparseRowIterator</span></a></li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
index dd2bb26..8efdab0 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/colgroup/package-use.html
@@ -135,28 +135,28 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ADictionary.html#org.apache.sysds.runtime.compress.colgroup">ADictionary</a>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.html#org.apache.sysds.runtime.compress.colgroup">ColGroup</a>
 <div class="block">Class that stores information about a column group within a compressed matrix block.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroup.CompressionType.html#org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>
 <div class="block">Public Group types supported
  
  Note For instance DDC is called DDC not DDC1, or DDC2 which is a specific subtype of the DDC.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC.html#org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupDDC1.html#org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>
-<div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC) using 1
- byte codes.</div>
-</td>
-</tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/ColGroupOffset.html#org.apache.sysds.runtime.compress.colgroup">ColGroupOffset</a>
 <div class="block">Base class for column groups encoded with various types of bitmap encoding.</div>
@@ -169,14 +169,14 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/Dictionary.html#org.apache.sysds.runtime.compress.colgroup">Dictionary</a>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html#org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a>
-<div class="block">This dictionary class aims to encapsulate the storage and operations over
- unique floating point values of a column group.</div>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/class-use/QDictionary.html#org.apache.sysds.runtime.compress.colgroup">QDictionary</a>
+<div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
+ group.</div>
 </td>
 </tr>
 </tbody>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
index 3f18eec..bc4835f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -136,34 +136,28 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos--">computeCompressedSizeInfos</a></span>()</code>
-<div class="block">Single threaded version of extracting Compression Size info</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a></span>(int&nbsp;k)</code>
 <div class="block">Multi threaded version of extracting Compression Size info</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a></span>()</code>
 <div class="block">Method used for compressing into one type of colGroup</div>
 </td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
+</td>
+</tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-int:A-">estimateCompressedColGroupSize</a></span>(int[]&nbsp;colIndexes)</code>
 <div class="block">Abstract method for extracting Compressed Size Info of specified columns, together in a single ColGroup</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitMap.</div>
-</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -186,20 +180,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="computeCompressedSizeInfos--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>computeCompressedSizeInfos</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;computeCompressedSizeInfos()</pre>
-<div class="block">Single threaded version of extracting Compression Size info</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The Compression Size info of each Column compressed isolated.</dd>
-</dl>
-</li>
-</ul>
 <a name="computeCompressedSizeInfos-int-">
 <!--   -->
 </a>
@@ -246,19 +226,19 @@
 </dl>
 </li>
 </ul>
-<a name="estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">
+<a name="estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>estimateCompressedColGroupSize</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;estimateCompressedColGroupSize(<a href="../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</pre>
-<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitMap. Note this
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;estimateCompressedColGroupSize(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</pre>
+<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap. Note this
  method works both for the sample based estimator and the exact estimator, since the bitmap, can be extracted from
  a sample or from the entire dataset.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ubm</code> - the UncompressedBitMap, either extracted from a sample or from the entier dataset</dd>
+<dd><code>ubm</code> - the UncompressedBitmap, either extracted from a sample or from the entier dataset</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The size factors estimated from the Bit Map.</dd>
 </dl>
@@ -292,7 +272,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Prev&nbsp;Class</li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
index c6def32..1d8babc 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html
@@ -165,7 +165,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos--">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
index 682137b..f0fd7a8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -117,25 +117,6 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html#EXTRACT_SAMPLE_ONCE">EXTRACT_SAMPLE_ONCE</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -186,27 +167,6 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="EXTRACT_SAMPLE_ONCE">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EXTRACT_SAMPLE_ONCE</h4>
-<pre>public static final&nbsp;boolean EXTRACT_SAMPLE_ONCE</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.sysds.runtime.compress.estim.CompressedSizeEstimatorFactory.EXTRACT_SAMPLE_ONCE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -294,13 +254,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
index a352810..b5a490e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html
@@ -167,7 +167,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos--">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize--">estimateCompressedColGroupSize</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
index 5ac2aff..3d59eb1 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" target="_top">Frames</a></li>
@@ -130,8 +130,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-java.util.List-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -198,14 +198,14 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-java.util.List-">
+<a name="CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompressedSizeInfoColGroup</h4>
-<pre>public&nbsp;CompressedSizeInfoColGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;fact,
-                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</pre>
+<pre>public&nbsp;CompressedSizeInfoColGroup(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
+                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</pre>
 </li>
 </ul>
 </li>
@@ -309,7 +309,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
similarity index 70%
rename from docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html
rename to docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
index 1c778fc..f4c952e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/EstimationFactors.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>CompressedSizeEstimationFactors (SystemDS 2.0.0-SNAPSHOT API)</title>
+<title>EstimationFactors (SystemDS 2.0.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CompressedSizeEstimationFactors (SystemDS 2.0.0-SNAPSHOT API)";
+            parent.document.title="EstimationFactors (SystemDS 2.0.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CompressedSizeEstimationFactors.html">Use</a></li>
+<li><a href="class-use/EstimationFactors.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" target="_top">Frames</a></li>
-<li><a href="CompressedSizeEstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/EstimationFactors.html" target="_top">Frames</a></li>
+<li><a href="EstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,29 +93,24 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.sysds.runtime.compress.estim</div>
-<h2 title="Class CompressedSizeEstimationFactors" class="title">Class CompressedSizeEstimationFactors</h2>
+<h2 title="Class EstimationFactors" class="title">Class EstimationFactors</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors</li>
+<li>org.apache.sysds.runtime.compress.estim.EstimationFactors</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&gt;</dd>
-</dl>
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">CompressedSizeEstimationFactors</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&gt;</pre>
+<pre>public class <span class="typeNameLabel">EstimationFactors</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Compressed Size Estimation factors. Contains meta information used to estimate the compression sizes of given columns
  into given CompressionFormats</div>
 </li>
@@ -137,12 +132,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html#compareTo-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html#toString--">toString</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -166,19 +157,6 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="compareTo-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;that)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&gt;</code></dd>
-</dl>
-</li>
-</ul>
 <a name="toString--">
 <!--   -->
 </a>
@@ -211,7 +189,7 @@
 <li><a href="../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CompressedSizeEstimationFactors.html">Use</a></li>
+<li><a href="class-use/EstimationFactors.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../../index-all.html">Index</a></li>
@@ -220,12 +198,12 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" target="_top">Frames</a></li>
-<li><a href="CompressedSizeEstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/estim/EstimationFactors.html" target="_top">Frames</a></li>
+<li><a href="EstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html
deleted file mode 100644
index 33664ca..0000000
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors (SystemDS 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors (SystemDS 2.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html" target="_top">Frames</a></li>
-<li><a href="CompressedSizeEstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.UncompressedBitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm)</code>
-<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitMap.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimationFactors.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html#compareTo-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-">compareTo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimationFactors-java.util.List-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>&nbsp;fact,
-                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html" target="_top">Frames</a></li>
-<li><a href="CompressedSizeEstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
index ed6f793..b8ed52c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html
@@ -108,10 +108,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCocodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-">findCocodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
-                         int&nbsp;k)</code>
+                         int&nbsp;k,
+                         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
index 5d4d147..fc36e0f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html
@@ -108,10 +108,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;int[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCocodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-">findCocodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
+<td class="colLast"><span class="typeNameLabel">PlanningCoCoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/cocode/PlanningCoCoder.html#findCoCodesByPartitioning-org.apache.sysds.runtime.compress.estim.CompressedSizeEstimator-org.apache.sysds.runtime.compress.estim.CompressedSizeInfo-int-int-org.apache.sysds.runtime.compress.CompressionSettings-">findCoCodesByPartitioning</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>&nbsp;sizeEstimator,
                          <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>&nbsp;colInfos,
                          int&nbsp;numRows,
-                         int&nbsp;k)</code>
+                         int&nbsp;k,
+                         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs)</code>
 <div class="block">Main entry point of CoCode.</div>
 </td>
 </tr>
@@ -131,12 +132,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos--">computeCompressedSizeInfos</a></span>()</code>
-<div class="block">Single threaded version of extracting Compression Size info</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#computeCompressedSizeInfos-int-">computeCompressedSizeInfos</a></span>(int&nbsp;k)</code>
 <div class="block">Multi threaded version of extracting Compression Size info</div>
 </td>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html
new file mode 100644
index 0000000..97cb24b
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.estim.EstimationFactors (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.estim.EstimationFactors (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html" target="_top">Frames</a></li>
+<li><a href="EstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.estim.EstimationFactors" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.estim.EstimationFactors</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html#CompressedSizeInfoColGroup-org.apache.sysds.runtime.compress.estim.EstimationFactors-java.util.Set-">CompressedSizeInfoColGroup</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a>&nbsp;fact,
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&gt;&nbsp;validCompressionTypes)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html" target="_top">Frames</a></li>
+<li><a href="EstimationFactors.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-frame.html
index 6c76bee..fe5409b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-frame.html
@@ -13,13 +13,13 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
-<li><a href="CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimationFactors</a></li>
 <li><a href="CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimator</a></li>
 <li><a href="CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimatorExact</a></li>
 <li><a href="CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimatorFactory</a></li>
 <li><a href="CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeEstimatorSample</a></li>
 <li><a href="CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeInfo</a></li>
 <li><a href="CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">CompressedSizeInfoColGroup</a></li>
+<li><a href="EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim" target="classFrame">EstimationFactors</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
index 18041fd..ad2ed47 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-summary.html
@@ -83,43 +83,43 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a></td>
-<td class="colLast">
-<div class="block">Compressed Size Estimation factors.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></td>
 <td class="colLast">
 <div class="block">Main abstract class for estimating size of compressions on columns.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></td>
 <td class="colLast">
 <div class="block">Exact compressed size estimator (examines entire dataset).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorSample</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></td>
 <td class="colLast">
 <div class="block">A helper reusable object for maintaining information about estimated compression</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></td>
 <td class="colLast">
 <div class="block">Information collected about a specific ColGroup's compression size.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></td>
+<td class="colLast">
+<div class="block">Compressed Size Estimation factors.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
index 567d7d8..d521136 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-tree.html
@@ -81,7 +81,6 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimationFactors</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimator</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimatorExact</span></a></li>
@@ -91,6 +90,7 @@
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimatorFactory</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeInfo</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeInfoColGroup</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.estim.<a href="../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">EstimationFactors</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
index 72aed81..2c3f127 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/package-use.html
@@ -125,25 +125,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimationFactors.html#org.apache.sysds.runtime.compress.estim">CompressedSizeEstimationFactors</a>
-<div class="block">Compressed Size Estimation factors.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeEstimator.html#org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a>
 <div class="block">Main abstract class for estimating size of compressions on columns.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfo.html#org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a>
 <div class="block">A helper reusable object for maintaining information about estimated compression</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/CompressedSizeInfoColGroup.html#org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a>
 <div class="block">Information collected about a specific ColGroup's compression size.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/estim/class-use/EstimationFactors.html#org.apache.sysds.runtime.compress.estim">EstimationFactors</a>
+<div class="block">Compressed Size Estimation factors.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
index cd50b75..72ee8b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html
@@ -187,7 +187,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-java.util.HashMap-">haasAndStokes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.utils.ABitmap-int-int-java.util.HashMap-">haasAndStokes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
              int&nbsp;nRows,
              int&nbsp;sampleSize,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;solveCache)</code>
@@ -319,13 +319,13 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="haasAndStokes-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-java.util.HashMap-">
+<a name="haasAndStokes-org.apache.sysds.runtime.compress.utils.ABitmap-int-int-java.util.HashMap-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>haasAndStokes</h4>
-<pre>public static&nbsp;int&nbsp;haasAndStokes(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<pre>public static&nbsp;int&nbsp;haasAndStokes(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
                                 int&nbsp;nRows,
                                 int&nbsp;sampleSize,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;solveCache)</pre>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
index 0891181..bafc5ed 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html
@@ -148,7 +148,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
    int&nbsp;nRows,
    int&nbsp;sampleSize)</code>
 <div class="block">Peter J.</div>
@@ -193,13 +193,13 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">
+<a name="get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre>public static&nbsp;int&nbsp;get(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<pre>public static&nbsp;int&nbsp;get(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
                       int&nbsp;nRows,
                       int&nbsp;sampleSize)</pre>
 <div class="block">Peter J. Haas, Jeffrey F. Naughton, S. Seshadri, and Lynne Stokes. Sampling-Based Estimation of the Number of
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
index cf5a2c6..4721cd9 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html
@@ -148,7 +148,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
    int&nbsp;nRows,
    int&nbsp;sampleSize)</code>
 <div class="block">Peter J.</div>
@@ -193,13 +193,13 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="get-org.apache.sysds.runtime.compress.UncompressedBitmap-int-int-">
+<a name="get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre>public static&nbsp;int&nbsp;get(<a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+<pre>public static&nbsp;int&nbsp;get(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
                       int&nbsp;nRows,
                       int&nbsp;sampleSize)</pre>
 <div class="block">Peter J. Haas, Jeffrey F. Naughton, S. Seshadri, and Lynne Stokes. Sampling-Based Estimation of the Number of
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
index a1fd7c9..52a3bcc 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-frame.html
@@ -24,7 +24,6 @@
 <li><a href="ReaderColumnSelectionDense.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDense</a></li>
 <li><a href="ReaderColumnSelectionDenseSample.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionDenseSample</a></li>
 <li><a href="ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">ReaderColumnSelectionSparse</a></li>
-<li><a href="UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress" target="classFrame">UncompressedBitmap</a></li>
 </ul>
 </div>
 </body>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
index 9e9408c..17a3058 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-summary.html
@@ -142,12 +142,6 @@
  Keeps returning all-zeros arrays until reaching the last possible index.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></td>
-<td class="colLast">
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
index af91153..42e5601 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-tree.html
@@ -106,7 +106,6 @@
 <li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">ReaderColumnSelectionSparse</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">UncompressedBitmap</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
index 10acd85..52025d4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/package-use.html
@@ -87,15 +87,15 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.cocode">org.apache.sysds.runtime.compress.cocode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -131,9 +131,21 @@
 <div class="block">Base class for all column selection readers.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html#org.apache.sysds.runtime.compress">UncompressedBitmap</a>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.cocode">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> used by <a href="../../../../../org/apache/sysds/runtime/compress/cocode/package-summary.html">org.apache.sysds.runtime.compress.cocode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/CompressionSettings.html#org.apache.sysds.runtime.compress.cocode">CompressionSettings</a>
+<div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.</div>
 </td>
 </tr>
 </tbody>
@@ -153,11 +165,6 @@
 <div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html#org.apache.sysds.runtime.compress.colgroup">UncompressedBitmap</a>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -175,28 +182,6 @@
 <div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html#org.apache.sysds.runtime.compress.estim">UncompressedBitmap</a>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim.sample">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> used by <a href="../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/compress/class-use/UncompressedBitmap.html#org.apache.sysds.runtime.compress.estim.sample">UncompressedBitmap</a>
-<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html
new file mode 100644
index 0000000..c324e26
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ABitmap.BitmapType (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ABitmap.BitmapType (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ABitmap.BitmapType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.BitmapType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
+<h2 title="Enum ABitmap.BitmapType" class="title">Enum ABitmap.BitmapType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.utils.ABitmap.BitmapType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">ABitmap.BitmapType</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#Full">Full</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#Lossy">Lossy</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="Lossy">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Lossy</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a> Lossy</pre>
+</li>
+</ul>
+<a name="Full">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Full</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a> Full</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (ABitmap.BitmapType c : ABitmap.BitmapType.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ABitmap.BitmapType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.BitmapType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html
new file mode 100644
index 0000000..1e5d9c7
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/ABitmap.html
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ABitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ABitmap (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":6,"i8":10,"i9":6,"i10":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ABitmap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ABitmap.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
+<h2 title="Class ABitmap" class="title">Class ABitmap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.utils.ABitmap</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ABitmap</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#ABitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">ABitmap</a></span>(int&nbsp;numCols,
+       <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+       int&nbsp;numZeroGroups)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#containsZero--">containsZero</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets--">getNumOffsets</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets-int-">getNumOffsets</a></span>(int&nbsp;ix)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumValues--">getNumValues</a></span>()</code>
+<div class="block">Obtain number of distinct value groups in the column.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetList--">getOffsetList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;idx)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getZeroCounts--">getZeroCounts</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#sortValuesByFrequency--">sortValuesByFrequency</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ABitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ABitmap</h4>
+<pre>public&nbsp;ABitmap(int&nbsp;numCols,
+               <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+               int&nbsp;numZeroGroups)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getNumColumns--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumColumns</h4>
+<pre>public&nbsp;int&nbsp;getNumColumns()</pre>
+</li>
+</ul>
+<a name="getNumValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumValues</h4>
+<pre>public abstract&nbsp;int&nbsp;getNumValues()</pre>
+<div class="block">Obtain number of distinct value groups in the column. this number is also the number of bitmaps, since there is
+ one bitmap per value</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of distinct value groups in the column;</dd>
+</dl>
+</li>
+</ul>
+<a name="getOffsetList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOffsetList</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;getOffsetList()</pre>
+</li>
+</ul>
+<a name="getOffsetsList-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOffsetsList</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;getOffsetsList(int&nbsp;idx)</pre>
+</li>
+</ul>
+<a name="getNumOffsets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumOffsets</h4>
+<pre>public&nbsp;long&nbsp;getNumOffsets()</pre>
+</li>
+</ul>
+<a name="getNumOffsets-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumOffsets</h4>
+<pre>public&nbsp;int&nbsp;getNumOffsets(int&nbsp;ix)</pre>
+</li>
+</ul>
+<a name="sortValuesByFrequency--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortValuesByFrequency</h4>
+<pre>public abstract&nbsp;void&nbsp;sortValuesByFrequency()</pre>
+</li>
+</ul>
+<a name="containsZero--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>containsZero</h4>
+<pre>public&nbsp;boolean&nbsp;containsZero()</pre>
+</li>
+</ul>
+<a name="getZeroCounts--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getZeroCounts</h4>
+<pre>public&nbsp;int&nbsp;getZeroCounts()</pre>
+</li>
+</ul>
+<a name="getType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getType</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&nbsp;getType()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ABitmap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/ABitmap.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html
new file mode 100644
index 0000000..8cdc785
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/Bitmap.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Bitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Bitmap (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Bitmap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/Bitmap.html" target="_top">Frames</a></li>
+<li><a href="Bitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
+<h2 title="Class Bitmap" class="title">Class Bitmap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils.ABitmap</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.utils.Bitmap</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">Bitmap</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></pre>
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#Bitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-double:A-">Bitmap</a></span>(int&nbsp;numCols,
+      <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+      int&nbsp;numZeroGroups,
+      double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#getNumValues--">getNumValues</a></span>()</code>
+<div class="block">Obtain number of distinct value groups in the column.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all values without unnecessary allocations and copies.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>double[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#getValues-int-">getValues</a></span>(int&nbsp;ix)</code>
+<div class="block">Obtain tuple of column values associated with index.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#sortValuesByFrequency--">sortValuesByFrequency</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#containsZero--">containsZero</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets--">getNumOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets-int-">getNumOffsets</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetList--">getOffsetList</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetsList-int-">getOffsetsList</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getZeroCounts--">getZeroCounts</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Bitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-double:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Bitmap</h4>
+<pre>public&nbsp;Bitmap(int&nbsp;numCols,
+              <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+              int&nbsp;numZeroGroups,
+              double[]&nbsp;values)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;double[]&nbsp;getValues()</pre>
+<div class="block">Get all values without unnecessary allocations and copies.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>dictionary of value tuples</dd>
+</dl>
+</li>
+</ul>
+<a name="getValues-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;double[]&nbsp;getValues(int&nbsp;ix)</pre>
+<div class="block">Obtain tuple of column values associated with index.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ix</code> - index of a particular distinct value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the tuple of column values associated with the specified index</dd>
+</dl>
+</li>
+</ul>
+<a name="getNumValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumValues</h4>
+<pre>public&nbsp;int&nbsp;getNumValues()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumValues--">ABitmap</a></code></span></div>
+<div class="block">Obtain number of distinct value groups in the column. this number is also the number of bitmaps, since there is
+ one bitmap per value</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumValues--">getNumValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of distinct value groups in the column;</dd>
+</dl>
+</li>
+</ul>
+<a name="sortValuesByFrequency--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortValuesByFrequency</h4>
+<pre>public&nbsp;void&nbsp;sortValuesByFrequency()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#sortValuesByFrequency--">sortValuesByFrequency</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&nbsp;getType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getType--">getType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Bitmap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/Bitmap.html" target="_top">Frames</a></li>
+<li><a href="Bitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html
new file mode 100644
index 0000000..545e9e8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/BitmapLossy.html
@@ -0,0 +1,475 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BitmapLossy (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BitmapLossy (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BitmapLossy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/BitmapLossy.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.compress.utils</div>
+<h2 title="Class BitmapLossy" class="title">Class BitmapLossy</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils.ABitmap</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.compress.utils.BitmapLossy</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">BitmapLossy</span>
+extends <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></pre>
+<div class="block">Uncompressed but Quantized representation of contained data.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#BitmapLossy-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-byte:A-double-">BitmapLossy</a></span>(int&nbsp;numCols,
+           <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+           int&nbsp;numZeroGroups,
+           byte[]&nbsp;values,
+           double&nbsp;scale)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumOffsets--">getNumOffsets</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumOffsets-int-">getNumOffsets</a></span>(int&nbsp;ix)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getNumValues--">getNumValues</a></span>()</code>
+<div class="block">Obtain number of distinct values in the column.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;ix)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getScale--">getScale</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getValues--">getValues</a></span>()</code>
+<div class="block">Get all values without unnecessary allocations and copies.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getValues-int-">getValues</a></span>(int&nbsp;ix)</code>
+<div class="block">Obtain tuple of column values associated with index.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#sortValuesByFrequency--">sortValuesByFrequency</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></h3>
+<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#containsZero--">containsZero</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumColumns--">getNumColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetList--">getOffsetList</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getZeroCounts--">getZeroCounts</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BitmapLossy-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-byte:A-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BitmapLossy</h4>
+<pre>public&nbsp;BitmapLossy(int&nbsp;numCols,
+                   <a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+                   int&nbsp;numZeroGroups,
+                   byte[]&nbsp;values,
+                   double&nbsp;scale)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;byte[]&nbsp;getValues()</pre>
+<div class="block">Get all values without unnecessary allocations and copies.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>dictionary of value tuples</dd>
+</dl>
+</li>
+</ul>
+<a name="getValues-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValues</h4>
+<pre>public&nbsp;byte[]&nbsp;getValues(int&nbsp;ix)</pre>
+<div class="block">Obtain tuple of column values associated with index.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ix</code> - index of a particular distinct value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the tuple of column values associated with the specified index</dd>
+</dl>
+</li>
+</ul>
+<a name="getScale--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScale</h4>
+<pre>public&nbsp;double&nbsp;getScale()</pre>
+</li>
+</ul>
+<a name="getNumValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumValues</h4>
+<pre>public&nbsp;int&nbsp;getNumValues()</pre>
+<div class="block">Obtain number of distinct values in the column.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumValues--">getNumValues</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of distinct values in the column; this number is also the number of bitmaps, since there is one
+         bitmap per value</dd>
+</dl>
+</li>
+</ul>
+<a name="getOffsetsList-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOffsetsList</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;getOffsetsList(int&nbsp;ix)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetsList-int-">getOffsetsList</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumOffsets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumOffsets</h4>
+<pre>public&nbsp;long&nbsp;getNumOffsets()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets--">getNumOffsets</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNumOffsets-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumOffsets</h4>
+<pre>public&nbsp;int&nbsp;getNumOffsets(int&nbsp;ix)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getNumOffsets-int-">getNumOffsets</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="sortValuesByFrequency--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortValuesByFrequency</h4>
+<pre>public&nbsp;void&nbsp;sortValuesByFrequency()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#sortValuesByFrequency--">sortValuesByFrequency</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getType</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&nbsp;getType()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getType--">getType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BitmapLossy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/utils/BitmapLossy.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.utils.ABitmap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html
index 8f58b76..9b62195 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -269,7 +269,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
index e9c5bff..245c00e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html
@@ -18,6 +18,12 @@
     catch(err) {
     }
 //-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
 </script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -71,13 +77,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a name="skip.navbar.top">
@@ -102,13 +108,18 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;</dd>
+</dl>
+<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">DblArrayIntListHashMap.DArrayIListEntry</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -166,6 +177,22 @@
 <!--   -->
 </a>
 <h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compare</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o1,
+       <a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o2)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+</table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
@@ -173,6 +200,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Comparator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparing-java.util.function.Function-" title="class or interface in java.util">comparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparing-java.util.function.Function-java.util.Comparator-" title="class or interface in java.util">comparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingDouble-java.util.function.ToDoubleFunction-" title="class or interface in java.util">comparingDouble</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingInt-java.util.function.ToIntFunction-" title="class or interface in java.util">comparingInt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingLong-java.util.function.ToLongFunction-" title="class or interface in java.util">comparingLong</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#naturalOrder--" title="class or interface in java.util">naturalOrder</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#nullsFirst-java.util.Comparator-" title="class or interface in java.util">nullsFirst</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#nullsLast-java.util.Comparator-" title="class or interface in java.util">nullsLast</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#reversed--" title="class or interface in java.util">reversed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#reverseOrder--" title="class or interface in java.util">reverseOrder</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.Comparator-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.function.Function-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.function.Function-java.util.Comparator-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingDouble-java.util.function.ToDoubleFunction-" title="class or interface in java.util">thenComparingDouble</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingInt-java.util.function.ToIntFunction-" title="class or interface in java.util">thenComparingInt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingLong-java.util.function.ToLongFunction-" title="class or interface in java.util">thenComparingLong</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -234,6 +268,41 @@
 </ul>
 </li>
 </ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="compare-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compare</h4>
+<pre>public&nbsp;int&nbsp;compare(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o1,
+                   <a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o2)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#compare-T-T-" title="class or interface in java.util">compare</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="compareTo-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 </li>
 </ul>
 </div>
@@ -288,13 +357,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a name="skip.navbar.bottom">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
index 5414bb1..15c0675 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html
@@ -117,10 +117,7 @@
 <pre>public class <span class="typeNameLabel">DblArrayIntListHashMap</span>
 extends <a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></pre>
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;DblArray,IntArrayList&gt;</code> for restricted use
- cases.
- 
- TODO: Fix allocation of size such that it contains some amount of overhead from the start, to enable hashmap
- performance.</div>
+ cases.</div>
 </li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
index 7124466..3da9d31 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html
@@ -18,6 +18,12 @@
     catch(err) {
     }
 //-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
 </script>
 <noscript>
 <div>JavaScript is disabled on your browser.</div>
@@ -71,13 +77,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a name="skip.navbar.top">
@@ -102,13 +108,18 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;</dd>
+</dl>
+<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">DoubleIntListHashMap.DIListEntry</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -166,6 +177,22 @@
 <!--   -->
 </a>
 <h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compare</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg0,
+       <a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg1)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+</table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
@@ -173,6 +200,13 @@
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Comparator">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparing-java.util.function.Function-" title="class or interface in java.util">comparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparing-java.util.function.Function-java.util.Comparator-" title="class or interface in java.util">comparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingDouble-java.util.function.ToDoubleFunction-" title="class or interface in java.util">comparingDouble</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingInt-java.util.function.ToIntFunction-" title="class or interface in java.util">comparingInt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#comparingLong-java.util.function.ToLongFunction-" title="class or interface in java.util">comparingLong</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#naturalOrder--" title="class or interface in java.util">naturalOrder</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#nullsFirst-java.util.Comparator-" title="class or interface in java.util">nullsFirst</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#nullsLast-java.util.Comparator-" title="class or interface in java.util">nullsLast</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#reversed--" title="class or interface in java.util">reversed</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#reverseOrder--" title="class or interface in java.util">reverseOrder</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.Comparator-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.function.Function-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparing-java.util.function.Function-java.util.Comparator-" title="class or interface in java.util">thenComparing</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingDouble-java.util.function.ToDoubleFunction-" title="class or interface in java.util">thenComparingDouble</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingInt-java.util.function.ToIntFunction-" title="class or interface in java.util">thenComparingInt</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#thenComparingLong-java.util.function.ToLongFunction-" title="class or interface in java.util">thenComparingLong</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -234,6 +268,41 @@
 </ul>
 </li>
 </ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="compareTo-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="compare-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compare</h4>
+<pre>public&nbsp;int&nbsp;compare(<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg0,
+                   <a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg1)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true#compare-T-T-" title="class or interface in java.util">compare</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 </li>
 </ul>
 </div>
@@ -288,13 +357,13 @@
 <li>Nested&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a name="skip.navbar.bottom">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
index ee3f475..8a8963f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/IntArrayList.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -135,6 +135,9 @@
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#IntArrayList-int-">IntArrayList</a></span>(int&nbsp;value)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#IntArrayList-int:A-">IntArrayList</a></span>(int[]&nbsp;values)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -168,13 +171,17 @@
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -202,12 +209,21 @@
 <a name="IntArrayList-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>IntArrayList</h4>
 <pre>public&nbsp;IntArrayList(int&nbsp;value)</pre>
 </li>
 </ul>
+<a name="IntArrayList-int:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IntArrayList</h4>
+<pre>public&nbsp;IntArrayList(int[]&nbsp;values)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -252,12 +268,25 @@
 <a name="extractValues-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>extractValues</h4>
 <pre>public&nbsp;int[]&nbsp;extractValues(boolean&nbsp;trim)</pre>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
index 1af2da6..1317768 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -111,8 +111,8 @@
 <br>
 <pre>public class <span class="typeNameLabel">LinearAlgebraUtils</span>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">This library contains all vector primitives that are used in compressed linear algebra. For primitives that exist
- in LibMatrixMult, these calls are simply forwarded to ensure consistency in performance and result correctness.</div>
+<div class="block">This library contains all vector primitives that are used in compressed linear algebra. For primitives that exist in
+ LibMatrixMult, these calls are simply forwarded to ensure consistency in performance and result correctness.</div>
 </li>
 </ul>
 </div>
@@ -194,7 +194,9 @@
        char[]&nbsp;bix,
        int&nbsp;bi,
        int&nbsp;ci,
-       int&nbsp;len)</code>&nbsp;</td>
+       int&nbsp;len)</code>
+<div class="block">Add aval to a series of indexes in c.</div>
+</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
@@ -205,6 +207,22 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-byte:A-int-int-">vectListAdd</a></span>(double[]&nbsp;values,
+           double[]&nbsp;c,
+           byte[]&nbsp;bix,
+           int&nbsp;rl,
+           int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectListAdd-double:A-double:A-char:A-int-int-">vectListAdd</a></span>(double[]&nbsp;values,
+           double[]&nbsp;c,
+           char[]&nbsp;bix,
+           int&nbsp;rl,
+           int&nbsp;ru)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectMultiplyAdd-double-double:A-double:A-int:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
                double[]&nbsp;c,
@@ -213,7 +231,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectMultiplyAdd-double-double:A-double:A-int-int-int-">vectMultiplyAdd</a></span>(double&nbsp;aval,
                double[]&nbsp;b,
@@ -222,7 +240,7 @@
                int&nbsp;ci,
                int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectSum-double:A-char:A-int-int-int-">vectSum</a></span>(double[]&nbsp;a,
        char[]&nbsp;bix,
@@ -230,7 +248,7 @@
        int&nbsp;bi,
        int&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html#vectSum-double:A-int-int-">vectSum</a></span>(double[]&nbsp;a,
        int&nbsp;ai,
@@ -353,6 +371,42 @@
                            int&nbsp;bi,
                            int&nbsp;ci,
                            int&nbsp;len)</pre>
+<div class="block">Add aval to a series of indexes in c.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>aval</code> - the value to add</dd>
+<dd><code>c</code> - The output vector to add on</dd>
+<dd><code>bix</code> - The indexes. Note that it is char so it only supports adding to a block at a time.</dd>
+<dd><code>bi</code> - The index to start at inside bix.</dd>
+<dd><code>ci</code> - An Offset into c, to enable adding values to indexes that are higher than char size.</dd>
+<dd><code>len</code> - The number of indexes to take.</dd>
+</dl>
+</li>
+</ul>
+<a name="vectListAdd-double:A-double:A-char:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>vectListAdd</h4>
+<pre>public static&nbsp;void&nbsp;vectListAdd(double[]&nbsp;values,
+                               double[]&nbsp;c,
+                               char[]&nbsp;bix,
+                               int&nbsp;rl,
+                               int&nbsp;ru)</pre>
+</li>
+</ul>
+<a name="vectListAdd-double:A-double:A-byte:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>vectListAdd</h4>
+<pre>public static&nbsp;void&nbsp;vectListAdd(double[]&nbsp;values,
+                               double[]&nbsp;c,
+                               byte[]&nbsp;bix,
+                               int&nbsp;rl,
+                               int&nbsp;ru)</pre>
 </li>
 </ul>
 <a name="vectAdd-double-double:A-int-int-">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html
new file mode 100644
index 0000000..12da7a8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap.BitmapType (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap.BitmapType (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.BitmapType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap.BitmapType" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.ABitmap.BitmapType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ABitmap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Bitmap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#getType--">getType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ABitmap.BitmapType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ABitmap.BitmapType.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.BitmapType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html
new file mode 100644
index 0000000..b69f3a8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.ABitmap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.ABitmap</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
+             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
+             <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
+<div class="block">Generate uncompressed bitmaps for a set of columns in an uncompressed matrix block.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+        int&nbsp;rlen,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
+        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
+<div class="block">Method for compressing an ColGroup.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedSizeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html#estimateCompressedColGroupSize-org.apache.sysds.runtime.compress.utils.ABitmap-">estimateCompressedColGroupSize</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm)</code>
+<div class="block">Method used to extract the CompressedSizeEstimationFactors from an constructed UncompressedBitmap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim.sample">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">HassAndStokes.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html#haasAndStokes-org.apache.sysds.runtime.compress.utils.ABitmap-int-int-java.util.HashMap-">haasAndStokes</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
+             int&nbsp;nRows,
+             int&nbsp;sampleSize,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;solveCache)</code>
+<div class="block">Haas, Peter J., and Lynne Stokes.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></span></code>
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></span></code>
+<div class="block">Uncompressed but Quantized representation of contained data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html" target="_top">Frames</a></li>
+<li><a href="ABitmap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
similarity index 63%
copy from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html
copy to docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
index 3c99f71..95c534b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.utils.Bitmap (SystemDS 2.0.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.Bitmap (SystemDS 2.0.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html" target="_top">Frames</a></li>
+<li><a href="Bitmap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,20 +70,20 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.DictionaryShared</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.Bitmap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.Bitmap</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
@@ -91,20 +91,32 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim.sample">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DictionaryShared.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#clone--">clone</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">ShlosserEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
+   int&nbsp;nRows,
+   int&nbsp;sampleSize)</code>
+<div class="block">Peter J.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><span class="typeNameLabel">SmoothedJackknifeEstimator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html#get-org.apache.sysds.runtime.compress.utils.Bitmap-int-int-">get</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a>&nbsp;ubm,
+   int&nbsp;nRows,
+   int&nbsp;sampleSize)</code>
+<div class="block">Peter J.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -124,7 +136,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -138,8 +150,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html" target="_top">Frames</a></li>
+<li><a href="Bitmap.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
similarity index 66%
rename from docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html
rename to docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
index 3c99f71..5ff199b 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)</title>
+<title>Uses of Class org.apache.sysds.runtime.compress.utils.BitmapLossy (SystemDS 2.0.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared (SystemDS 2.0.0-SNAPSHOT API)";
+            parent.document.title="Uses of Class org.apache.sysds.runtime.compress.utils.BitmapLossy (SystemDS 2.0.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -33,7 +33,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -47,8 +47,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -70,13 +70,13 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h2 title="Uses of Class org.apache.sysds.runtime.compress.colgroup.DictionaryShared" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.colgroup.DictionaryShared</h2>
+<h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.BitmapLossy" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.BitmapLossy</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -94,17 +94,15 @@
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
 <!--   -->
 </a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></span><span class="tabEnd">&nbsp;</span></caption>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
+<th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">DictionaryShared</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DictionaryShared.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#clone--">clone</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#QDictionary-org.apache.sysds.runtime.compress.utils.BitmapLossy-">QDictionary</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a>&nbsp;bm)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -124,7 +122,7 @@
 <ul class="navList" title="Navigation">
 <li><a href="../../../../../../../overview-summary.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup">Class</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
@@ -138,8 +136,8 @@
 <li>Next</li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/class-use/DictionaryShared.html" target="_top">Frames</a></li>
-<li><a href="DictionaryShared.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html" target="_top">Frames</a></li>
+<li><a href="BitmapLossy.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
index aa0588c..542c11f 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArray.html
@@ -108,22 +108,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReaderColumnSelectionDenseSample.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#nextRow--">nextRow</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ReaderColumnSelection.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelection.html#nextRow--">nextRow</a></span>()</code>
 <div class="block">Gets the next row, null when no more rows.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReaderColumnSelectionDense.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#nextRow--">nextRow</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReaderColumnSelectionSparse.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#nextRow--">nextRow</a></span>()</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
index 1376e86..989900c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.DArrayIListEntry.html
@@ -121,6 +121,24 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">DblArrayIntListHashMap.DArrayIListEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compare</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o1,
+       <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o2)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">DblArrayIntListHashMap.DArrayIListEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap.DArrayIListEntry-">compareTo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
index 277bb3d..2fada56 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html
@@ -72,46 +72,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap-int-">UncompressedBitmap</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a>&nbsp;distinctVals,
-                  int&nbsp;numColumns)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.utils.DblArrayIntListHashMap</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
index 962b6ce..0932ee8 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.DIListEntry.html
@@ -121,6 +121,24 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">DoubleIntListHashMap.DIListEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compare-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compare</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg0,
+       <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;arg1)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">DoubleIntListHashMap.DIListEntry.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#compareTo-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap.DIListEntry-">compareTo</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a>&nbsp;o)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
index 4b9d2ab..678c6c3 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html
@@ -72,45 +72,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap" class="title">Uses of Class<br>org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#UncompressedBitmap-org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap-">UncompressedBitmap</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a>&nbsp;distinctVals)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.compress.utils.DoubleIntListHashMap</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
index 92955aa..cd8929e 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html
@@ -83,10 +83,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress">org.apache.sysds.runtime.compress</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,24 +91,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
-<td class="colLast"><span class="typeNameLabel">UncompressedBitmap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;ix)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.compress.utils">
 <!--   -->
 </a>
@@ -149,6 +127,18 @@
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
 <td class="colLast"><span class="typeNameLabel">DoubleIntListHashMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html#get-double-">get</a></span>(double&nbsp;key)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ABitmap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetList--">getOffsetList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ABitmap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;idx)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BitmapLossy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#getOffsetsList-int-">getOffsetsList</a></span>(int&nbsp;ix)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -177,10 +167,28 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html#ABitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-">ABitmap</a></span>(int&nbsp;numCols,
+       <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+       int&nbsp;numZeroGroups)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html#Bitmap-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-double:A-">Bitmap</a></span>(int&nbsp;numCols,
+      <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+      int&nbsp;numZeroGroups,
+      double[]&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html#BitmapLossy-int-org.apache.sysds.runtime.compress.utils.IntArrayList:A-int-byte:A-double-">BitmapLossy</a></span>(int&nbsp;numCols,
+           <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>[]&nbsp;offsetsLists,
+           int&nbsp;numZeroGroups,
+           byte[]&nbsp;values,
+           double&nbsp;scale)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html#DArrayIListEntry-org.apache.sysds.runtime.compress.utils.DblArray-org.apache.sysds.runtime.compress.utils.IntArrayList-">DArrayIListEntry</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a>&nbsp;ekey,
                 <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;evalue)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html#DIListEntry-double-org.apache.sysds.runtime.compress.utils.IntArrayList-">DIListEntry</a></span>(double&nbsp;ekey,
            <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a>&nbsp;evalue)</code>&nbsp;</td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
index ff259c2..9239513 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-frame.html
@@ -13,6 +13,9 @@
 <div class="indexContainer">
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
+<li><a href="ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap</a></li>
+<li><a href="Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">Bitmap</a></li>
+<li><a href="BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">BitmapLossy</a></li>
 <li><a href="ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">ColumnGroupIterator</a></li>
 <li><a href="CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">CustomHashMap</a></li>
 <li><a href="DblArray.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">DblArray</a></li>
@@ -21,6 +24,10 @@
 <li><a href="IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">IntArrayList</a></li>
 <li><a href="LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils" target="classFrame">LinearAlgebraUtils</a></li>
 </ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils" target="classFrame">ABitmap.BitmapType</a></li>
+</ul>
 </div>
 </body>
 </html>
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
index e73eb3b..0e6a6b4 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-summary.html
@@ -83,41 +83,57 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils">Bitmap</a></td>
+<td class="colLast">
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils">BitmapLossy</a></td>
+<td class="colLast">
+<div class="block">Uncompressed but Quantized representation of contained data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils">ColumnGroupIterator</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">CustomHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient base for Custom HashMaps for restricted use cases.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></td>
 <td class="colLast">
 <div class="block">Helper class used for bitmap extraction.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;DblArray,IntArrayList&gt;</code> for restricted use
  cases.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;Double,IntArrayList&gt;</code> for restricted use cases.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></td>
 <td class="colLast">
 <div class="block">This class provides a memory-efficient replacement for <code>ArrayList&lt;Integer&gt;</code> for restricted use cases.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils">LinearAlgebraUtils</a></td>
 <td class="colLast">
 <div class="block">This library contains all vector primitives that are used in compressed linear algebra.</div>
@@ -126,6 +142,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
index 5ca4674..a2b5988 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-tree.html
@@ -81,6 +81,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Bitmap</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ColumnGroupIterator.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ColumnGroupIterator</span></a> (implements java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/CustomHashMap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">CustomHashMap</span></a>
 <ul>
@@ -89,13 +95,25 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArray</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">IntArrayList</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">LinearAlgebraUtils</span></a></li>
 </ul>
 </li>
 </ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap.BitmapType</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
index 8a16c63..cdc158c 100644
--- a/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/compress/utils/package-use.html
@@ -87,6 +87,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim">org.apache.sysds.runtime.compress.estim</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.estim.sample">org.apache.sysds.runtime.compress.estim.sample</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.compress.utils">org.apache.sysds.runtime.compress.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -103,24 +115,66 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress">ABitmap</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/DblArray.html#org.apache.sysds.runtime.compress">DblArray</a>
 <div class="block">Helper class used for bitmap extraction.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/DblArrayIntListHashMap.html#org.apache.sysds.runtime.compress">DblArrayIntListHashMap</a>
-<div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;DblArray,IntArrayList&gt;</code> for restricted use
- cases.</div>
-</td>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
 </tr>
+<tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/DoubleIntListHashMap.html#org.apache.sysds.runtime.compress">DoubleIntListHashMap</a>
-<div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;Double,IntArrayList&gt;</code> for restricted use cases.</div>
-</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress.colgroup">ABitmap</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/IntArrayList.html#org.apache.sysds.runtime.compress">IntArrayList</a>
-<div class="block">This class provides a memory-efficient replacement for <code>ArrayList&lt;Integer&gt;</code> for restricted use cases.</div>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/BitmapLossy.html#org.apache.sysds.runtime.compress.colgroup">BitmapLossy</a>
+<div class="block">Uncompressed but Quantized representation of contained data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/estim/package-summary.html">org.apache.sysds.runtime.compress.estim</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress.estim">ABitmap</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.compress.estim.sample">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/estim/sample/package-summary.html">org.apache.sysds.runtime.compress.estim.sample</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress.estim.sample">ABitmap</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/Bitmap.html#org.apache.sysds.runtime.compress.estim.sample">Bitmap</a>
+<div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
 </td>
 </tr>
 </tbody>
@@ -136,6 +190,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.html#org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/ABitmap.BitmapType.html#org.apache.sysds.runtime.compress.utils">ABitmap.BitmapType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/compress/utils/class-use/CustomHashMap.html#org.apache.sysds.runtime.compress.utils">CustomHashMap</a>
 <div class="block">This class provides a memory-efficient base for Custom HashMaps for restricted use cases.</div>
 </td>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
index 1c961ba..05bddde 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheBlock.html
@@ -149,10 +149,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
      int&nbsp;cu,
+     boolean&nbsp;deep,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
 </tbody>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
index 29d5452..d84dca5 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html
@@ -95,6 +95,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark.data">org.apache.sysds.runtime.instructions.spark.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -201,6 +209,42 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark.data">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
index 6d36cbc..74955c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html
@@ -115,18 +115,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu.context">org.apache.sysds.runtime.instructions.gpu.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -815,42 +811,11 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> that return <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -858,6 +823,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">InitFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html#federateMatrix-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-java.util.List-">federateMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;output,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>&gt;&gt;&nbsp;workers)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
index 870a6db..1bdeab6 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/caching/package-use.html
@@ -451,8 +451,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html#org.apache.sysds.runtime.instructions.cp">MatrixObject</a>
-<div class="block">Represents a matrix in control program.</div>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html#org.apache.sysds.runtime.instructions.cp">CacheableData</a>
+<div class="block">Each object of this class is a cache envelope for some large piece of data
+ called "cache block".</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -471,9 +472,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html#org.apache.sysds.runtime.instructions.fed">FrameObject</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/CacheableData.html#org.apache.sysds.runtime.instructions.fed">CacheableData</a>
+<div class="block">Each object of this class is a cache envelope for some large piece of data
+ called "cache block".</div>
+</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/FrameObject.html#org.apache.sysds.runtime.instructions.fed">FrameObject</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/class-use/MatrixObject.html#org.apache.sysds.runtime.instructions.fed">MatrixObject</a>
 <div class="block">Represents a matrix in control program.</div>
 </td>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
index bc15d10..e2d3205 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/class-use/ProgramBlock.html
@@ -651,52 +651,47 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
-                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#computeNumPaths-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeNumPaths</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#createDedupPatch-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">createDedupPatch</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">initializeDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">initializeDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#isValidDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-boolean-">isValidDedupBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                  boolean&nbsp;inLoop)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setNewDedupPatch-org.apache.sysds.runtime.lineage.LineageDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setNewDedupPatch</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                 <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#traceCurrentDedupPath-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceCurrentDedupPath</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceProgramBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
index b036400..2f088cd 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/context/class-use/ExecutionContext.html
@@ -848,7 +848,7 @@
 <td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1149,7 +1149,7 @@
 <td class="colLast"><span class="typeNameLabel">ComputationFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1579,89 +1579,84 @@
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#addAllDataLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">addAllDataLineage</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
-                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                  <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#computeNumPaths-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeNumPaths</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#createDedupPatch-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">createDedupPatch</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageRewriteReuse.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html#executeRewrites-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">executeRewrites</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;curr,
                <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.CPOperand...-">getLineage</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
           <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;operands)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageTraceable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Obtain lineage trace of an instruction with a single output.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineageItemInputstoSB-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItemInputstoSB</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;inputs,
                         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;[]</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageTraceable.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageTraceable.html#getLineageItems-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItems</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Obtain lineage trace of an instruction with multiple outputs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">initializeDedupBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">initializeDedupBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCacheConfig.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCacheConfig.html#isReusable-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">isReusable</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
           <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#numPathsInPBs-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">numPathsInPBs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
              <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putMatrix-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
          <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
          long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;starttime)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
         <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
@@ -1669,22 +1664,22 @@
         <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replaceDagLeaves-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">replaceDagLeaves</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                 <a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                 <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;newLeaves)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#replaceLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">replaceLineage</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;outNames,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outParams,
@@ -1693,51 +1688,51 @@
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setNewDedupPatch-org.apache.sysds.runtime.lineage.LineageDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setNewDedupPatch</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#setNumPathsInPBs-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setNumPathsInPBs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                 <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#trace-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">trace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#trace-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">trace</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceBasicProgramBlock-org.apache.sysds.runtime.controlprogram.BasicProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceBasicProgramBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">BasicProgramBlock</a>&nbsp;bpb,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&gt;&gt;&nbsp;paths)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#traceCurrentDedupPath-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceCurrentDedupPath</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceIfProgramBlock-org.apache.sysds.runtime.controlprogram.IfProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceIfProgramBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/IfProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">IfProgramBlock</a>&nbsp;ipb,
                    <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&gt;&gt;&nbsp;paths)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-java.util.Collection-">traceProgramBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                  <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&gt;&gt;&nbsp;paths)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#traceProgramBlocks-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceProgramBlocks</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
                   <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -2255,8 +2250,8 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
-                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
+                                  <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
index 350a392..adb5809 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedData.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -190,6 +190,10 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#isInitialized--">isInitialized</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#resetFederatedSites--">resetFederatedSites</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html#setVarID-long-">setVarID</a></span>(long&nbsp;varID)</code>&nbsp;</td>
 </tr>
@@ -334,12 +338,21 @@
 <a name="clearFederatedWorkers--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>clearFederatedWorkers</h4>
 <pre>public static&nbsp;void&nbsp;clearFederatedWorkers()</pre>
 </li>
 </ul>
+<a name="resetFederatedSites--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>resetFederatedSites</h4>
+<pre>public static&nbsp;void&nbsp;resetFederatedSites()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
index f4821f3..ba3238f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -165,53 +165,57 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#asIndexRange--">asIndexRange</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#compareTo-org.apache.sysds.runtime.controlprogram.federated.FederatedRange-">compareTo</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDims--">getBeginDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getBeginDimsInt--">getBeginDimsInt</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>long[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDims--">getEndDims</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getEndDimsInt--">getEndDimsInt</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#getSize-int-">getSize</a></span>(int&nbsp;dim)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#setBeginDim-int-long-">setBeginDim</a></span>(int&nbsp;dim,
            long&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#setEndDim-int-long-">setEndDim</a></span>(int&nbsp;dim,
          long&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#shift-long-long-">shift</a></span>(long&nbsp;rshift,
      long&nbsp;cshift)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#transpose--">transpose</a></span>()</code>&nbsp;</td>
 </tr>
@@ -399,12 +403,21 @@
 <a name="transpose--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>transpose</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>&nbsp;transpose()</pre>
 </li>
 </ul>
+<a name="asIndexRange--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>asIndexRange</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;asIndexRange()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
index 31ca830..ffe004e 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/FederationMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -249,19 +249,23 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getID--">getID</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getMaxIndexInRange-int-">getMaxIndexInRange</a></span>(int&nbsp;dim)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#isAligned-org.apache.sysds.runtime.controlprogram.federated.FederationMap-boolean-">isAligned</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;that,
          boolean&nbsp;transposed)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#isInitialized--">isInitialized</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#mapParallel-long-java.util.function.BiFunction-">mapParallel</a></span>(long&nbsp;newVarID,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html?is-external=true" title="class or interface in java.util.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;mappingFunction)</code>
@@ -269,20 +273,20 @@
  their new form by directly changing both <code>FederatedRange</code> and <code>FederatedData</code>.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#rbind-long-org.apache.sysds.runtime.controlprogram.federated.FederationMap-">rbind</a></span>(long&nbsp;offset,
      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a>&gt;&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#requestFederatedData--">requestFederatedData</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#setType-org.apache.sysds.runtime.controlprogram.federated.FederationMap.FType-">setType</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.FType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederationMap.FType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html#transpose--">transpose</a></span>()</code>&nbsp;</td>
 </tr>
@@ -549,6 +553,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;transpose()</pre>
 </li>
 </ul>
+<a name="getMaxIndexInRange-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMaxIndexInRange</h4>
+<pre>public&nbsp;long&nbsp;getMaxIndexInRange(int&nbsp;dim)</pre>
+</li>
+</ul>
 <a name="forEachParallel-java.util.function.BiFunction-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
index 68f5c57..4ad783f 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html
@@ -90,6 +90,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -204,6 +208,26 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
index c2704f7..724ffb0 100644
--- a/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/controlprogram/federated/package-use.html
@@ -179,6 +179,9 @@
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederatedUDF.html#org.apache.sysds.runtime.instructions.fed">FederatedUDF</a>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/class-use/FederationMap.html#org.apache.sysds.runtime.instructions.fed">FederationMap</a>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
index 4a68c8c..ba3371e 100644
--- a/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/data/class-use/DenseBlock.html
@@ -880,6 +880,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-org.apache.sysds.runtime.data.DenseBlock-">MatrixBlock</a></span>(int&nbsp;rl,
+           int&nbsp;cl,
+           <a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dBlock)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
index cc411a3..496b05f 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html
@@ -187,50 +187,50 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#DETECTSCHEMA">DETECTSCHEMA</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#DML_MAP">DML_MAP</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#DROP_INVALID_LENGTH">DROP_INVALID_LENGTH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#DROP_INVALID_TYPE">DROP_INVALID_TYPE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#EVAL">EVAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#EXP">EXP</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#FLOOR">FLOOR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#INVERSE">INVERSE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#ISINF">ISINF</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#ISNA">ISNA</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#ISNAN">ISNAN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#LENGTH">LENGTH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#LINEAGE">LINEAGE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#LIST">LIST</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#LOG_NZ">LOG_NZ</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#MAP">MAP</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html#MAX">MAX</a></span></code>&nbsp;</td>
 </tr>
@@ -771,13 +771,13 @@
 <pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a> DROP_INVALID_LENGTH</pre>
 </li>
 </ul>
-<a name="DML_MAP">
+<a name="MAP">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>DML_MAP</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a> DML_MAP</pre>
+<h4>MAP</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.BuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">Builtin.BuiltinCode</a> MAP</pre>
 </li>
 </ul>
 <a name="COUNT_DISTINCT">
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
index 20449fc..3cc049a 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/Builtin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -245,6 +245,10 @@
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#isBuiltinFnObject-java.lang.String-">isBuiltinFnObject</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.functionobjects.ValueFunction">
@@ -265,7 +269,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -410,7 +414,7 @@
 <a name="execute-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;execute(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;in1)</pre>
@@ -420,6 +424,19 @@
 </dl>
 </li>
 </ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
index dcdafed..e71579e 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/Builtin.html
@@ -107,26 +107,30 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>abstract double</code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
+         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>
+<div class="block">Aggregate all the contained values, useful in value only computations where the operation is iterating through
+ all values contained in the dictionary.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
          <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>double</code></td>
-<td class="colLast"><span class="typeNameLabel">DictionaryShared.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#aggregate-double-org.apache.sysds.runtime.functionobjects.Builtin-">aggregate</a></span>(double&nbsp;init,
          <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;init,
-             <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-             int[]&nbsp;cols)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>double[]</code></td>
-<td class="colLast"><span class="typeNameLabel">DictionaryShared.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;init,
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#aggregateCols-double:A-org.apache.sysds.runtime.functionobjects.Builtin-int:A-">aggregateCols</a></span>(double[]&nbsp;c,
              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/Builtin.html" title="class in org.apache.sysds.runtime.functionobjects">Builtin</a>&nbsp;fn,
-             int[]&nbsp;cols)</code>&nbsp;</td>
+             int[]&nbsp;colIndexes)</code>
+<div class="block">Aggregates the columns into the target double array provided.</div>
+</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
index d3b1ae0..cf860c0 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html
@@ -83,10 +83,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,34 +91,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a> in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">computeRowSums</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-              <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-              int&nbsp;rl,
-              int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a></span>(int&nbsp;valIx,
-         <a href="../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-         <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.functionobjects">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
index 4b049da..a2c32ca 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/class-use/ValueFunction.html
@@ -455,9 +455,19 @@
                   double&nbsp;cst)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">LeftScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                  double&nbsp;cst,
+                  int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">RightScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
                    double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">RightScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                   double&nbsp;cst,
+                   int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#ScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">ScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
               double&nbsp;cst)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
index b635e72..15cd67d 100644
--- a/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/functionobjects/package-use.html
@@ -134,12 +134,6 @@
 <div class="block">Class with pre-defined set of objects.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/functionobjects/class-use/KahanFunction.html#org.apache.sysds.runtime.compress.colgroup">KahanFunction</a>
-<div class="block">Runtime function type to perform the summation of values using
- the Kahan summation algorithm.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
index da334d5..7459ef4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/Instruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":6,"i13":10,"i14":10,"i15":10,"i16":6,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":6,"i14":10,"i15":10,"i16":10,"i17":6,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -76,13 +76,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -187,23 +187,6 @@
 </table>
 </li>
 </ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#Instruction--">Instruction</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ========== METHOD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.summary">
@@ -265,58 +248,62 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any tear down after executing this instruction.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any setup before executing this instruction.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a></span>(long&nbsp;id)</code>
 <div class="block">Setter for instruction unique identifier</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a></span>(<a href="../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&nbsp;id)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;oldInst)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lop)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename,
            int&nbsp;beginLine,
@@ -324,19 +311,19 @@
            int&nbsp;beginCol,
            int&nbsp;endCol)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&nbsp;lop)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;pc)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pattern,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;replace)</code>
@@ -473,23 +460,6 @@
 </ul>
 </li>
 </ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Instruction--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Instruction</h4>
-<pre>public&nbsp;Instruction()</pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ============ METHOD DETAIL ========== -->
 <ul class="blockList">
 <li class="blockList"><a name="method.detail">
@@ -617,6 +587,15 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;getPrivacyConstraint()</pre>
 </li>
 </ul>
+<a name="getOperator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOperator</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;getOperator()</pre>
+</li>
+</ul>
 <a name="getLineNum--">
 <!--   -->
 </a>
@@ -847,13 +826,13 @@
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
index 04b605c..ac0303d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/class-use/Instruction.html
@@ -819,29 +819,25 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressionCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareCopyInstruction-java.lang.String-java.lang.String-">prepareCopyInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcVar,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destVar)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareRemoveInstruction-long...-">prepareRemoveInstruction</a></span>(long...&nbsp;varName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepareRemoveInstruction-java.lang.String...-">prepareRemoveInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;varNames)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepCreatevarInstruction-java.lang.String-java.lang.String-boolean-java.lang.String-">prepCreatevarInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileName,
                         boolean&nbsp;fNameOverride,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepCreatevarInstruction-java.lang.String-java.lang.String-boolean-org.apache.sysds.common.Types.DataType-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">prepCreatevarInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileName,
@@ -851,7 +847,7 @@
                         <a href="../../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;mc,
                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepCreatevarInstruction-java.lang.String-java.lang.String-boolean-org.apache.sysds.common.Types.DataType-java.lang.String-org.apache.sysds.runtime.meta.DataCharacteristics-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-boolean-java.lang.String-boolean-">prepCreatevarInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileName,
@@ -864,22 +860,22 @@
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;delim,
                         boolean&nbsp;sparse)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepMoveInstruction-java.lang.String-java.lang.String-">prepMoveInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcVar,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destVar)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#prepMoveInstruction-java.lang.String-java.lang.String-java.lang.String-">prepMoveInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcVar,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;destFileName,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FunctionCallCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
@@ -1498,8 +1494,8 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
-                       <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
+                                  <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
index 6e45c4c..2a95d9e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateBinaryCPInstruction.html
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
index 9934acc..6ce29d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateTernaryCPInstruction.html
@@ -208,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
index dbfc589..af43256 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.html
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -246,7 +246,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
index 23cbcad..a720e5f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/AppendCPInstruction.html
@@ -229,7 +229,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
index eca4c35..e3713d4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html
@@ -210,7 +210,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -270,6 +270,10 @@
 <li class="blockList">
 <h4>getOperator</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;getOperator()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
index bda19cd..b2914c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameFrameCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
index f10d938..3225715 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameMatrixCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
index 195cb0e..7429de1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryFrameScalarCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
index f9edddd..35f9b29 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixMatrixCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
index 399f13c..0d70352 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryMatrixScalarCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
index af66355..d1c9632 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryScalarScalarCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
index 7d62ddf..cb7b62c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BinaryTensorTensorCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
index c0a86a8..f033f6e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
index 49e4762..e60b116 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPInstruction.html
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
index 5e3bfca..28b2d7e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CPOperand.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -191,46 +191,54 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#getName--">getName</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#getPrivacyConstraint--">getPrivacyConstraint</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#getValueType--">getValueType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isFrame--">isFrame</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isList--">isList</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isLiteral--">isLiteral</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isMatrix--">isMatrix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isScalar--">isScalar</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#isTensor--">isTensor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#setLiteral-org.apache.sysds.runtime.instructions.cp.ScalarObject-">setLiteral</a></span>(<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;literal)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#split-java.lang.String-">split</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -450,6 +458,24 @@
 <pre>public&nbsp;void&nbsp;split(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 </li>
 </ul>
+<a name="getPrivacyConstraint--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyConstraint</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;getPrivacyConstraint()</pre>
+</li>
+</ul>
+<a name="setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPrivacyConstraint</h4>
+<pre>public&nbsp;void&nbsp;setPrivacyConstraint(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
index 802f9b2..feed919 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CentralMomentCPInstruction.html
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -246,7 +246,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
index b97df6e..007faab 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html
@@ -193,7 +193,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -208,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -258,7 +258,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>parseInstruction</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>&nbsp;parseInstruction(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 </li>
 </ul>
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
index ad91f33..33e4f49 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -219,6 +219,10 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></span>()</code>&nbsp;</td>
 </tr>
@@ -235,7 +239,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -318,6 +322,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOutputVariableName()</pre>
 </li>
 </ul>
+<a name="getOutput--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutput</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;getOutput()</pre>
+</li>
+</ul>
 <a name="getInputs--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
index aa9ece7..667a0db 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
index 68d32ee..4976996 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -228,7 +228,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
index ed10d7d..92cc2b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html
@@ -279,7 +279,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -293,7 +293,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
index f4db676..6ca99a0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html
@@ -315,7 +315,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -329,7 +329,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
index 202fb58..03a1e66 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html
@@ -230,7 +230,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
index d7f7ac3..c822410 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html
@@ -235,7 +235,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
index 4791555..1aa476f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -235,7 +235,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
index ba79541..f8e2c1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html
@@ -259,7 +259,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
index 988b71b..04be05f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html
@@ -211,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -225,7 +225,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
index 9bc7fe1..5bba53d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html
@@ -235,7 +235,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
index e6fb73d..d9c04e7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -241,7 +241,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
index fade356..77ee139 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html
@@ -217,7 +217,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -231,7 +231,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
index fd38df7..ae95445 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html
@@ -217,7 +217,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -231,7 +231,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
index c15c787..a7f98f3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html
@@ -241,7 +241,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
index 712025d..a91c53c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html
@@ -218,7 +218,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
index 1473c7c..9b77854 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html
@@ -251,7 +251,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -265,7 +265,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
index c6431da..3b80d7c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -211,16 +211,20 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutputNames--">getOutputNames</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#hasSingleLineage--">hasSingleLineage</a></span>()</code>
 <div class="block">Obtain meta data on number of outputs and thus, number of lineage items.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -232,7 +236,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -246,7 +250,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -278,6 +282,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;getOutput(int&nbsp;i)</pre>
 </li>
 </ul>
+<a name="getOutputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputs</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;&nbsp;getOutputs()</pre>
+</li>
+</ul>
 <a name="getOutputNames--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
index 0ec130c..e67571e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -207,16 +207,20 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutputNames--">getOutputNames</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#hasSingleLineage--">hasSingleLineage</a></span>()</code>
 <div class="block">Obtain meta data on number of outputs and thus, number of lineage items.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -228,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -242,7 +246,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -274,6 +278,15 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;getOutput(int&nbsp;i)</pre>
 </li>
 </ul>
+<a name="getOutputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputs</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;&nbsp;getOutputs()</pre>
+</li>
+</ul>
 <a name="getOutputNames--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
index f6e6fad..33fdd85 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html
@@ -208,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
index 92ded36..8e08345 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html
@@ -215,7 +215,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getParameterMap--">getParameterMap</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -234,7 +234,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -248,7 +248,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -358,7 +358,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getTarget</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;getTarget(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;getTarget(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
index 97021eb..ddb9c91 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html
@@ -237,7 +237,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -251,7 +251,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
index 2c63054..bd7d901 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
index f5e3a93..8799051 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html
@@ -218,7 +218,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
index c83ff7e..326cef6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html
@@ -212,7 +212,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -226,7 +226,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
index 754f0a6..e2f38bc 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html
@@ -213,7 +213,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
index ade58b6..1417115 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html
@@ -219,7 +219,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -233,7 +233,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
index 90df498..12ed511 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html
@@ -235,7 +235,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
index 0888ee0..bd56446 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
index ac2433e..b6c3f5a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html
@@ -218,7 +218,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
index 9c8ddcf..61376b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -200,14 +200,18 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -226,7 +230,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -301,12 +305,21 @@
 <a name="getOutputVariableName--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getOutputVariableName</h4>
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOutputVariableName()</pre>
 </li>
 </ul>
+<a name="getOutput--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutput</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;getOutput()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
index cb9700f..0dc259e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html
@@ -232,7 +232,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -246,7 +246,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
index c251115..395d873 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html
@@ -208,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -222,7 +222,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
index 16824eb..8d0b857 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html
@@ -213,7 +213,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
index 59ecfbd..c14a2e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html
@@ -206,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
index 3aee25d..e2a6143 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html
@@ -216,7 +216,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -230,7 +230,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
index c3a8b97..01fa910 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -234,7 +234,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
index c59f23e..e7164cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html
@@ -221,7 +221,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -235,7 +235,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
index 56ce7f9..f7d0027 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html
@@ -370,7 +370,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
index ed72701..be98da4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html
@@ -94,10 +94,6 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -210,28 +206,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a> in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars_scnomv--">getVars_scnomv</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars--">getVars</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
index 1bb5788..82bf0e6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html
@@ -399,8 +399,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstruction</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
-                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
+                                  <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
index 1fe1c09..552c0e3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html
@@ -323,12 +323,20 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
-<td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SqlCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BuiltinNaryCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ComputationCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a></span>()</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MultiReturnBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutput-int-">getOutput</a></span>(int&nbsp;i)</code>&nbsp;</td>
@@ -350,6 +358,14 @@
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">VariableCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
index 8b1d84f..3deb59a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html
@@ -72,7 +72,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.sysds.runtime.instructions.cp.CompressionCPInstruction" class="title">Uses of Class<br>org.apache.sysds.runtime.instructions.cp.CompressionCPInstruction</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.sysds.runtime.instructions.cp.CompressionCPInstruction</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.cp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> that return <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CompressionCPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
index fff02bb..0d2f4d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/Data.html
@@ -766,7 +766,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#computeByLineage-org.apache.sysds.runtime.lineage.LineageItem-">computeByLineage</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LineageRecomputeUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#parseNComputeLineageTrace-java.lang.String-java.lang.String-">parseNComputeLineageTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mainTrace,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dedupPatches)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
index 5ce4a86..9573a1b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html
@@ -83,22 +83,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -107,26 +103,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a> in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sumValues-int-org.apache.sysds.runtime.functionobjects.KahanFunction-org.apache.sysds.runtime.instructions.cp.KahanObject-">sumValues</a></span>(int&nbsp;valIx,
-         <a href="../../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-         <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;kbuff)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.data">
 <!--   -->
 </a>
@@ -286,14 +262,27 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans_scnomv--">getMeans_scnomv</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans--">getMeans</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-int:A-org.apache.sysds.runtime.transform.encode.EncoderMVImpute.MVMethod:A-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.KahanObject:A-long:A-java.util.List-int-">EncoderMVImpute</a></span>(int[]&nbsp;colList,
+               <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[]&nbsp;mvMethodList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;replacementList,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;meanList,
+               long[]&nbsp;countList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;rcList,
+               int&nbsp;clen)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
index 8da348b..965590d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cp/package-use.html
@@ -103,90 +103,86 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram">org.apache.sysds.runtime.controlprogram</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.caching">org.apache.sysds.runtime.controlprogram.caching</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.context">org.apache.sysds.runtime.controlprogram.context</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv">org.apache.sysds.runtime.controlprogram.paramserv</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.paramserv.rpc">org.apache.sysds.runtime.controlprogram.paramserv.rpc</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.parfor">org.apache.sysds.runtime.controlprogram.parfor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.data">org.apache.sysds.runtime.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.functionobjects">org.apache.sysds.runtime.functionobjects</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions">org.apache.sysds.runtime.instructions</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cp">org.apache.sysds.runtime.instructions.cp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.cpfile">org.apache.sysds.runtime.instructions.cpfile</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.gpu">org.apache.sysds.runtime.instructions.gpu</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.lineage">org.apache.sysds.runtime.lineage</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.operators">org.apache.sysds.runtime.matrix.operators</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -274,21 +270,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.sysds.runtime.compress.colgroup">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a> used by <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html#org.apache.sysds.runtime.compress.colgroup">KahanObject</a>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.controlprogram">
 <!--   -->
 </a>
@@ -514,113 +495,116 @@
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html#org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CompressionCPInstruction.html#org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ComputationCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CovarianceCPInstruction.html#org.apache.sysds.runtime.instructions.cp">CovarianceCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.html#org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPInstruction.CPType.html#org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CPOperand.html#org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CtableCPInstruction.html#org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/Data.html#org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DataGenCPInstruction.html#org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DnnCPInstruction.html#org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/DoubleObject.html#org.apache.sysds.runtime.instructions.cp">DoubleObject</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/FunctionCallCPInstruction.html#org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/IndexingCPInstruction.html#org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/IntObject.html#org.apache.sysds.runtime.instructions.cp">IntObject</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html#org.apache.sysds.runtime.instructions.cp">KahanObject</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ListObject.html#org.apache.sysds.runtime.instructions.cp">ListObject</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MMChainCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MMTSJCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/MultiReturnParameterizedBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ParameterizedBuiltinCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/PMMJCPInstruction.html#org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuantilePickCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuantileSortCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a>
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/QuaternaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ReorgCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ReshapeCPInstruction.html#org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/ScalarObject.html#org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/SpoofCPInstruction.html#org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/SqlCPInstruction.html#org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/StringInitCPInstruction.html#org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/TernaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UaggOuterChainCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/UnaryMatrixCPInstruction.html#org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.html#org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/VariableCPInstruction.VariableOperationCode.html#org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a>&nbsp;</td>
 </tr>
 </tbody>
@@ -806,9 +790,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/CM_COV_Object.html#org.apache.sysds.runtime.transform.encode">CM_COV_Object</a>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/class-use/KahanObject.html#org.apache.sysds.runtime.transform.encode">KahanObject</a>&nbsp;</td>
 </tr>
 </tbody>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
index fac54f1..dad6012 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html
@@ -223,7 +223,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.cp.<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getLineageItem-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItem</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutput--">getOutput</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html#getOutputVariableName--">getOutputVariableName</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.cp.CPInstruction">
@@ -237,7 +237,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
index 93dc4da..45db958 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateBinaryFEDInstruction.html
@@ -249,7 +249,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
index 1dd1cf0..adcdd2f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AggregateUnaryFEDInstruction.html
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
index 639950f..8930c4d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/AppendFEDInstruction.html
@@ -227,7 +227,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
index c4d5900..9d9fd32 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryFEDInstruction.html
@@ -220,7 +220,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
index 0da3ec7..b683052 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixMatrixFEDInstruction.html
@@ -230,7 +230,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
index c2986dc..caf4420 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/BinaryMatrixScalarFEDInstruction.html
@@ -230,7 +230,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
index 58f4589..ad6b617 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html
@@ -231,7 +231,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
index 35f4088..9c8aa94 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/FEDInstruction.html
@@ -207,7 +207,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
index a3ce6f1..483c698 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html
@@ -250,7 +250,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
index 6fbafbb..4cb9af1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html
@@ -255,7 +255,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
index 4f063fe..7a42a51 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10};
+var methods = {"i0":9,"i1":10,"i2":9,"i3":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -208,14 +208,20 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                     <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#getOutput-int-">getOutput</a></span>(int&nbsp;i)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#parseInstruction-java.lang.String-">parseInstruction</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
@@ -241,7 +247,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -292,7 +298,7 @@
 <a name="processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>processInstruction</h4>
 <pre>public&nbsp;void&nbsp;processInstruction(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
@@ -306,6 +312,17 @@
 </dl>
 </li>
 </ul>
+<a name="encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>encodeFederatedFrames</h4>
+<pre>public static&nbsp;void&nbsp;encodeFederatedFrames(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                                         <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                                         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
index 03cf717..e3249d4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html
@@ -146,11 +146,10 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-int-">DecodeMatrix</a></span>(long&nbsp;input,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.transform.decode.Decoder-">DecodeMatrix</a></span>(long&nbsp;input,
             long&nbsp;outputID,
             <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-            int&nbsp;globalOffset)</code>&nbsp;</td>
+            <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -205,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-int-">
+<a name="DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.transform.decode.Decoder-">
 <!--   -->
 </a>
 <ul class="blockListLast">
@@ -214,8 +213,7 @@
 <pre>public&nbsp;DecodeMatrix(long&nbsp;input,
                     long&nbsp;outputID,
                     <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                    int&nbsp;globalOffset)</pre>
+                    <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</pre>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
index 2b6919d..c263b2e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html
@@ -216,7 +216,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getParameterMap--">getParameterMap</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html#getTarget-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getTarget</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
@@ -249,7 +249,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -338,7 +338,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getTarget</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;getTarget(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&nbsp;getTarget(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
index 3eca17c..6a81395 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html
@@ -247,7 +247,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
index 9253566..2d85130 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html
@@ -249,7 +249,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
index 01f100d..18607d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html
@@ -203,7 +203,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#requiresLabelUpdate--">requiresLabelUpdate</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
index 506b85f..5f59e9b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateBinaryGPUInstruction.html
@@ -206,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
index c5279f9..0a49f1f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/AggregateUnaryGPUInstruction.html
@@ -207,7 +207,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
index 6019cc1..fe658f4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ArithmeticBinaryGPUInstruction.html
@@ -204,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
index 95bc463..9e2778e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinBinaryGPUInstruction.html
@@ -204,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
index f8a0c86..d06fe14 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/BuiltinUnaryGPUInstruction.html
@@ -208,7 +208,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
index e9ed18d..150e111 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html
@@ -323,7 +323,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
index 25ff9a2..4a77591 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html
@@ -550,7 +550,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
index 90180a8..beb4a7b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html
@@ -210,7 +210,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
index f56222e..fad53a0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html
@@ -207,7 +207,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
index 32c7731..c93a9b5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
index 3a07eab..6443c6f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html
@@ -206,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
index c43fe1e..56c923c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
index 648bdae..ead527c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html
@@ -211,7 +211,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
index bcefc5f..5e01bb8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
index 0f1be01..4de4851 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
index f7aa341..d7dc92d 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html
@@ -206,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
index 2141bc7..4819c92 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html
@@ -204,7 +204,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
index 14cee86..726e732 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html
@@ -206,7 +206,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
index 60e3145..f1e2ea2 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
index 6553aa2..a071f30 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
index 430b052..86fd1ca 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html
@@ -214,7 +214,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
index 4620f34..eeba6e4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateTernarySPInstruction.html
@@ -215,14 +215,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
index e505da4..111e37c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.html
@@ -243,14 +243,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
index e1d334d..08ec15c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGAlignedSPInstruction.html
@@ -231,14 +231,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
index 770591d..5f1b529 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendGSPInstruction.html
@@ -235,14 +235,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
index 0d4f5a0..e6d55a3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendMSPInstruction.html
@@ -218,14 +218,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
index 67744ff..4b76b67 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/AppendRSPInstruction.html
@@ -218,14 +218,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
index 99db93e..c0b6ef1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinUaggChainSPInstruction.html
@@ -231,14 +231,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
index d4a576b..1013af4 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameFrameSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
index 7cce1e7..4899b5e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameMatrixSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
index b73e996..57fce86 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryFrameScalarSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
index ae021bd..cd72ee5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixBVectorSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
index 58c81f4..7a0c377 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixMatrixSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
index b5d50f5..509ea27 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryMatrixScalarSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
index 1259789..b8b8b24 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinarySPInstruction.html
@@ -213,14 +213,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
index 1c055e7..fc49a07 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorBroadcastSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
index 2835296..71aee15 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BinaryTensorTensorSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
index 75a02d8..8d73538 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/BuiltinNarySPInstruction.html
@@ -214,14 +214,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
index 5284a09..0a2bd8a 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
index a5b5e42..1e14c4e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CastSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
index e31b412..cc240b6 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CentralMomentSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
index 6412ca3..bb66a60 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
index 816f88d..85815e9 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html
@@ -231,14 +231,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
index 48a7ac8..dc788ab 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html
@@ -224,14 +224,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
index 86cf2c8..84a9fee 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
index 46ce18b..9dbd50c 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html
@@ -226,14 +226,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
index f7939a4..b241933 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html
@@ -234,14 +234,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
index 064bcb9..4158cd7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html
@@ -232,14 +232,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
index 089277d..f9113a7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
index 378567f..a984304 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
index eb360c9..9801d1e 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html
@@ -228,14 +228,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
index 77ead37..ea1a45f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html
@@ -228,14 +228,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
index 6d8cb74..76d149b 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html
@@ -229,14 +229,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
index 2847107..3b45cb5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html
@@ -219,14 +219,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
index 514b6d8..2f5335f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html
@@ -192,14 +192,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
index c712549..b1f9506 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
index 6c11ab8..7e218ff 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html
@@ -228,14 +228,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
index 394c1d9..aa206b8 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html
@@ -228,14 +228,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
index 4b7de9d..3256555 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html
@@ -261,14 +261,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
index 2f820e8..a8593c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
index 085c0b2..f3f31ef 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html
@@ -245,14 +245,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
index e1bde43..f67cfd1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html
@@ -222,14 +222,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
index 56bedcf..075d313 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html
@@ -282,14 +282,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
index 1cb2ba3..1cbed37 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
index 8c12690..9743db7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
index ee5729e..ed9d223 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html
@@ -225,14 +225,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
index a1ded99..8ff684f 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html
@@ -215,14 +215,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
index 505c579..68823bf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html
@@ -266,14 +266,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
index ad73f61..bf2d0c7 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
index ba95fed..4ed4fd1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
index 35171ca..04cf0f0 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
index fb4bbb2..9c32369 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SPInstruction.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":6,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -184,36 +184,32 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any tear down after executing this instruction.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used for any setup before executing this instruction.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">This method should be used to execute the instruction.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></span>()</code>&nbsp;</td>
 </tr>
@@ -223,7 +219,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -259,15 +255,6 @@
 </dl>
 </li>
 </ul>
-<a name="getOperator--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getOperator</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;getOperator()</pre>
-</li>
-</ul>
 <a name="getSPInstructionType--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
index 372a178..87e1fbe 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html
@@ -207,14 +207,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
index 0794b24..29f6050 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html
@@ -215,14 +215,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
index 79a6d83..7e9c4b3 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
index 0747c4c..6fc7b96 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
index 7d4b3a4..c5354b1 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html
@@ -223,14 +223,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
index 8090633..7d2a223 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html
@@ -224,14 +224,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
index a0070c4..a841ccf 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
index 8b0dc4c..e070525 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html
@@ -196,14 +196,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#processInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">processInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
index bcf327f..ae229cb 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html
@@ -230,14 +230,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
index 4029e3c..04e35af 100644
--- a/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
+++ b/docs/api/java/org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html
@@ -220,14 +220,14 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.spark.<a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getGraphString--">getGraphString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getSPInstructionType--">getSPInstructionType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#postprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#preprocessInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#requiresLabelUpdate--">requiresLabelUpdate</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.instructions.Instruction">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.instructions.<a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginColumn--">getBeginColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getBeginLine--">getBeginLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndColumn--">getEndColumn</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getEndLine--">getEndLine</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getExtendedOpcode--">getExtendedOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getFilename--">getFilename</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstID--">getInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getInstructionString--">getInstructionString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getLineNum--">getLineNum</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOpcode--">getOpcode</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getPrivacyConstraint--">getPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#printMe--">printMe</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setInstID-long-">setInstID</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.parser.DataIdentifier-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.runtime.instructions.Instruction-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-org.apache.sysds.lops.Lop-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setLocation-java.lang.String-int-int-int-int-">setLocation</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.lops.Lop-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#toString--">toString</a>, <a href="../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#updateInstructionThreadID-java.lang.String-java.lang.String-">updateInstructionThreadID</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
index 43a605e..1f45145 100644
--- a/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
+++ b/docs/api/java/org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -214,9 +214,13 @@
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setSparse-boolean-">setSparse</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setNAStrings-java.util.HashSet-">setNAStrings</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;naStrings)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#setSparse-boolean-">setSparse</a></span>(boolean&nbsp;sparse)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -317,6 +321,15 @@
 <pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDelim()</pre>
 </li>
 </ul>
+<a name="setNAStrings-java.util.HashSet-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNAStrings</h4>
+<pre>public&nbsp;void&nbsp;setNAStrings(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;naStrings)</pre>
+</li>
+</ul>
 <a name="getNAStrings--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html b/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
index 16c0cf3..f8d55b2 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/Lineage.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":9,"i21":9,"i22":9,"i23":10,"i24":10,"i25":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":9,"i20":9,"i21":9,"i22":10,"i23":10,"i24":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -158,105 +158,100 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#clearLineageMap--">clearLineageMap</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">computeDedupBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
-                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#contains-org.apache.sysds.runtime.instructions.cp.CPOperand-">contains</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#createDedupPatch-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">createDedupPatch</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#deserialize-java.util.Map-">deserialize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;serialLineage)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#get-org.apache.sysds.runtime.instructions.cp.CPOperand-">get</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#get-java.lang.String-">get</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>,<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#getDedupBlocks--">getDedupBlocks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#getLineageMap--">getLineageMap</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#getOrCreate-org.apache.sysds.runtime.instructions.cp.CPOperand-">getOrCreate</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;variable)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">initializeDedupBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                     <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#resetDedupPath--">resetDedupPath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#resetInternalState--">resetInternalState</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#serialize--">serialize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setDedupBlock-org.apache.sysds.runtime.lineage.LineageDedupBlock-">setDedupBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setDedupPathBranch-int-boolean-">setDedupPathBranch</a></span>(int&nbsp;pos,
                   boolean&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setInitDedupBlock-org.apache.sysds.runtime.lineage.LineageDedupBlock-">setInitDedupBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLinReuseFull--">setLinReuseFull</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLinReuseFullAndPartial--">setLinReuseFullAndPartial</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLinReuseNone--">setLinReuseNone</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLinReusePartial--">setLinReusePartial</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#trace-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">trace</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/Lineage.html#traceCurrentDedupPath-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">traceCurrentDedupPath</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -440,16 +435,6 @@
 <pre>public&nbsp;void&nbsp;setInitDedupBlock(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb)</pre>
 </li>
 </ul>
-<a name="computeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>computeDedupBlock</h4>
-<pre>public&nbsp;void&nbsp;computeDedupBlock(<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;pb,
-                              <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
-</li>
-</ul>
 <a name="initializeDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
index 80fe76d..56ad3d1 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageDedupUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -117,6 +117,25 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -167,20 +186,24 @@
                  boolean&nbsp;inLoop)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#numPathsInPBs-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">numPathsInPBs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&gt;&nbsp;pbs,
              <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#replaceLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">replaceLineage</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setDedupMap-org.apache.sysds.runtime.lineage.LineageDedupBlock-long-">setDedupMap</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
            long&nbsp;takenPath)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupUtils.html#setNewDedupPatch-org.apache.sysds.runtime.lineage.LineageDedupBlock-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">setNewDedupPatch</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a>&nbsp;ldb,
                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a>&nbsp;fpb,
@@ -202,6 +225,27 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="DEDUP_DELIM">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DEDUP_DELIM</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEDUP_DELIM</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.lineage.LineageDedupUtils.DEDUP_DELIM">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -285,6 +329,15 @@
                                long&nbsp;takenPath)</pre>
 </li>
 </ul>
+<a name="mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeExplainDedupBlocks</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mergeExplainDedupBlocks(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
 <a name="computeNumPaths-org.apache.sysds.runtime.controlprogram.ProgramBlock-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
@@ -359,13 +412,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
index cd70f26..90a6509 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItem.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":42,"i13":41,"i14":10,"i15":9,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":42,"i14":41,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -256,60 +256,64 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isInstruction--">isInstruction</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isDedup--">isDedup</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isLeaf--">isLeaf</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isInstruction--">isInstruction</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isVisited--">isVisited</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isLeaf--">isLeaf</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#isVisited--">isVisited</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetIDSequence--">resetIDSequence</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--">resetVisitStatus</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatus</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR--">resetVisitStatusNR</a></span>()</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus--"><code>resetVisitStatus()</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatusNR</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-"><code>resetVisitStatus(LineageItem[])</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setInput-int-org.apache.sysds.runtime.lineage.LineageItem-">setInput</a></span>(int&nbsp;i,
         <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setVisited--">setVisited</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setVisited-boolean-">setVisited</a></span>(boolean&nbsp;flag)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -613,6 +617,15 @@
 <pre>public&nbsp;boolean&nbsp;isInstruction()</pre>
 </li>
 </ul>
+<a name="isDedup--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDedup</h4>
+<pre>public&nbsp;boolean&nbsp;isDedup()</pre>
+</li>
+</ul>
 <a name="resetVisitStatusNR--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
index d872c1d..63e456a 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageItemUtils.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -131,10 +131,6 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#DEDUP_DELIM">DEDUP_DELIM</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -164,7 +160,7 @@
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -178,83 +174,77 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#checkCycles-org.apache.sysds.runtime.lineage.LineageItem-">checkCycles</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#computeByLineage-org.apache.sysds.runtime.lineage.LineageItem-">computeByLineage</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#constructLineageFromHops-org.apache.sysds.hops.Hop:A-java.lang.String-org.apache.sysds.hops.Hop:A-java.util.HashMap-">constructLineageFromHops</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;roots,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;claName,
                         <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;inputs,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;spoofmap)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#containsRandDataGen-java.util.HashSet-org.apache.sysds.runtime.lineage.LineageItem-">containsRandDataGen</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;entries,
                    <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#explainSingleLineageItem-org.apache.sysds.runtime.lineage.LineageItem-">explainSingleLineageItem</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.CPOperand...-">getLineage</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
           <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>...&nbsp;operands)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getLineageItemInputstoSB-java.util.ArrayList-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">getLineageItemInputstoSB</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;inputs,
                         <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage">LineageItem.LineageItemType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#getType-java.lang.String-">getType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">mergeExplainDedupBlocks</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rCheckCycles-org.apache.sysds.runtime.lineage.LineageItem-java.util.Set-boolean-">rCheckCycles</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;probe,
             boolean&nbsp;useObjIdent)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rConstructLineageFromHops-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop:A-java.util.Map-java.util.HashMap-">rConstructLineageFromHops</a></span>(<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;root,
                          <a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[]&nbsp;inputs,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;operands,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&gt;&nbsp;spoofmap)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">replace</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
        <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
        <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replaceDagLeaves-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">replaceDagLeaves</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                 <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                 <a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;newLeaves)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rGetDagLeaves-java.util.HashSet-org.apache.sysds.runtime.lineage.LineageItem-">rGetDagLeaves</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;leaves,
              <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                  <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;newleaves)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceNR-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">rReplaceNR</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current,
           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
@@ -263,7 +253,7 @@
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#writeTraceToHDFS-java.lang.String-java.lang.String-">writeTraceToHDFS</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;trace,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</code>&nbsp;</td>
@@ -293,7 +283,7 @@
 <a name="LPLACEHOLDER">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>LPLACEHOLDER</h4>
 <pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LPLACEHOLDER</pre>
@@ -303,19 +293,6 @@
 </dl>
 </li>
 </ul>
-<a name="DEDUP_DELIM">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DEDUP_DELIM</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEDUP_DELIM</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.lineage.LineageItemUtils.DEDUP_DELIM">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -359,15 +336,6 @@
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;explainSingleLineageItem(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</pre>
 </li>
 </ul>
-<a name="computeByLineage-org.apache.sysds.runtime.lineage.LineageItem-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>computeByLineage</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;computeByLineage(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</pre>
-</li>
-</ul>
 <a name="getLineage-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.instructions.cp.CPOperand...-">
 <!--   -->
 </a>
@@ -408,7 +376,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>rDecompress</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;rDecompress(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;rDecompress(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="writeTraceToHDFS-java.lang.String-java.lang.String-">
@@ -421,15 +391,6 @@
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fname)</pre>
 </li>
 </ul>
-<a name="mergeExplainDedupBlocks-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mergeExplainDedupBlocks</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mergeExplainDedupBlocks(<a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
-</li>
-</ul>
 <a name="replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
index d4b1d2b..74fc6d2 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageMap.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -179,31 +179,26 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-">processDedupItem</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path)</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#resetLineageMaps--">resetLineageMaps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#trace-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">trace</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -266,16 +261,6 @@
                   <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
-<a name="processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>processDedupItem</h4>
-<pre>public&nbsp;void&nbsp;processDedupItem(<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
-                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path)</pre>
-</li>
-</ul>
 <a name="processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
index 23e8274..d847ffd 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageParser.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
+var methods = {"i0":9,"i1":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageParser.html" target="_top">Frames</a></li>
@@ -174,10 +174,6 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTrace-java.lang.String-java.lang.String-">parseLineageTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTraceDedup-java.lang.String-">parseLineageTraceDedup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -246,22 +242,13 @@
 <a name="parseLineageTrace-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>parseLineageTrace</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;parseLineageTrace(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str,
                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
-<a name="parseLineageTraceDedup-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>parseLineageTraceDedup</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;parseLineageTraceDedup(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
-</li>
-</ul>
 </li>
 </ul>
 </li>
@@ -291,7 +278,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageParser.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html
new file mode 100644
index 0000000..53d56b8
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LineageRecomputeUtils (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LineageRecomputeUtils (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageRecomputeUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" target="_top">Frames</a></li>
+<li><a href="LineageRecomputeUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.lineage</div>
+<h2 title="Class LineageRecomputeUtils" class="title">Class LineageRecomputeUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.lineage.LineageRecomputeUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LineageRecomputeUtils</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.sysds.runtime.lineage.LineageRecomputeUtils.DedupLoopItem&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#loopPatchMap">loopPatchMap</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#LineageRecomputeUtils--">LineageRecomputeUtils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html#parseNComputeLineageTrace-java.lang.String-java.lang.String-">parseNComputeLineageTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mainTrace,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dedupPatches)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="LPLACEHOLDER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LPLACEHOLDER</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LPLACEHOLDER</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.sysds.runtime.lineage.LineageRecomputeUtils.LPLACEHOLDER">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="loopPatchMap">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>loopPatchMap</h4>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.sysds.runtime.lineage.LineageRecomputeUtils.DedupLoopItem&gt; loopPatchMap</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LineageRecomputeUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LineageRecomputeUtils</h4>
+<pre>public&nbsp;LineageRecomputeUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseNComputeLineageTrace-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>parseNComputeLineageTrace</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;parseNComputeLineageTrace(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mainTrace,
+                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dedupPatches)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LineageRecomputeUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" target="_top">Frames</a></li>
+<li><a href="LineageRecomputeUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
index 32dc8cd..0fd08d0 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/LineageRewriteReuse.html
@@ -49,7 +49,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -228,7 +228,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
index eebc6a4..c64e7e8 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageItem.html
@@ -365,29 +365,27 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageParser.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageParser.html#parseLineageTraceDedup-java.lang.String-">parseLineageTraceDedup</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">replace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCodegenItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCodegenItem.html#setCodegenLTrace-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setCodegenLTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
@@ -429,34 +427,30 @@
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#checkCycles-org.apache.sysds.runtime.lineage.LineageItem-">checkCycles</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#computeByLineage-org.apache.sysds.runtime.lineage.LineageItem-">computeByLineage</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#containsRandDataGen-java.util.HashSet-org.apache.sysds.runtime.lineage.LineageItem-">containsRandDataGen</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;entries,
                    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#explainSingleLineageItem-org.apache.sysds.runtime.lineage.LineageItem-">explainSingleLineageItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#getMatrix-org.apache.sysds.runtime.lineage.LineageItem-">getMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#probe-org.apache.sysds.runtime.lineage.LineageItem-">probe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;key)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#putValue-java.util.List-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-long-">putValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outputs,
         <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liInputs,
@@ -464,42 +458,44 @@
         <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
         long&nbsp;computetime)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rCheckCycles-org.apache.sysds.runtime.lineage.LineageItem-java.util.Set-boolean-">rCheckCycles</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;probe,
             boolean&nbsp;useObjIdent)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rDecompress-org.apache.sysds.runtime.lineage.LineageItem-">rDecompress</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replace-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">replace</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
        <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#replaceDagLeaves-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.instructions.cp.CPOperand:A-">replaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
                 <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>[]&nbsp;newLeaves)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatus</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatusNR-org.apache.sysds.runtime.lineage.LineageItem:A-">resetVisitStatusNR</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;lis)</code>
 <div class="block">Non-recursive equivalent of <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#resetVisitStatus-org.apache.sysds.runtime.lineage.LineageItem:A-"><code>resetVisitStatus(LineageItem[])</code></a> 
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCache.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCache.html#reuse-java.util.List-java.util.List-int-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">reuse</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;outNames,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a>&gt;&nbsp;outParams,
@@ -508,16 +504,11 @@
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
      <a href="../../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rGetDagLeaves-java.util.HashSet-org.apache.sysds.runtime.lineage.LineageItem-">rGetDagLeaves</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html?is-external=true" title="class or interface in java.util">HashSet</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&gt;&nbsp;leaves,
              <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
-                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;newleaves)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
@@ -525,6 +516,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceDagLeaves-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem:A-">rReplaceDagLeaves</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;root,
+                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;newleaves)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItemUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html#rReplaceNR-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-org.apache.sysds.runtime.lineage.LineageItem-">rReplaceNR</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;current,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liOld,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;liNew)</code>
@@ -532,32 +528,32 @@
  for robustness with regard to stack overflow errors.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#set-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">set</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
    <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageCodegenItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageCodegenItem.html#setCodegenLTrace-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setCodegenLTrace</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageItem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html#setInput-int-org.apache.sysds.runtime.lineage.LineageItem-">setInput</a></span>(int&nbsp;i,
         <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;item)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Lineage.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/Lineage.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#setLiteral-java.lang.String-org.apache.sysds.runtime.lineage.LineageItem-">setLiteral</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;varName,
           <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>&nbsp;li)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
index 3ad82a3..c42ace8 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageMap.html
@@ -138,17 +138,12 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html#processDedupItem-org.apache.sysds.runtime.lineage.LineageMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageItem:A-java.lang.String-">processDedupItem</a></span>(<a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;lm,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;path,
                 <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a>[]&nbsp;liinputs,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LineageDedupBlock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageDedupBlock.html#setMap-java.lang.Long-org.apache.sysds.runtime.lineage.LineageMap-">setMap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;takenPath,
       <a href="../../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a>&nbsp;tracedMap)</code>&nbsp;</td>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html
new file mode 100644
index 0000000..282cae4
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.lineage.LineageRecomputeUtils (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.lineage.LineageRecomputeUtils (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html" target="_top">Frames</a></li>
+<li><a href="LineageRecomputeUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.lineage.LineageRecomputeUtils" class="title">Uses of Class<br>org.apache.sysds.runtime.lineage.LineageRecomputeUtils</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.lineage.LineageRecomputeUtils</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/lineage/class-use/LineageRecomputeUtils.html" target="_top">Frames</a></li>
+<li><a href="LineageRecomputeUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
index 9618f8b..3e7bdcc 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-frame.html
@@ -30,6 +30,7 @@
 <li><a href="LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageItemUtils</a></li>
 <li><a href="LineageMap.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageMap</a></li>
 <li><a href="LineageParser.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageParser</a></li>
+<li><a href="LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageRecomputeUtils</a></li>
 <li><a href="LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageRewriteReuse</a></li>
 <li><a href="LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage" target="classFrame">LineageTokenizer</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
index 158604f..4ccc123 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-summary.html
@@ -152,10 +152,14 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage">LineageRewriteReuse</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage">LineageRewriteReuse</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html b/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
index e9a129e..e638d0d 100644
--- a/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/lineage/package-tree.html
@@ -94,6 +94,7 @@
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageItemUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageMap</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageParser</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRecomputeUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRewriteReuse</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="../../../../../org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageTokenizer</span></a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
index 525549a..7e81969 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.html
@@ -192,8 +192,9 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                       <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                       boolean&nbsp;m1Perm)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
@@ -1199,14 +1200,15 @@
                                                          int&nbsp;k)</pre>
 </li>
 </ul>
-<a name="isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
+<a name="isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isUltraSparseMatrixMult</h4>
 <pre>public static&nbsp;boolean&nbsp;isUltraSparseMatrixMult(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</pre>
+                                              <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                                              boolean&nbsp;m1Perm)</pre>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
index 2199a8d..359526c 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/MatrixBlock.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":9,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":9,"i54":10,"i55":9,"i56":10,"i57":9,"i58":9,"i59":9,"i60":9,"i61":10,"i62":9,"i63":9,"i64":10,"i65":9,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":9,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":9,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":9,"i130":9,"i131":9,"i132":9,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":9,"i152":10,"i153":9,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":9,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":9,"i54":10,"i55":9,"i56":10,"i57":9,"i58":9,"i59":9,"i60":9,"i61":10,"i62":9,"i63":9,"i64":10,"i65":9,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":9,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":9,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":9,"i130":9,"i131":9,"i132":9,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":9,"i152":10,"i153":9,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":10,"i171":10,"i172":10,"i173":10,"i174":10,"i175":10,"i176":10,"i177":10,"i178":10,"i179":10,"i180":10,"i181":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -241,16 +241,21 @@
            long&nbsp;estnnz)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-org.apache.sysds.runtime.data.DenseBlock-">MatrixBlock</a></span>(int&nbsp;rl,
+           int&nbsp;cl,
+           <a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dBlock)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-double-">MatrixBlock</a></span>(int&nbsp;rl,
            int&nbsp;cl,
            double&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-long-">MatrixBlock</a></span>(int&nbsp;rl,
            int&nbsp;cl,
            long&nbsp;estnnz)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-int-int-long-org.apache.sysds.runtime.data.SparseBlock-">MatrixBlock</a></span>(int&nbsp;rl,
            int&nbsp;cl,
            long&nbsp;nnz,
@@ -258,10 +263,10 @@
 <div class="block">Constructs a sparse <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><code>MatrixBlock</code></a> with a given instance of a <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data"><code>SparseBlock</code></a></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">MatrixBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.data.SparseBlock.Type-boolean-">MatrixBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
            <a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">SparseBlock.Type</a>&nbsp;stype,
            boolean&nbsp;deep)</code>&nbsp;</td>
@@ -919,27 +924,27 @@
 </tr>
 <tr id="i100" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isSparsePermutationMatrix--">isSparsePermutationMatrix</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i101" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe--">isThreadSafe</a></span>()</code>
 <div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
 </td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isThreadSafe-boolean-">isThreadSafe</a></span>(boolean&nbsp;sparse)</code>
 <div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
 </td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse--">isUltraSparse</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a></span>(boolean&nbsp;checkNnz)</code>&nbsp;</td>
-</tr>
 <tr id="i104" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparsePermutationMatrix--">isUltraSparsePermutationMatrix</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html#isUltraSparse-boolean-">isUltraSparse</a></span>(boolean&nbsp;checkNnz)</code>&nbsp;</td>
 </tr>
 <tr id="i105" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -1682,7 +1687,7 @@
 <a name="MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.data.SparseBlock.Type-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>MatrixBlock</h4>
 <pre>public&nbsp;MatrixBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
@@ -1690,6 +1695,17 @@
                    boolean&nbsp;deep)</pre>
 </li>
 </ul>
+<a name="MatrixBlock-int-int-org.apache.sysds.runtime.data.DenseBlock-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MatrixBlock</h4>
+<pre>public&nbsp;MatrixBlock(int&nbsp;rl,
+                   int&nbsp;cl,
+                   <a href="../../../../../../org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dBlock)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -2430,13 +2446,13 @@
 <pre>public&nbsp;boolean&nbsp;isUltraSparse(boolean&nbsp;checkNnz)</pre>
 </li>
 </ul>
-<a name="isUltraSparsePermutationMatrix--">
+<a name="isSparsePermutationMatrix--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>isUltraSparsePermutationMatrix</h4>
-<pre>public&nbsp;boolean&nbsp;isUltraSparsePermutationMatrix()</pre>
+<h4>isSparsePermutationMatrix</h4>
+<pre>public&nbsp;boolean&nbsp;isSparsePermutationMatrix()</pre>
 </li>
 </ul>
 <a name="evalSparseFormatInMemory--">
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
index 898804b..82d501a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/FrameBlock.html
@@ -474,11 +474,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-java.lang.String-int-">DecodeMatrix</a></span>(long&nbsp;input,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.transform.decode.Decoder-">DecodeMatrix</a></span>(long&nbsp;input,
             long&nbsp;outputID,
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-            int&nbsp;globalOffset)</code>&nbsp;</td>
+            <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
index 0236223..297369f 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html
@@ -183,14 +183,18 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -1181,28 +1185,6 @@
                          int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-        int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
-        int&nbsp;k,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">The main method for compressing the input matrix.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ctableSeqOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-double-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ctableSeqOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
                    double&nbsp;scalar,
@@ -1338,10 +1320,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
+<td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#slice-int-int-int-int-boolean-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
      int&nbsp;ru,
      int&nbsp;cl,
      int&nbsp;cu,
+     boolean&nbsp;deep,
      <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1389,6 +1372,37 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        int&nbsp;k)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
+        int&nbsp;k,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
+<div class="block">The main method for compressing the input matrix.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/compress/package-summary.html">org.apache.sysds.runtime.compress</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1452,21 +1466,21 @@
             <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;customSettings)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colFirst"><code>static org.apache.commons.lang3.tuple.Pair&lt;<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>,<a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlockFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html#compress-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-org.apache.sysds.runtime.compress.CompressionSettings-">compress</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mb,
         int&nbsp;k,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
@@ -1534,7 +1548,7 @@
                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmap-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmap</a></span>(int[]&nbsp;colIndices,
              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
              <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
@@ -1542,13 +1556,6 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BitmapEncoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/BitmapEncoder.html#extractBitmapFromSample-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">extractBitmapFromSample</a></span>(int[]&nbsp;colIndices,
-                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                       int[]&nbsp;sampleIndexes,
-                       <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
                       int&nbsp;rl,
@@ -1558,7 +1565,7 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#leftIndexingOperations-org.apache.sysds.runtime.instructions.cp.ScalarObject-int-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType-">leftIndexingOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
                       int&nbsp;rl,
@@ -1566,7 +1573,7 @@
                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                       <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -1574,7 +1581,7 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#quaternaryOperations-org.apache.sysds.runtime.matrix.operators.QuaternaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">quaternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
@@ -1583,20 +1590,20 @@
                     <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                     int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#removeEmptyOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-boolean-org.apache.sysds.runtime.matrix.data.MatrixBlock-">removeEmptyOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                      boolean&nbsp;rows,
                      boolean&nbsp;emptyReturn,
                      <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#rexpandOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-double-boolean-boolean-boolean-int-">rexpandOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
                  double&nbsp;max,
@@ -1605,30 +1612,30 @@
                  boolean&nbsp;ignore,
                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#sortOperations-org.apache.sysds.runtime.matrix.data.MatrixValue-org.apache.sysds.runtime.matrix.data.MatrixBlock-">sortOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#ternaryOperations-org.apache.sysds.runtime.matrix.operators.TernaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ternaryOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#transposeSelfMatrixMultOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.lops.MMTSJ.MMTSJType-int-">transposeSelfMatrixMultOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
                                  <a href="../../../../../../../org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
                                  int&nbsp;k)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractCompressedMatrixBlock.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/AbstractCompressedMatrixBlock.html#uaggouterchainOperations-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">uaggouterchainOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
@@ -1650,27 +1657,19 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/CompressedMatrixBlock.html#CompressedMatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">CompressedMatrixBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code>
-<div class="block">"Copy" constructor to populate this compressed block with the uncompressed contents of a conventional block.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDense.html#ReaderColumnSelectionDense-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDense</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                           int[]&nbsp;colIndices,
-                          boolean&nbsp;skipZeros,
                           <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionDenseSample.html#ReaderColumnSelectionDenseSample-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionDenseSample</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                                 int[]&nbsp;colIndexes,
                                 int[]&nbsp;sampleIndexes,
-                                boolean&nbsp;skipZeros,
                                 <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-boolean-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/ReaderColumnSelectionSparse.html#ReaderColumnSelectionSparse-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-org.apache.sysds.runtime.compress.CompressionSettings-">ReaderColumnSelectionSparse</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data,
                            int[]&nbsp;colIndexes,
-                           boolean&nbsp;skipZeros,
                            <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -1689,14 +1688,6 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock--">getCountsAsBlock</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCountsAsBlock-int:A-">getCountsAsBlock</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getData--">getData</a></span>()</code>
 <div class="block">Access for superclass</div>
 </td>
@@ -1708,6 +1699,16 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>
+<div class="block">Returns the ColGroup as a MatrixBlock.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1731,11 +1732,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.UncompressedBitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
+<td class="colLast"><span class="typeNameLabel">ColGroupFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html#compress-int:A-int-org.apache.sysds.runtime.compress.utils.ABitmap-org.apache.sysds.runtime.compress.colgroup.ColGroup.CompressionType-org.apache.sysds.runtime.compress.CompressionSettings-org.apache.sysds.runtime.matrix.data.MatrixBlock-">compress</a></span>(int[]&nbsp;colIndexes,
         int&nbsp;rlen,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress">UncompressedBitmap</a>&nbsp;ubm,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils">ABitmap</a>&nbsp;ubm,
         <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;compType,
-        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings,
+        <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;cs,
         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawMatrixBlock)</code>
 <div class="block">Method for compressing an ColGroup.</div>
 </td>
@@ -1751,26 +1752,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#computeRowSums-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.functionobjects.KahanFunction-int-int-">computeRowSums</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-              <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-              <a href="../../../../../../../org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a>&nbsp;kplus,
-              int&nbsp;rl,
-              int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;colpos)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;colpos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1792,61 +1780,50 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;colpos)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;colpos)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colixTargets)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupDDC.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>
 <div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colIndexTargets)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int[]&nbsp;colixTargets)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
+<td class="colLast"><span class="typeNameLabel">ColGroupOffset.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOffset.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
@@ -1872,125 +1849,30 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static double[]</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupConverter.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConverter.html#getDenseVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getDenseVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector)</code>
 <div class="block">Extract the double array primitive from a Matrix Block that is an vector.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;matrix,
+                <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;a,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a row vector on the left (the original
- column vector is assumed to be transposed already i.e.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#leftMultByRowVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">leftMultByRowVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                   <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                   int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC1:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC1</a>[]&nbsp;grps,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByMatrix</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                  int&nbsp;rl,
                  int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;k)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>
-<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
                  <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
                  int&nbsp;rl,
@@ -1998,65 +1880,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#rightMultByVector-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">rightMultByVector</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vector,
-                 <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                 int&nbsp;rl,
-                 int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
-<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
- matrix.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
                         <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
-                        int&nbsp;rl,
-                        int&nbsp;ru)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/package-summary.html">org.apache.sysds.runtime.compress.colgroup</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndices,
-                    int&nbsp;numRows,
-                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;data)</code>
-<div class="block">Constructor for internal use.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#ColGroupUncompressed-int:A-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.compress.CompressionSettings-">ColGroupUncompressed</a></span>(int[]&nbsp;colIndicesList,
-                    <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rawBlock,
-                    <a href="../../../../../../../org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a>&nbsp;compSettings)</code>
-<div class="block">Main constructor for Uncompressed ColGroup.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -5708,8 +5534,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
-                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LibMatrixMult.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixMult.html#isUltraSparseMatrixMult-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-boolean-">isUltraSparseMatrixMult</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
+                       <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
+                       boolean&nbsp;m1Perm)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
@@ -6355,6 +6182,29 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">matrixMultiplicationPropagation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                               <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                               <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.transform.decode">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
index e5ee947..f6522b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/data/package-use.html
@@ -191,22 +191,26 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.meta">org.apache.sysds.runtime.transform.meta</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.utils">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -880,6 +884,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/matrix/data/package-summary.html">org.apache.sysds.runtime.matrix.data</a> used by <a href="../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/class-use/MatrixBlock.html#org.apache.sysds.runtime.privacy">MatrixBlock</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.transform.decode">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
index cc5cb52..4e79e62 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -174,6 +174,11 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">LeftScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
                   double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">LeftScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                  double&nbsp;cst,
+                  int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -199,13 +204,18 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#setConstant-double-">setConstant</a></span>(double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.matrix.operators.ScalarOperator">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -231,13 +241,24 @@
 <a name="LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>LeftScalarOperator</h4>
 <pre>public&nbsp;LeftScalarOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
                           double&nbsp;cst)</pre>
 </li>
 </ul>
+<a name="LeftScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LeftScalarOperator</h4>
+<pre>public&nbsp;LeftScalarOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                          double&nbsp;cst,
+                          int&nbsp;numThreads)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -246,6 +267,20 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="setConstant-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConstant</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;setConstant(double&nbsp;cst,
+                                  int&nbsp;numThreads)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="setConstant-double-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
index c9c81e4..c22b202 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -174,6 +174,11 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">RightScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
                    double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">RightScalarOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                   double&nbsp;cst,
+                   int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -199,13 +204,18 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#setConstant-double-">setConstant</a></span>(double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.matrix.operators.ScalarOperator">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.operators.<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a>, <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -231,13 +241,24 @@
 <a name="RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>RightScalarOperator</h4>
 <pre>public&nbsp;RightScalarOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
                            double&nbsp;cst)</pre>
 </li>
 </ul>
+<a name="RightScalarOperator-org.apache.sysds.runtime.functionobjects.ValueFunction-double-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RightScalarOperator</h4>
+<pre>public&nbsp;RightScalarOperator(<a href="../../../../../../org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a>&nbsp;p,
+                           double&nbsp;cst,
+                           int&nbsp;numThreads)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -259,6 +280,20 @@
 </dl>
 </li>
 </ul>
+<a name="setConstant-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConstant</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;setConstant(double&nbsp;cst,
+                                  int&nbsp;numThreads)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="executeScalar-double-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
index 8bbcdf4..0757b6e 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/ScalarOperator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":6};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -202,9 +202,18 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getConstant--">getConstant</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#getNumThreads--">getNumThreads</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-">setConstant</a></span>(double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -280,10 +289,20 @@
 <pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;setConstant(double&nbsp;cst)</pre>
 </li>
 </ul>
+<a name="setConstant-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConstant</h4>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;setConstant(double&nbsp;cst,
+                                           int&nbsp;numThreads)</pre>
+</li>
+</ul>
 <a name="executeScalar-double-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>executeScalar</h4>
 <pre>public abstract&nbsp;double&nbsp;executeScalar(double&nbsp;in)</pre>
@@ -296,6 +315,15 @@
 </dl>
 </li>
 </ul>
+<a name="getNumThreads--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getNumThreads</h4>
+<pre>public&nbsp;int&nbsp;getNumThreads()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
index 1884470..31589e5 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/AggregateUnaryOperator.html
@@ -169,29 +169,51 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>
+<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c)</code>
 <div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
  matrix.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;ret)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>
+<div class="block">Unary Aggregate operator, since aggregate operators require new object output, the output becomes an uncompressed
+ matrix.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;result,
+                        int&nbsp;rl,
+                        int&nbsp;ru)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
-                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result,
+<td class="colLast"><span class="typeNameLabel">ColGroupValue.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        double[]&nbsp;c,
                         int&nbsp;rl,
                         int&nbsp;ru)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.data.MatrixBlock-">unaryAggregateOperations</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
+                        <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
index 5176044..ff09c46 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/Operator.html
@@ -212,18 +212,22 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Instruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/Instruction.html#getOperator--">getOperator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                             <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                             <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseExtendedBinaryOrBuiltinOperator-java.lang.String-org.apache.sysds.runtime.instructions.cp.CPOperand-org.apache.sysds.runtime.instructions.cp.CPOperand-">parseExtendedBinaryOrBuiltinOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opcode,
                                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in1,
                                     <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a>&nbsp;in2)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">InstructionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/InstructionUtils.html#parseGroupedAggOperator-java.lang.String-java.lang.String-">parseGroupedAggOperator</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fn,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;other)</code>&nbsp;</td>
@@ -323,19 +327,6 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> that return <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SPInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/SPInstruction.html#getOperator--">getOperator</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/spark/package-summary.html">org.apache.sysds.runtime.instructions.spark</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
index 234f66c..cef2e4a 100644
--- a/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
+++ b/docs/api/java/org/apache/sysds/runtime/matrix/operators/class-use/ScalarOperator.html
@@ -142,33 +142,63 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#apply-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">apply</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ADictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>
+<div class="block">Applies the scalar operation on the dictionary.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Dictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/Dictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">QDictionary</a></code></td>
+<td class="colLast"><span class="typeNameLabel">QDictionary.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/QDictionary.html#applyScalarOp-org.apache.sysds.runtime.matrix.operators.ScalarOperator-double-int-">applyScalarOp</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op,
+             double&nbsp;newVal,
+             int&nbsp;numCols)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColGroupRLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ColGroupDDC1.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC1.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
 <div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
  cells if possible.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupUncompressed.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupDDC2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC2.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ColGroupOLE.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
@@ -364,6 +394,21 @@
 <td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ScalarOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-">setConstant</a></span>(double&nbsp;cst)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RightScalarOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">LeftScalarOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ScalarOperator.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html#setConstant-double-int-">setConstant</a></span>(double&nbsp;cst,
+           int&nbsp;numThreads)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
index b3f32d9..bd4e671 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -107,11 +107,21 @@
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">PrivacyConstraint</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.privacy.PrivacyConstraint">Serialized Form</a></dd>
+</dl>
 </li>
 </ul>
 </div>
@@ -149,10 +159,22 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint--">PrivacyConstraint</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint--">PrivacyConstraint</a></span>()</code>
+<div class="block">Basic Constructor with a fine-grained collection 
+ based on a list implementation.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">PrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">PrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacyCollection)</code>
+<div class="block">Constructor with the option to choose between 
+ different fine-grained collection implementations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">PrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Constructor with default fine-grained collection implementation
+ where the entire data object is set to the given privacy level.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -170,13 +192,57 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getFineGrainedPrivacy--">getFineGrainedPrivacy</a></span>()</code>
+<div class="block">Get fine-grained privacy instance.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getPrivacyLevel--">getPrivacyLevel</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasConstraints--">hasConstraints</a></span>()</code>
+<div class="block">Return true if any constraints have level Private or PrivateAggregate.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasFineGrainedConstraints--">hasFineGrainedConstraints</a></span>()</code>
+<div class="block">Checks if fine-grained privacy is set for this privacy constraint.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#hasPrivateElements--">hasPrivateElements</a></span>()</code>
+<div class="block">Return true if any of the elements has privacy level private</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">setFineGrainedPrivacyConstraints</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy)</code>
+<div class="block">Sets fine-grained privacy for the privacy constraint.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">setPrivacyLevel</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>org.apache.wink.json4j.JSONObject</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#toJson-org.apache.wink.json4j.JSONObject-">toJson</a></span>(org.apache.wink.json4j.JSONObject&nbsp;json)</code>
+<div class="block">Get privacy constraints and put them into JSON object.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -206,6 +272,23 @@
 <li class="blockList">
 <h4>PrivacyConstraint</h4>
 <pre>public&nbsp;PrivacyConstraint()</pre>
+<div class="block">Basic Constructor with a fine-grained collection 
+ based on a list implementation.</div>
+</li>
+</ul>
+<a name="PrivacyConstraint-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PrivacyConstraint</h4>
+<pre>public&nbsp;PrivacyConstraint(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacyCollection)</pre>
+<div class="block">Constructor with the option to choose between 
+ different fine-grained collection implementations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fineGrainedPrivacyCollection</code> - the instance in which fine-grained constraints are stored</dd>
+</dl>
 </li>
 </ul>
 <a name="PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
@@ -215,6 +298,12 @@
 <li class="blockList">
 <h4>PrivacyConstraint</h4>
 <pre>public&nbsp;PrivacyConstraint(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block">Constructor with default fine-grained collection implementation
+ where the entire data object is set to the given privacy level.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyLevel</code> - for the entire data object.</dd>
+</dl>
 </li>
 </ul>
 </li>
@@ -237,12 +326,134 @@
 <a name="getPrivacyLevel--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getPrivacyLevel</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;getPrivacyLevel()</pre>
 </li>
 </ul>
+<a name="hasFineGrainedConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasFineGrainedConstraints</h4>
+<pre>public&nbsp;boolean&nbsp;hasFineGrainedConstraints()</pre>
+<div class="block">Checks if fine-grained privacy is set for this privacy constraint.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the privacy constraint has fine-grained constraints.</dd>
+</dl>
+</li>
+</ul>
+<a name="setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setFineGrainedPrivacyConstraints</h4>
+<pre>public&nbsp;void&nbsp;setFineGrainedPrivacyConstraints(<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy)</pre>
+<div class="block">Sets fine-grained privacy for the privacy constraint. 
+ Existing fine-grained privacy collection will be overwritten.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fineGrainedPrivacy</code> - fine-grained privacy instance which is set for the privacy constraint</dd>
+</dl>
+</li>
+</ul>
+<a name="getFineGrainedPrivacy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFineGrainedPrivacy</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;getFineGrainedPrivacy()</pre>
+<div class="block">Get fine-grained privacy instance.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>fine-grained privacy instance</dd>
+</dl>
+</li>
+</ul>
+<a name="hasPrivateElements--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasPrivateElements</h4>
+<pre>public&nbsp;boolean&nbsp;hasPrivateElements()</pre>
+<div class="block">Return true if any of the elements has privacy level private</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any element has privacy level private</dd>
+</dl>
+</li>
+</ul>
+<a name="hasConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasConstraints</h4>
+<pre>public&nbsp;boolean&nbsp;hasConstraints()</pre>
+<div class="block">Return true if any constraints have level Private or PrivateAggregate.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any constraints have level Private or PrivateAggregate</dd>
+</dl>
+</li>
+</ul>
+<a name="toJson-org.apache.wink.json4j.JSONObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toJson</h4>
+<pre>public&nbsp;org.apache.wink.json4j.JSONObject&nbsp;toJson(org.apache.wink.json4j.JSONObject&nbsp;json)
+                                         throws org.apache.wink.json4j.JSONException</pre>
+<div class="block">Get privacy constraints and put them into JSON object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>json</code> - JSON object in which the privacy constraints are put</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>JSON object including the privacy constraints</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.wink.json4j.JSONException</code> - in case of errors in creating JSON object</dd>
+</dl>
+</li>
+</ul>
+<a name="readExternal-java.io.ObjectInput-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="writeExternal-java.io.ObjectOutput-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyPropagator.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyPropagator.html
index abacf5b..cb20d47 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyPropagator.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyPropagator.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -50,7 +50,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/PrivacyPropagator.html" target="_top">Frames</a></li>
@@ -150,81 +150,90 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
-           <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">matrixMultiplicationPropagation</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                               <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                               <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                               <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeNary-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">mergeNary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+           <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeNary-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">mergeNary</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#parseAndSetPrivacyConstraint-org.apache.sysds.runtime.instructions.cp.Data-org.apache.wink.json4j.JSONObject-">parseAndSetPrivacyConstraint</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a>&nbsp;cd,
                             org.apache.wink.json4j.JSONObject&nbsp;mtd)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#postProcessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">postProcessInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                       <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBinaryCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
                              <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessBuiltinNary-org.apache.sysds.runtime.instructions.cp.BuiltinNaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessBuiltinNary</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/BuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BuiltinNaryCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
-                       <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
-</tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessCPInstructionFineGrained</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
+                                  <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessExternal-org.apache.sysds.runtime.instructions.cp.FunctionCallCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessExternal</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a>&nbsp;inst,
                   <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessInstruction-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessInstructionSimple-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessInstructionSimple</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;inst,
                            <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>
 <div class="block">Throw exception if privacy constraints are activated or return instruction if privacy is not activated</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessMultiReturn-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessMultiReturn</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                      <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessParameterizedBuiltin-org.apache.sysds.runtime.instructions.cp.ParameterizedBuiltinCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessParameterizedBuiltin</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessQuaternary-org.apache.sysds.runtime.instructions.cp.QuaternaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessQuaternary</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a>&nbsp;inst,
                     <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessTernaryCPInstruction-org.apache.sysds.runtime.instructions.cp.ComputationCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessTernaryCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a>&nbsp;inst,
                               <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessUnaryCPInstruction-org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessUnaryCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a>&nbsp;inst,
                             <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#preprocessVariableCPInstruction-org.apache.sysds.runtime.instructions.cp.VariableCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">preprocessVariableCPInstruction</a></span>(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a>&nbsp;inst,
                                <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</code>&nbsp;</td>
@@ -312,14 +321,48 @@
                                                 <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
-<a name="preprocessCPInstruction-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<a name="preprocessCPInstructionFineGrained-org.apache.sysds.runtime.instructions.cp.CPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>preprocessCPInstruction</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;preprocessCPInstruction(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
-                                                  <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+<h4>preprocessCPInstructionFineGrained</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;preprocessCPInstructionFineGrained(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a>&nbsp;inst,
+                                                             <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
+<a name="preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>preprocessBinaryCPInstruction</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;preprocessBinaryCPInstruction(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
+                                                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
+</li>
+</ul>
+<a name="matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>matrixMultiplicationPropagation</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;matrixMultiplicationPropagation(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                                                                <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                                                                <a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                                                                <a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</pre>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.
+ The current implementation has a tendency to create small ranges of privacy level private. These ranges could be merged
+ to create fewer ranges spanning the same elements.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input1</code> - first input matrix block</dd>
+<dd><code>privacyConstraint1</code> - privacy constraint of the first matrix</dd>
+<dd><code>input2</code> - second input matrix block</dd>
+<dd><code>privacyConstraint2</code> - privacy constraint of the second matrix</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>merged privacy constraint</dd>
+</dl>
 </li>
 </ul>
 <a name="preprocessInstructionSimple-org.apache.sysds.runtime.instructions.Instruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
@@ -400,16 +443,6 @@
                                                          <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
 </li>
 </ul>
-<a name="preprocessBinaryCPInstruction-org.apache.sysds.runtime.instructions.cp.BinaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preprocessBinaryCPInstruction</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a>&nbsp;preprocessBinaryCPInstruction(<a href="../../../../../org/apache/sysds/runtime/instructions/cp/BinaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">BinaryCPInstruction</a>&nbsp;inst,
-                                                        <a href="../../../../../org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a>&nbsp;ec)</pre>
-</li>
-</ul>
 <a name="preprocessUnaryCPInstruction-org.apache.sysds.runtime.instructions.cp.UnaryCPInstruction-org.apache.sysds.runtime.controlprogram.context.ExecutionContext-">
 <!--   -->
 </a>
@@ -469,7 +502,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/PrivacyPropagator.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html
new file mode 100644
index 0000000..d87b979
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/PrivacyUtils.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PrivacyUtils (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PrivacyUtils (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PrivacyUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/PrivacyUtils.html" target="_top">Frames</a></li>
+<li><a href="PrivacyUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy</div>
+<h2 title="Class PrivacyUtils" class="title">Class PrivacyUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.PrivacyUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PrivacyUtils</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#PrivacyUtils--">PrivacyUtils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy</a></span>(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
+                     <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PrivacyUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PrivacyUtils</h4>
+<pre>public&nbsp;PrivacyUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setFineGrainedPrivacy</h4>
+<pre>public static&nbsp;void&nbsp;setFineGrainedPrivacy(<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
+                                         <a href="../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PrivacyUtils.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/PrivacyUtils.html" target="_top">Frames</a></li>
+<li><a href="PrivacyUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
index 1a3b71b..a3f28c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html
@@ -94,6 +94,10 @@
 <td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.finegrained">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -229,7 +233,106 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">PrivacyConstraint</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">PrivacyConstraint</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Constructor with default fine-grained collection implementation
+ where the entire data object is set to the given privacy level.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.finegrained">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a> in <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> that return types with arguments of type <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Set privacy level of the given data range.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
index 26ef132..9d107f2 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html
@@ -256,6 +256,10 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Data.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html#getPrivacyConstraint--">getPrivacyConstraint</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CPOperand.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#getPrivacyConstraint--">getPrivacyConstraint</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -267,6 +271,10 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CPOperand.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CPOperand.html#setPrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraint</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Data.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/Data.html#setPrivacyConstraints-org.apache.sysds.runtime.privacy.PrivacyConstraint-">setPrivacyConstraints</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;pc)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -285,10 +293,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">matrixMultiplicationPropagation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
            <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeNary-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">mergeNary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
 </tr>
@@ -303,13 +320,27 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
-           <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#matrixMultiplicationPropagation-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.privacy.PrivacyConstraint-">matrixMultiplicationPropagation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input1,
+                               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+                               <a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;input2,
+                               <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>
+<div class="block">Return the merged fine-grained privacy constraint of a matrix multiplication with the given privacy constraints.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeBinary-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.runtime.privacy.PrivacyConstraint-">mergeBinary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint1,
+           <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint2)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivacyPropagator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html#mergeNary-org.apache.sysds.runtime.privacy.PrivacyConstraint:A-">mergeNary</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>[]&nbsp;privacyConstraints)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html#setFineGrainedPrivacy-org.apache.sysds.runtime.privacy.PrivacyConstraint-org.apache.sysds.parser.Expression-">setFineGrainedPrivacy</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a>&nbsp;privacyConstraint,
+                     <a href="../../../../../../org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a>&nbsp;eFineGrainedPrivacy)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html
new file mode 100644
index 0000000..532b3c3
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.privacy.PrivacyUtils (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.PrivacyUtils (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html" target="_top">Frames</a></li>
+<li><a href="PrivacyUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.PrivacyUtils" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.PrivacyUtils</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.PrivacyUtils</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/class-use/PrivacyUtils.html" target="_top">Frames</a></li>
+<li><a href="PrivacyUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html
new file mode 100644
index 0000000..b3c3b11
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DataRange (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DataRange (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataRange.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/DataRange.html" target="_top">Frames</a></li>
+<li><a href="DataRange.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.finegrained</div>
+<h2 title="Class DataRange" class="title">Class DataRange</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.finegrained.DataRange</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DataRange</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A DataRange instance marks a part of a CachableData data object.
+ The beginDims marks the beginning for all dimensions and
+ the endDims marks the end for all dimensions. 
+ DataRange is very similar to org.apache.sysds.runtime.util.IndexRange, 
+ except that DataRange supports more than two dimensions.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#DataRange-long:A-long:A-">DataRange</a></span>(long[]&nbsp;beginDims,
+         long[]&nbsp;endDims)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#contains-long:A-">contains</a></span>(long[]&nbsp;index)</code>
+<div class="block">Returns true if the given index is in the data range.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#getBeginDims--">getBeginDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#getEndDims--">getEndDims</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#overlaps-org.apache.sysds.runtime.privacy.finegrained.DataRange-">overlaps</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange)</code>
+<div class="block">Returns true if this data range overlaps with the given data range.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DataRange-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DataRange</h4>
+<pre>public&nbsp;DataRange(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getBeginDims--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBeginDims</h4>
+<pre>public&nbsp;long[]&nbsp;getBeginDims()</pre>
+</li>
+</ul>
+<a name="getEndDims--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEndDims</h4>
+<pre>public&nbsp;long[]&nbsp;getEndDims()</pre>
+</li>
+</ul>
+<a name="overlaps-org.apache.sysds.runtime.privacy.finegrained.DataRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>overlaps</h4>
+<pre>public&nbsp;boolean&nbsp;overlaps(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange)</pre>
+<div class="block">Returns true if this data range overlaps with the given data range. 
+ An overlap means that the data ranges have some overlap in all dimension.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataRange</code> - for which the overlap is checked</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the data ranges overlap or false if not</dd>
+</dl>
+</li>
+</ul>
+<a name="contains-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>contains</h4>
+<pre>public&nbsp;boolean&nbsp;contains(long[]&nbsp;index)</pre>
+<div class="block">Returns true if the given index is in the data range.
+ Being in the data range means that the index has to be in the range for all dimensions.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>index</code> - of an element for which it is checked if it is in the range</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the index is in the range and false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DataRange.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/DataRange.html" target="_top">Frames</a></li>
+<li><a href="DataRange.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html
new file mode 100644
index 0000000..25b3c45
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FineGrainedPrivacy (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FineGrainedPrivacy (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.finegrained</div>
+<h2 title="Interface FineGrainedPrivacy" class="title">Interface FineGrainedPrivacy</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a>, <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">FineGrainedPrivacy</span></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">getAllConstraints</a></span>()</code>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">hasConstraints</a></span>()</code>
+<div class="block">True if any fine-grained constraints has been set.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Set privacy level of the given data range.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">removeAllConstraints</a></span>()</code>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>void&nbsp;put(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+         <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block">Set privacy level of the given data range.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataRange</code> - representing the range for which the privacy is set</dd>
+<dd><code>privacyLevel</code> - the level of privacy for the given data range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevel</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</pre>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchRange</code> - the range from which all privacy levels are retrieved</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level within the given search range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevelOfElement-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevelOfElement</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevelOfElement(long[]&nbsp;searchIndex)</pre>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchIndex</code> - index of element</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level for the given search element</dd>
+</dl>
+</li>
+</ul>
+<a name="getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataRangesOfPrivacyLevel</h4>
+<pre><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]&nbsp;getDataRangesOfPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block">Get all data ranges for the given privacy level.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyLevel</code> - for which data ranges are found</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all data ranges with the given privacy level</dd>
+</dl>
+</li>
+</ul>
+<a name="removeAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeAllConstraints</h4>
+<pre>void&nbsp;removeAllConstraints()</pre>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+</li>
+</ul>
+<a name="hasConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasConstraints</h4>
+<pre>boolean&nbsp;hasConstraints()</pre>
+<div class="block">True if any fine-grained constraints has been set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any fine-grained constraint is set</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllConstraints</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;&nbsp;getAllConstraints()</pre>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>map from privacy level to array of data ranges</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraintsList--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAllConstraintsList</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;&nbsp;getAllConstraintsList()</pre>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all constraints</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html
new file mode 100644
index 0000000..c6199ee
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FineGrainedPrivacyList (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FineGrainedPrivacyList (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacyList.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.finegrained</div>
+<h2 title="Class FineGrainedPrivacyList" class="title">Class FineGrainedPrivacyList</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FineGrainedPrivacyList</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></pre>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints
+ based on pairs in an ArrayList.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#FineGrainedPrivacyList--">FineGrainedPrivacyList</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraints--">getAllConstraints</a></span>()</code>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#hasConstraints--">hasConstraints</a></span>()</code>
+<div class="block">True if any fine-grained constraints has been set.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Set privacy level of the given data range.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#removeAllConstraints--">removeAllConstraints</a></span>()</code>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FineGrainedPrivacyList--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FineGrainedPrivacyList</h4>
+<pre>public&nbsp;FineGrainedPrivacyList()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Set privacy level of the given data range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataRange</code> - representing the range for which the privacy is set</dd>
+<dd><code>privacyLevel</code> - the level of privacy for the given data range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevel</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchRange</code> - the range from which all privacy levels are retrieved</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level within the given search range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevelOfElement-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevelOfElement</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevelOfElement(long[]&nbsp;searchIndex)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchIndex</code> - index of element</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level for the given search element</dd>
+</dl>
+</li>
+</ul>
+<a name="getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataRangesOfPrivacyLevel</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]&nbsp;getDataRangesOfPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get all data ranges for the given privacy level.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyLevel</code> - for which data ranges are found</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all data ranges with the given privacy level</dd>
+</dl>
+</li>
+</ul>
+<a name="removeAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeAllConstraints</h4>
+<pre>public&nbsp;void&nbsp;removeAllConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">removeAllConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasConstraints</h4>
+<pre>public&nbsp;boolean&nbsp;hasConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">True if any fine-grained constraints has been set.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">hasConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any fine-grained constraint is set</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllConstraints</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;&nbsp;getAllConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">getAllConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>map from privacy level to array of data ranges</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraintsList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllConstraintsList</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;&nbsp;getAllConstraintsList()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all constraints</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacyList.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html
new file mode 100644
index 0000000..09c9efe
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FineGrainedPrivacyMap (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FineGrainedPrivacyMap (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacyMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.sysds.runtime.privacy.finegrained</div>
+<h2 title="Class FineGrainedPrivacyMap" class="title">Class FineGrainedPrivacyMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FineGrainedPrivacyMap</span>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></pre>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints based on
+ iterating a LinkedHashMap.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#FineGrainedPrivacyMap--">FineGrainedPrivacyMap</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraints--">getAllConstraints</a></span>()</code>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#hasConstraints--">hasConstraints</a></span>()</code>
+<div class="block">True if any fine-grained constraints has been set.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Set privacy level of the given data range.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#removeAllConstraints--">removeAllConstraints</a></span>()</code>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FineGrainedPrivacyMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FineGrainedPrivacyMap</h4>
+<pre>public&nbsp;FineGrainedPrivacyMap()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>put</h4>
+<pre>public&nbsp;void&nbsp;put(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+                <a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Set privacy level of the given data range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dataRange</code> - representing the range for which the privacy is set</dd>
+<dd><code>privacyLevel</code> - the level of privacy for the given data range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevel</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchRange</code> - the range from which all privacy levels are retrieved</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level within the given search range</dd>
+</dl>
+</li>
+</ul>
+<a name="getPrivacyLevelOfElement-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPrivacyLevelOfElement</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&nbsp;getPrivacyLevelOfElement(long[]&nbsp;searchIndex)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchIndex</code> - index of element</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all mappings from range to privacy level for the given search element</dd>
+</dl>
+</li>
+</ul>
+<a name="getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDataRangesOfPrivacyLevel</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]&nbsp;getDataRangesOfPrivacyLevel(<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get all data ranges for the given privacy level.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>privacyLevel</code> - for which data ranges are found</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all data ranges with the given privacy level</dd>
+</dl>
+</li>
+</ul>
+<a name="removeAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeAllConstraints</h4>
+<pre>public&nbsp;void&nbsp;removeAllConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Remove all fine-grained privacy constraints.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#removeAllConstraints--">removeAllConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasConstraints</h4>
+<pre>public&nbsp;boolean&nbsp;hasConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">True if any fine-grained constraints has been set.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#hasConstraints--">hasConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if any fine-grained constraint is set</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraints--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllConstraints</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,long[][][]&gt;&nbsp;getAllConstraints()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Get all fine-grained constraints as a map from privacy level to 
+ an array of data ranges represented as two-dimensional long arrays.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraints--">getAllConstraints</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>map from privacy level to array of data ranges</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllConstraintsList--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAllConstraintsList</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;&nbsp;getAllConstraintsList()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">FineGrainedPrivacy</a></code></span></div>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>all constraints</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FineGrainedPrivacyMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html
new file mode 100644
index 0000000..91ec293
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html
@@ -0,0 +1,272 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.privacy.finegrained.DataRange (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.DataRange (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html" target="_top">Frames</a></li>
+<li><a href="DataRange.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.DataRange" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.finegrained.DataRange</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.finegrained">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.finegrained">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> that return <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Get all data ranges for the given privacy level.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getDataRangesOfPrivacyLevel-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">getDataRangesOfPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> that return types with arguments of type <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>
+<div class="block">Return all fine-grained privacy constraints as an arraylist.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getAllConstraintsList--">getAllConstraintsList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>
+<div class="block">Get the data ranges and related privacy levels of the element with the given index.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevelOfElement-long:A-">getPrivacyLevelOfElement</a></span>(long[]&nbsp;searchIndex)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>
+<div class="block">Get the data ranges and related privacy levels within given data search range.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>,<a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#getPrivacyLevel-org.apache.sysds.runtime.privacy.finegrained.DataRange-">getPrivacyLevel</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;searchRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">DataRange.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html#overlaps-org.apache.sysds.runtime.privacy.finegrained.DataRange-">overlaps</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange)</code>
+<div class="block">Returns true if this data range overlaps with the given data range.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacy.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>
+<div class="block">Set privacy level of the given data range.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyMap.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FineGrainedPrivacyList.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html#put-org.apache.sysds.runtime.privacy.finegrained.DataRange-org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel-">put</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a>&nbsp;dataRange,
+   <a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a>&nbsp;privacyLevel)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html" target="_top">Frames</a></li>
+<li><a href="DataRange.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html
new file mode 100644
index 0000000..f26bebd
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy" class="title">Uses of Interface<br>org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.finegrained">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> that return <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyConstraint.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#getFineGrainedPrivacy--">getFineGrainedPrivacy</a></span>()</code>
+<div class="block">Get fine-grained privacy instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">PrivacyConstraint.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#setFineGrainedPrivacyConstraints-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">setFineGrainedPrivacyConstraints</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacy)</code>
+<div class="block">Sets fine-grained privacy for the privacy constraint.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html#PrivacyConstraint-org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacy-">PrivacyConstraint</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;fineGrainedPrivacyCollection)</code>
+<div class="block">Constructor with the option to choose between 
+ different fine-grained collection implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.finegrained">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a> in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> that implement <a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></span></code>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints
+ based on pairs in an ArrayList.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></span></code>
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints based on
+ iterating a LinkedHashMap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html
new file mode 100644
index 0000000..acc00cc
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyList.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html
new file mode 100644
index 0000000..7c9319c
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap" class="title">Uses of Class<br>org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyMap</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacyMap.html" target="_top">Frames</a></li>
+<li><a href="FineGrainedPrivacyMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-frame.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-frame.html
new file mode 100644
index 0000000..c1ad273
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-frame.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.privacy.finegrained (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html" target="classFrame">org.apache.sysds.runtime.privacy.finegrained</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained" target="classFrame"><span class="interfaceName">FineGrainedPrivacy</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">DataRange</a></li>
+<li><a href="FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">FineGrainedPrivacyList</a></li>
+<li><a href="FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained" target="classFrame">FineGrainedPrivacyMap</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html
new file mode 100644
index 0000000..abcab56
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-summary.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.privacy.finegrained (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.privacy.finegrained (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.privacy.finegrained</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></td>
+<td class="colLast">
+<div class="block">A DataRange instance marks a part of a CachableData data object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></td>
+<td class="colLast">
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints
+ based on pairs in an ArrayList.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></td>
+<td class="colLast">
+<div class="block">Simple implementation of retrieving fine-grained privacy constraints based on
+ iterating a LinkedHashMap.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html
new file mode 100644
index 0000000..aede8ed
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-tree.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.sysds.runtime.privacy.finegrained Class Hierarchy (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.sysds.runtime.privacy.finegrained Class Hierarchy (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.sysds.runtime.privacy.finegrained</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">DataRange</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyList</span></a> (implements org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyMap</span></a> (implements org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacy</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/sysds/runtime/privacy/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/sysds/runtime/transform/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html
new file mode 100644
index 0000000..5cd5291
--- /dev/null
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/finegrained/package-use.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.sysds.runtime.privacy.finegrained (SystemDS 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.sysds.runtime.privacy.finegrained (SystemDS 2.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.sysds.runtime.privacy.finegrained" class="title">Uses of Package<br>org.apache.sysds.runtime.privacy.finegrained</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.finegrained">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> used by <a href="../../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html#org.apache.sysds.runtime.privacy">FineGrainedPrivacy</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.finegrained">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a> used by <a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/class-use/DataRange.html#org.apache.sysds.runtime.privacy.finegrained">DataRange</a>
+<div class="block">A DataRange instance marks a part of a CachableData data object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/privacy/finegrained/class-use/FineGrainedPrivacy.html#org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/sysds/runtime/privacy/finegrained/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-frame.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-frame.html
index a6b835f..d979a58 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-frame.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-frame.html
@@ -17,6 +17,7 @@
 <li><a href="PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyConstraint</a></li>
 <li><a href="PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyMonitor</a></li>
 <li><a href="PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyPropagator</a></li>
+<li><a href="PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy" target="classFrame">PrivacyUtils</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
index 16d0c72..c6dc554 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-summary.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/transform/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/package-summary.html" target="_top">Frames</a></li>
@@ -91,7 +91,8 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></td>
 <td class="colLast">
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -105,6 +106,10 @@
  in expressions to generate the privacy constraints of the output.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -164,7 +169,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/transform/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/package-summary.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
index 67af9ad..fc7337a 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-tree.html
@@ -44,7 +44,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/transform/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/package-tree.html" target="_top">Frames</a></li>
@@ -82,9 +82,10 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">CheckedConstraintsLog</span></a></li>
-<li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyMonitor</span></a></li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyPropagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.<a href="../../../../../org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyUtils</span></a></li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
@@ -144,7 +145,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/sysds/runtime/meta/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/sysds/runtime/transform/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/sysds/runtime/privacy/package-tree.html" target="_top">Frames</a></li>
diff --git a/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html b/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
index f34f976..684c061 100644
--- a/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/privacy/package-use.html
@@ -111,6 +111,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.privacy.finegrained">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -128,7 +132,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.hops">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 </tbody>
@@ -145,7 +150,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.lops">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 </tbody>
@@ -162,7 +168,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.parser">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -197,7 +204,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.runtime.instructions">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 </tbody>
@@ -214,7 +222,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.runtime.instructions.cp">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 </tbody>
@@ -231,7 +240,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.runtime.privacy">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -240,6 +250,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.finegrained">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/privacy/package-summary.html">org.apache.sysds.runtime.privacy</a> used by <a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.PrivacyLevel.html#org.apache.sysds.runtime.privacy.finegrained">PrivacyConstraint.PrivacyLevel</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
@@ -251,7 +276,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/sysds/runtime/privacy/class-use/PrivacyConstraint.html#org.apache.sysds.runtime.util">PrivacyConstraint</a>
-<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at compile time and runtime.</div>
+<div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
+ compile time and runtime.</div>
 </td>
 </tr>
 </tbody>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
index abdca45..ba860d7 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/Decoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10};
+var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -167,6 +167,21 @@
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after decoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -234,6 +249,43 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeDecoder-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeDecoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;subRangeDecoder(int&nbsp;colStart,
+                               int&nbsp;colEnd,
+                               int&nbsp;dummycodedOffset)</pre>
+<div class="block">Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after
+ decoding.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
+<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>dummycodedOffset</code> - the offset of dummycoded segments before colStart</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a decoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block">Update index-ranges to after decoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - the begin indexes before encoding</dd>
+<dd><code>endDims</code> - the end indexes before encoding</dd>
+</dl>
+</li>
+</ul>
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
index 7002777..5d5facb 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderComposite.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@
 <br>
 <pre>public class <span class="typeNameLabel">DecoderComposite</span>
 extends <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></pre>
-<div class="block">Simple composite decoder that applies a list of decoders 
+<div class="block">Simple composite decoder that applies a list of decoders
  in specified order. By implementing the default decoder API
  it can be used as a drop-in replacement for any other decoder.</div>
 <dl>
@@ -156,6 +156,21 @@
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after decoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -206,6 +221,49 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeDecoder-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeDecoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;subRangeDecoder(int&nbsp;colStart,
+                               int&nbsp;colEnd,
+                               int&nbsp;dummycodedOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">Decoder</a></code></span></div>
+<div class="block">Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after
+ decoding.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
+<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>dummycodedOffset</code> - the offset of dummycoded segments before colStart</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a decoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">Decoder</a></code></span></div>
+<div class="block">Update index-ranges to after decoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - the begin indexes before encoding</dd>
+<dd><code>endDims</code> - the end indexes before encoding</dd>
+</dl>
+</li>
+</ul>
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
index ebe64c2..e7e42c4 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderDummycode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -155,6 +155,21 @@
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after decoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
@@ -205,6 +220,49 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeDecoder-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeDecoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;subRangeDecoder(int&nbsp;colStart,
+                               int&nbsp;colEnd,
+                               int&nbsp;dummycodedOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">Decoder</a></code></span></div>
+<div class="block">Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after
+ decoding.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
+<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>dummycodedOffset</code> - the offset of dummycoded segments before colStart</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a decoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">Decoder</a></code></span></div>
+<div class="block">Update index-ranges to after decoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - the begin indexes before encoding</dd>
+<dd><code>endDims</code> - the end indexes before encoding</dd>
+</dl>
+</li>
+</ul>
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
index 777a071..dce5b4f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -155,13 +155,21 @@
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>&nbsp;</td>
 </tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getColnames--">getColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getSchema--">getSchema</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getColnames--">getColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getSchema--">getSchema</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -205,6 +213,30 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeDecoder-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeDecoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;subRangeDecoder(int&nbsp;colStart,
+                               int&nbsp;colEnd,
+                               int&nbsp;dummycodedOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">Decoder</a></code></span></div>
+<div class="block">Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after
+ decoding.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
+<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>dummycodedOffset</code> - the offset of dummycoded segments before colStart</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a decoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
index 9400d76..11be86f 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/DecoderRecode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -163,13 +163,21 @@
  quoted tokens (potentially including separators) are supported.</div>
 </td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.decode.Decoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.decode.<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getColnames--">getColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getSchema--">getSchema</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getColnames--">getColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#getSchema--">getSchema</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#setColnames-java.lang.String:A-">setColnames</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -213,6 +221,30 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeDecoder-int-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeDecoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;subRangeDecoder(int&nbsp;colStart,
+                               int&nbsp;colEnd,
+                               int&nbsp;dummycodedOffset)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">Decoder</a></code></span></div>
+<div class="block">Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after
+ decoding.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
+<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>dummycodedOffset</code> - the offset of dummycoded segments before colStart</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a decoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
 <a name="initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
index a6d33c3..391aabb 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/class-use/Decoder.html
@@ -83,10 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -95,6 +99,25 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#DecodeMatrix-long-long-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.transform.decode.Decoder-">DecodeMatrix</a></span>(long&nbsp;input,
+            long&nbsp;outputID,
+            <a href="../../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta,
+            <a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a>&nbsp;decoder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
@@ -126,7 +149,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></span></code>
-<div class="block">Simple composite decoder that applies a list of decoders 
+<div class="block">Simple composite decoder that applies a list of decoders
  in specified order.</div>
 </td>
 </tr>
@@ -191,6 +214,38 @@
              int&nbsp;minCol,
              int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Decoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>
+<div class="block">Returns a new Decoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderDummycode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DecoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/decode/DecoderRecode.html#subRangeDecoder-int-int-int-">subRangeDecoder</a></span>(int&nbsp;colStart,
+               int&nbsp;colEnd,
+               int&nbsp;dummycodedOffset)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
index b8753ff..d83fb20 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-summary.html
@@ -92,7 +92,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></td>
 <td class="colLast">
-<div class="block">Simple composite decoder that applies a list of decoders 
+<div class="block">Simple composite decoder that applies a list of decoders
  in specified order.</div>
 </td>
 </tr>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
index 7113be5..a41f0c5 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/decode/package-use.html
@@ -83,16 +83,38 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.fed">org.apache.sysds.runtime.instructions.fed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.transform.decode">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.instructions.fed">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a> used by <a href="../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/sysds/runtime/transform/decode/class-use/Decoder.html#org.apache.sysds.runtime.instructions.fed">Decoder</a>
+<div class="block">Base class for all transform decoders providing both a row and block
+ interface for decoding matrices to frames.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
index 9c77e5d..a2e5b4a 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/Encoder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -217,7 +217,8 @@
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
@@ -228,11 +229,17 @@
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -384,31 +391,30 @@
 </dl>
 </li>
 </ul>
-<a name="subRangeEncoder-int-int-">
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(int&nbsp;colStart,
-                               int&nbsp;colEnd)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
-<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an encoder of the same type, just for the sub-range</dd>
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
 <pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
                     int&nbsp;col)</pre>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
  <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
@@ -416,7 +422,24 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>col</code> - the position where it should be placed (1-based)</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html
index 3075a97..96c1a6a 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderBin.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -169,9 +169,14 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderBin</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin--">EncoderBin</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderBin</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-          int&nbsp;clen)</code>&nbsp;</td>
+          int&nbsp;clen,
+          int&nbsp;minCol,
+          int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -221,13 +226,27 @@
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -297,15 +316,17 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">
+<a name="EncoderBin-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>EncoderBin</h4>
 <pre>public&nbsp;EncoderBin(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                  int&nbsp;clen)
+                  int&nbsp;clen,
+                  int&nbsp;minCol,
+                  int&nbsp;maxCol)
            throws org.apache.wink.json4j.JSONException,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -315,6 +336,15 @@
 </dl>
 </li>
 </ul>
+<a name="EncoderBin--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EncoderBin</h4>
+<pre>public&nbsp;EncoderBin()</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -384,6 +414,48 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html
index de5c4a6..100104b 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderComposite.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -213,15 +213,15 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
@@ -229,6 +229,13 @@
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
@@ -358,45 +365,64 @@
 </dl>
 </li>
 </ul>
-<a name="subRangeEncoder-int-int-">
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(int&nbsp;colStart,
-                               int&nbsp;colEnd)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">Encoder</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
-<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an encoder of the same type, just for the sub-range</dd>
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
 <pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
                     int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
  <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
  other <code>Encoder</code>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>col</code> - the position where it should be placed (1-based)</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html
index 90cff56..ffef211 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderDummycode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -75,13 +75,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -130,6 +130,25 @@
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#Z:Z_domainSizes">_domainSizes</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -142,9 +161,20 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderDummycode</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode--">EncoderDummycode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-int:A-int-int:A-long-">EncoderDummycode</a></span>(int[]&nbsp;colList,
+                int&nbsp;clen,
+                int[]&nbsp;domainSizes,
+                long&nbsp;dummycodedLength)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderDummycode</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                int&nbsp;clen)</code>&nbsp;</td>
+                int&nbsp;clen,
+                int&nbsp;minCol,
+                int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -206,13 +236,38 @@
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -229,21 +284,40 @@
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="Z:Z_domainSizes">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_domainSizes</h4>
+<pre>public&nbsp;int[] _domainSizes</pre>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">
+<a name="EncoderDummycode-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>EncoderDummycode</h4>
 <pre>public&nbsp;EncoderDummycode(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                        int&nbsp;clen)
+                        int&nbsp;clen,
+                        int&nbsp;minCol,
+                        int&nbsp;maxCol)
                  throws org.apache.wink.json4j.JSONException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -251,6 +325,27 @@
 </dl>
 </li>
 </ul>
+<a name="EncoderDummycode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EncoderDummycode</h4>
+<pre>public&nbsp;EncoderDummycode()</pre>
+</li>
+</ul>
+<a name="EncoderDummycode-int:A-int-int:A-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EncoderDummycode</h4>
+<pre>public&nbsp;EncoderDummycode(int[]&nbsp;colList,
+                        int&nbsp;clen,
+                        int[]&nbsp;domainSizes,
+                        long&nbsp;dummycodedLength)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -333,6 +428,76 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+</dl>
+</li>
+</ul>
+<a name="updateDomainSizes-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateDomainSizes</h4>
+<pre>public&nbsp;void&nbsp;updateDomainSizes(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</pre>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
@@ -445,13 +610,13 @@
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html
index 93e1420..7189010 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -143,9 +143,19 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderFeatureHash</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash--">EncoderFeatureHash</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-int:A-int-long-">EncoderFeatureHash</a></span>(int[]&nbsp;colList,
+                  int&nbsp;clen,
+                  long&nbsp;K)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderFeatureHash</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                  int&nbsp;clen)</code>&nbsp;</td>
+                  int&nbsp;clen,
+                  int&nbsp;minCol,
+                  int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -195,13 +205,27 @@
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -224,15 +248,17 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">
+<a name="EncoderFeatureHash-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>EncoderFeatureHash</h4>
 <pre>public&nbsp;EncoderFeatureHash(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                          int&nbsp;clen)
+                          int&nbsp;clen,
+                          int&nbsp;minCol,
+                          int&nbsp;maxCol)
                    throws org.apache.wink.json4j.JSONException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -240,6 +266,26 @@
 </dl>
 </li>
 </ul>
+<a name="EncoderFeatureHash-int:A-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EncoderFeatureHash</h4>
+<pre>public&nbsp;EncoderFeatureHash(int[]&nbsp;colList,
+                          int&nbsp;clen,
+                          long&nbsp;K)</pre>
+</li>
+</ul>
+<a name="EncoderFeatureHash--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EncoderFeatureHash</h4>
+<pre>public&nbsp;EncoderFeatureHash()</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -309,6 +355,48 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
index 49b5a39..784e825 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -161,16 +161,24 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderMVImpute</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-               int&nbsp;clen)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute--">EncoderMVImpute</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String:A-int-">EncoderMVImpute</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;NAstrings,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-int:A-org.apache.sysds.runtime.transform.encode.EncoderMVImpute.MVMethod:A-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.KahanObject:A-long:A-java.util.List-int-">EncoderMVImpute</a></span>(int[]&nbsp;colList,
+               <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[]&nbsp;mvMethodList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;replacementList,
+               <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;meanList,
+               long[]&nbsp;countList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;rcList,
                int&nbsp;clen)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderMVImpute</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+               int&nbsp;clen,
+               int&nbsp;minCol,
+               int&nbsp;maxCol)</code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -215,55 +223,53 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans_scnomv--">getMeans_scnomv</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMeans--">getMeans</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">getMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;out)</code>
 <div class="block">Construct a frame block out of the transform meta data.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getMethod-int-">getMethod</a></span>(int&nbsp;colID)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getNonMVCount-int-">getNonMVCount</a></span>(int&nbsp;colID)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getReplacement-int-">getReplacement</a></span>(int&nbsp;colID)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getReplacements--">getReplacements</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars_scnomv--">getVars_scnomv</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#getVars--">getVars</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i13" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#initRecodeIDList-java.util.List-">initRecodeIDList</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;rcList)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#prepare-java.lang.String:A-">prepare</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;words)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -271,7 +277,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -294,7 +300,7 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">
+<a name="EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -302,7 +308,9 @@
 <h4>EncoderMVImpute</h4>
 <pre>public&nbsp;EncoderMVImpute(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                       int&nbsp;clen)
+                       int&nbsp;clen,
+                       int&nbsp;minCol,
+                       int&nbsp;maxCol)
                 throws org.apache.wink.json4j.JSONException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -310,21 +318,28 @@
 </dl>
 </li>
 </ul>
-<a name="EncoderMVImpute-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String:A-int-">
+<a name="EncoderMVImpute--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EncoderMVImpute</h4>
+<pre>public&nbsp;EncoderMVImpute()</pre>
+</li>
+</ul>
+<a name="EncoderMVImpute-int:A-org.apache.sysds.runtime.transform.encode.EncoderMVImpute.MVMethod:A-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.KahanObject:A-long:A-java.util.List-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EncoderMVImpute</h4>
-<pre>public&nbsp;EncoderMVImpute(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
-                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;NAstrings,
-                       int&nbsp;clen)
-                throws org.apache.wink.json4j.JSONException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.wink.json4j.JSONException</code></dd>
-</dl>
+<pre>public&nbsp;EncoderMVImpute(int[]&nbsp;colList,
+                       <a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[]&nbsp;mvMethodList,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;replacementList,
+                       <a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;meanList,
+                       long[]&nbsp;countList,
+                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;rcList,
+                       int&nbsp;clen)</pre>
 </li>
 </ul>
 </li>
@@ -353,47 +368,6 @@
 <pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;getMeans()</pre>
 </li>
 </ul>
-<a name="getVars--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getVars</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]&nbsp;getVars()</pre>
-</li>
-</ul>
-<a name="getMeans_scnomv--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMeans_scnomv</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;getMeans_scnomv()</pre>
-</li>
-</ul>
-<a name="getVars_scnomv--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getVars_scnomv</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[]&nbsp;getVars_scnomv()</pre>
-</li>
-</ul>
-<a name="prepare-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>prepare</h4>
-<pre>public&nbsp;void&nbsp;prepare(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;words)
-             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="getMethod-int-">
 <!--   -->
 </a>
@@ -482,6 +456,48 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
index c38c4fe..2415ba6 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderOmit.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -142,9 +142,17 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">EncoderOmit</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit--">EncoderOmit</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-boolean-">EncoderOmit</a></span>(boolean&nbsp;federated)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">EncoderOmit</a></span>(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-           int&nbsp;clen)</code>&nbsp;</td>
+           int&nbsp;clen,
+           int&nbsp;minCol,
+           int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -193,23 +201,48 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows--">getNumRemovedRows</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#getNumRemovedRows-boolean:A-">getNumRemovedRows</a></span>(boolean[]&nbsp;rmRows)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#initMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">initMetaData</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a>&nbsp;meta)</code>
 <div class="block">Sets up the required meta data for a subsequent call to apply.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#omit-java.lang.String:A-org.apache.sysds.runtime.transform.TfUtils-">omit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;words,
     <a href="../../../../../../org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a>&nbsp;agents)</code>&nbsp;</td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></span>(long[]&nbsp;beginDims,
+                 long[]&nbsp;endDims)</code>
+<div class="block">Update index-ranges to after encoding.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.transform.encode.Encoder">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -232,15 +265,17 @@
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-">
+<a name="EncoderOmit-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>EncoderOmit</h4>
 <pre>public&nbsp;EncoderOmit(org.apache.wink.json4j.JSONObject&nbsp;parsedSpec,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                   int&nbsp;clen)
+                   int&nbsp;clen,
+                   int&nbsp;minCol,
+                   int&nbsp;maxCol)
             throws org.apache.wink.json4j.JSONException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -248,6 +283,24 @@
 </dl>
 </li>
 </ul>
+<a name="EncoderOmit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EncoderOmit</h4>
+<pre>public&nbsp;EncoderOmit()</pre>
+</li>
+</ul>
+<a name="EncoderOmit-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EncoderOmit</h4>
+<pre>public&nbsp;EncoderOmit(boolean&nbsp;federated)</pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -256,6 +309,15 @@
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="getNumRemovedRows-boolean:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNumRemovedRows</h4>
+<pre>public&nbsp;int&nbsp;getNumRemovedRows(boolean[]&nbsp;rmRows)</pre>
+</li>
+</ul>
 <a name="getNumRemovedRows--">
 <!--   -->
 </a>
@@ -336,6 +398,67 @@
 </dl>
 </li>
 </ul>
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subRangeEncoder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an encoder of the same type, just for the sub-range</dd>
+</dl>
+</li>
+</ul>
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mergeAt</h4>
+<pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
+                    int&nbsp;col)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
+<div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
+ <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
+ other <code>Encoder</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the encoder that should be merged in</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
+</dl>
+</li>
+</ul>
+<a name="updateIndexRanges-long:A-long:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateIndexRanges</h4>
+<pre>public&nbsp;void&nbsp;updateIndexRanges(long[]&nbsp;beginDims,
+                              long[]&nbsp;endDims)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">Encoder</a></code></span></div>
+<div class="block">Update index-ranges to after encoding. Note that only Dummycoding changes the ranges.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDims</code> - begin dimensions of range</dd>
+<dd><code>endDims</code> - end dimensions of range</dd>
+</dl>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html
index d4a13d5..0d4f4fc 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html
@@ -197,15 +197,15 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
@@ -215,7 +215,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -316,45 +316,45 @@
 </dl>
 </li>
 </ul>
-<a name="subRangeEncoder-int-int-">
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(int&nbsp;colStart,
-                               int&nbsp;colEnd)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">Encoder</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
-<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an encoder of the same type, just for the sub-range</dd>
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
 <pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
                     int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
  <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
  other <code>Encoder</code>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>col</code> - the position where it should be placed (1-based)</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
 </dl>
 </li>
 </ul>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html
index d6a906a..4405c60 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/EncoderRecode.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -221,21 +221,29 @@
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
+<td class="colFirst"><code>int[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#numDistinctValues--">numDistinctValues</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#prepareBuildPartial--">prepareBuildPartial</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#splitRecodeMapEntry-java.lang.String-">splitRecodeMapEntry</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
 <div class="block">Splits a Recode map entry into its token and code.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
@@ -245,7 +253,7 @@
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.transform.encode.<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></h3>
-<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a></code></li>
+<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColList--">getColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getColMapping-org.apache.sysds.runtime.matrix.data.FrameBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">getColMapping</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-int:A-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#initColList-org.apache.wink.json4j.JSONArray-">initColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable--">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#isApplicable-int-">isApplicable</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#setColList-int:A-">setColList</a>, <a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#updateIndexRanges-long:A-long:A-">updateIndexRanges</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -360,6 +368,15 @@
 </dl>
 </li>
 </ul>
+<a name="prepareBuildPartial--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>prepareBuildPartial</h4>
+<pre>public&nbsp;void&nbsp;prepareBuildPartial()</pre>
+</li>
+</ul>
 <a name="buildPartial-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
@@ -391,48 +408,57 @@
 </dl>
 </li>
 </ul>
-<a name="subRangeEncoder-int-int-">
+<a name="subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>subRangeEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(int&nbsp;colStart,
-                               int&nbsp;colEnd)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">Encoder</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;subRangeEncoder(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">Encoder</a></code></span></div>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>colStart</code> - the start index of the sub-range (1-based, inclusive)</dd>
-<dd><code>colEnd</code> - the end index of the sub-range (1-based, exclusive)</dd>
+<dd><code>ixRange</code> - the range (1-based, begin inclusive, end exclusive)</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>an encoder of the same type, just for the sub-range</dd>
 </dl>
 </li>
 </ul>
-<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">
+<a name="mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAt</h4>
 <pre>public&nbsp;void&nbsp;mergeAt(<a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+                    int&nbsp;row,
                     int&nbsp;col)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">Encoder</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">Encoder</a></code></span></div>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary.
  <code>Encoders</code> are compatible with themselves and <code>EncoderComposite</code> is compatible with every
  other <code>Encoder</code>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>other</code> - the encoder that should be merged in</dd>
-<dd><code>col</code> - the position where it should be placed (1-based)</dd>
+<dd><code>row</code> - the row where it should be placed (1-based)</dd>
+<dd><code>col</code> - the col where it should be placed (1-based)</dd>
 </dl>
 </li>
 </ul>
+<a name="numDistinctValues--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>numDistinctValues</h4>
+<pre>public&nbsp;int[]&nbsp;numDistinctValues()</pre>
+</li>
+</ul>
 <a name="getMetaData-org.apache.sysds.runtime.matrix.data.FrameBlock-">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
index a43a9a0..4dfc1b9 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/Encoder.html
@@ -103,6 +103,21 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a> in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiReturnParameterizedBuiltinFEDInstruction.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#encodeFederatedFrames-org.apache.sysds.runtime.controlprogram.federated.FederationMap-org.apache.sysds.runtime.transform.encode.Encoder-org.apache.sysds.runtime.controlprogram.caching.MatrixObject-">encodeFederatedFrames</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a>&nbsp;fedMapping,
+                     <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;globalEncoder,
+                     <a href="../../../../../../../org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a>&nbsp;transformedMat)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
 <caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/instructions/fed/package-summary.html">org.apache.sysds.runtime.instructions.fed</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -247,25 +262,41 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
 <div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-int-int-">subRangeEncoder</a></span>(int&nbsp;colStart,
-               int&nbsp;colEnd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -291,26 +322,73 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>
 <div class="block">Merges another encoder, of a compatible type, in after a certain position.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
        int&nbsp;col)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#mergeAt-org.apache.sysds.runtime.transform.encode.Encoder-int-int-">mergeAt</a></span>(<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&nbsp;other,
+       int&nbsp;row,
+       int&nbsp;col)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with type arguments of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#updateDomainSizes-java.util.List-">updateDomainSizes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a>&gt;&nbsp;encoders)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
index 171db72..d2c4c64 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/encode/class-use/EncoderMVImpute.MVMethod.html
@@ -121,6 +121,23 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#EncoderMVImpute-int:A-org.apache.sysds.runtime.transform.encode.EncoderMVImpute.MVMethod:A-java.lang.String:A-org.apache.sysds.runtime.instructions.cp.KahanObject:A-long:A-java.util.List-int-">EncoderMVImpute</a></span>(int[]&nbsp;colList,
+               <a href="../../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[]&nbsp;mvMethodList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;replacementList,
+               <a href="../../../../../../../org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[]&nbsp;meanList,
+               long[]&nbsp;countList,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;rcList,
+               int&nbsp;clen)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 </ul>
 </li>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
index 15ff6fb..250872e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/meta/TfMetaUtils.html
@@ -161,13 +161,17 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-">parseBinningColIDs</a></span>(org.apache.wink.json4j.JSONObject&nbsp;jSpec,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-">parseBinningColIDs</a></span>(org.apache.wink.json4j.JSONObject&nbsp;jSpec,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                  int&nbsp;minCol,
+                  int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-java.lang.String-java.lang.String:A-">parseBinningColIDs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseBinningColIDs-java.lang.String-java.lang.String:A-int-int-">parseBinningColIDs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                  int&nbsp;minCol,
+                  int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static int[]</code></td>
@@ -193,9 +197,11 @@
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-">parseJsonObjectIDList</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/meta/TfMetaUtils.html#parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">parseJsonObjectIDList</a></span>(org.apache.wink.json4j.JSONObject&nbsp;spec,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)</code>&nbsp;</td>
+                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group,
+                     int&nbsp;minCol,
+                     int&nbsp;maxCol)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></code></td>
@@ -347,7 +353,7 @@
 </dl>
 </li>
 </ul>
-<a name="parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-">
+<a name="parseJsonObjectIDList-org.apache.wink.json4j.JSONObject-java.lang.String:A-java.lang.String-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -355,7 +361,9 @@
 <h4>parseJsonObjectIDList</h4>
 <pre>public static&nbsp;int[]&nbsp;parseJsonObjectIDList(org.apache.wink.json4j.JSONObject&nbsp;spec,
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
-                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)
+                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group,
+                                          int&nbsp;minCol,
+                                          int&nbsp;maxCol)
                                    throws org.apache.wink.json4j.JSONException</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -411,14 +419,16 @@
 </dl>
 </li>
 </ul>
-<a name="parseBinningColIDs-java.lang.String-java.lang.String:A-">
+<a name="parseBinningColIDs-java.lang.String-java.lang.String:A-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>parseBinningColIDs</h4>
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;parseBinningColIDs(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec,
-                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               int&nbsp;minCol,
+                                               int&nbsp;maxCol)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -426,14 +436,16 @@
 </dl>
 </li>
 </ul>
-<a name="parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-">
+<a name="parseBinningColIDs-org.apache.wink.json4j.JSONObject-java.lang.String:A-int-int-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>parseBinningColIDs</h4>
 <pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;parseBinningColIDs(org.apache.wink.json4j.JSONObject&nbsp;jSpec,
-                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames)
+                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;colnames,
+                                               int&nbsp;minCol,
+                                               int&nbsp;maxCol)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html b/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
index b734a92..af4ff88 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/package-summary.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/privacy/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -127,7 +127,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/privacy/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/transform/decode/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html b/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
index d0e541f..b5a763e 100644
--- a/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
+++ b/docs/api/java/org/apache/sysds/runtime/transform/package-tree.html
@@ -43,7 +43,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/privacy/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/transform/decode/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -119,7 +119,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/sysds/runtime/privacy/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/sysds/runtime/privacy/finegrained/package-tree.html">Prev</a></li>
 <li><a href="../../../../../org/apache/sysds/runtime/transform/decode/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
diff --git a/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html b/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
index 14c3bbe..742e10c 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/IndexRange.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -194,17 +194,33 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#add-int-">add</a></span>(int&nbsp;delta)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#colSpan--">colSpan</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#inColRange-long-">inColRange</a></span>(long&nbsp;col)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#inRowRange-long-">inRowRange</a></span>(long&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#isScalar--">isScalar</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#rowSpan--">rowSpan</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#set-long-long-long-long-">set</a></span>(long&nbsp;rs,
    long&nbsp;re,
    long&nbsp;cs,
    long&nbsp;ce)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -324,6 +340,42 @@
 <pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;add(int&nbsp;delta)</pre>
 </li>
 </ul>
+<a name="inColRange-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inColRange</h4>
+<pre>public&nbsp;boolean&nbsp;inColRange(long&nbsp;col)</pre>
+</li>
+</ul>
+<a name="inRowRange-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inRowRange</h4>
+<pre>public&nbsp;boolean&nbsp;inRowRange(long&nbsp;row)</pre>
+</li>
+</ul>
+<a name="colSpan--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>colSpan</h4>
+<pre>public&nbsp;long&nbsp;colSpan()</pre>
+</li>
+</ul>
+<a name="rowSpan--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rowSpan</h4>
+<pre>public&nbsp;long&nbsp;rowSpan()</pre>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html b/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
index f11c025..c746b35 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/class-use/IndexRange.html
@@ -95,13 +95,21 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
@@ -189,6 +197,24 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.federated">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a> in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a> that return <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FederatedRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html#asIndexRange--">asIndexRange</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
@@ -426,6 +452,58 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a> in <a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a> with parameters of type <a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderRecode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderRecode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderComposite.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderComposite.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderMVImpute.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderOmit.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderOmit.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Encoder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>
+<div class="block">Returns a new Encoder that only handles a sub range of columns.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderDummycode.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderDummycode.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderPassThrough.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderPassThrough.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderBin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderBin.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode">Encoder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EncoderFeatureHash.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/transform/encode/EncoderFeatureHash.html#subRangeEncoder-org.apache.sysds.runtime.util.IndexRange-">subRangeEncoder</a></span>(<a href="../../../../../../org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;ixRange)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
diff --git a/docs/api/java/org/apache/sysds/runtime/util/package-use.html b/docs/api/java/org/apache/sysds/runtime/util/package-use.html
index 69f9240..1954d45 100644
--- a/docs/api/java/org/apache/sysds/runtime/util/package-use.html
+++ b/docs/api/java/org/apache/sysds/runtime/util/package-use.html
@@ -95,13 +95,21 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colFirst"><a href="#org.apache.sysds.runtime.controlprogram.federated">org.apache.sysds.runtime.controlprogram.federated</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.instructions.spark">org.apache.sysds.runtime.instructions.spark</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.sysds.runtime.transform.encode">org.apache.sysds.runtime.transform.encode</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.sysds.runtime.util">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
@@ -154,6 +162,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.controlprogram.federated">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a> used by <a href="../../../../../org/apache/sysds/runtime/controlprogram/federated/package-summary.html">org.apache.sysds.runtime.controlprogram.federated</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/IndexRange.html#org.apache.sysds.runtime.controlprogram.federated">IndexRange</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.instructions.spark">
 <!--   -->
 </a>
@@ -190,6 +213,21 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.transform.encode">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a> used by <a href="../../../../../org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/sysds/runtime/util/class-use/IndexRange.html#org.apache.sysds.runtime.transform.encode">IndexRange</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.sysds.runtime.util">
 <!--   -->
 </a>
diff --git a/docs/api/java/overview-frame.html b/docs/api/java/overview-frame.html
index c0996ef..332c88e 100644
--- a/docs/api/java/overview-frame.html
+++ b/docs/api/java/overview-frame.html
@@ -69,6 +69,7 @@
 <li><a href="org/apache/sysds/runtime/matrix/operators/package-frame.html" target="packageFrame">org.apache.sysds.runtime.matrix.operators</a></li>
 <li><a href="org/apache/sysds/runtime/meta/package-frame.html" target="packageFrame">org.apache.sysds.runtime.meta</a></li>
 <li><a href="org/apache/sysds/runtime/privacy/package-frame.html" target="packageFrame">org.apache.sysds.runtime.privacy</a></li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/package-frame.html" target="packageFrame">org.apache.sysds.runtime.privacy.finegrained</a></li>
 <li><a href="org/apache/sysds/runtime/transform/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform</a></li>
 <li><a href="org/apache/sysds/runtime/transform/decode/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.decode</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/package-frame.html" target="packageFrame">org.apache.sysds.runtime.transform.encode</a></li>
diff --git a/docs/api/java/overview-summary.html b/docs/api/java/overview-summary.html
index a03c88b..8521226 100644
--- a/docs/api/java/overview-summary.html
+++ b/docs/api/java/overview-summary.html
@@ -311,26 +311,30 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/privacy/finegrained/package-summary.html">org.apache.sysds.runtime.privacy.finegrained</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/package-summary.html">org.apache.sysds.runtime.transform</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/package-summary.html">org.apache.sysds.runtime.transform.encode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/meta/package-summary.html">org.apache.sysds.runtime.transform.meta</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/package-summary.html">org.apache.sysds.runtime.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/package-summary.html">org.apache.sysds.utils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/docs/api/java/overview-tree.html b/docs/api/java/overview-tree.html
index b834c18..c3802c7 100644
--- a/docs/api/java/overview-tree.html
+++ b/docs/api/java/overview-tree.html
@@ -129,6 +129,7 @@
 <li><a href="org/apache/sysds/runtime/matrix/operators/package-tree.html">org.apache.sysds.runtime.matrix.operators</a>, </li>
 <li><a href="org/apache/sysds/runtime/meta/package-tree.html">org.apache.sysds.runtime.meta</a>, </li>
 <li><a href="org/apache/sysds/runtime/privacy/package-tree.html">org.apache.sysds.runtime.privacy</a>, </li>
+<li><a href="org/apache/sysds/runtime/privacy/finegrained/package-tree.html">org.apache.sysds.runtime.privacy.finegrained</a>, </li>
 <li><a href="org/apache/sysds/runtime/transform/package-tree.html">org.apache.sysds.runtime.transform</a>, </li>
 <li><a href="org/apache/sysds/runtime/transform/decode/package-tree.html">org.apache.sysds.runtime.transform.decode</a>, </li>
 <li><a href="org/apache/sysds/runtime/transform/encode/package-tree.html">org.apache.sysds.runtime.transform.encode</a>, </li>
@@ -142,6 +143,18 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/Bitmap.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">Bitmap</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/BitmapLossy.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">BitmapLossy</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">ADictionary</span></a>
+<ul>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">QDictionary</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/AggregateDropCorrectionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">AggregateDropCorrectionFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AggregateUnarySPInstruction.RDDUAggFunction2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/AggregateUnarySPInstruction.RDDUTensorAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark"><span class="typeNameLink">AggregateUnarySPInstruction.RDDUTensorAggFunction2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
@@ -255,7 +268,6 @@
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">CommonThreadPool</span></a> (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)</li>
 <li type="circle">org.apache.sysds.conf.<a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf"><span class="typeNameLink">CompilerConfig</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">CompressedMatrixBlockFactory</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimationFactors</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimator</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">CompressedSizeEstimatorExact</span></a></li>
@@ -374,9 +386,10 @@
 <li type="circle">org.apache.sysds.runtime.controlprogram.paramserv.dp.<a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp"><span class="typeNameLink">ORSparkScheme</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">DataRange</span></a></li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DataTensorBlock</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArray</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArrayIntListHashMap.DArrayIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.sysds.runtime.transform.decode.<a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">DecoderComposite</span></a></li>
@@ -412,11 +425,6 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/DenseBlockFactory.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">DenseBlockFactory</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DenseRowIterator.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DenseRowIterator</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Dictionary</span></a>
-<ul>
-<li type="circle">org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/DictionaryShared.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">DictionaryShared</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlBaseListener.html" title="class in org.apache.sysds.parser.dml"><span class="typeNameLink">DmlBaseListener</span></a> (implements org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlListener.html" title="interface in org.apache.sysds.parser.dml">DmlListener</a>)</li>
 <li type="circle">org.apache.sysds.conf.<a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf"><span class="typeNameLink">DMLConfig</span></a></li>
 <li type="circle">org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api"><span class="typeNameLink">DMLOptions</span></a></li>
@@ -428,7 +436,7 @@
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">DMLTranslator</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">DnnParameters</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">DnnUtils</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DoubleIntListHashMap.DIListEntry</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">DoublePrecisionCudaSupportFunctions</span></a> (implements org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html" title="interface in org.apache.sysds.runtime.matrix.data">CudaSupportFunctions</a>)</li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">Encoder</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
@@ -444,6 +452,7 @@
 </li>
 <li type="circle">org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode"><span class="typeNameLink">EncoderFactory</span></a></li>
 <li type="circle">org.apache.sysds.utils.<a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils"><span class="typeNameLink">EnvironmentHelper</span></a></li>
+<li type="circle">org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim"><span class="typeNameLink">EstimationFactors</span></a></li>
 <li type="circle">org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">EstimationUtils</span></a></li>
 <li type="circle">org.apache.sysds.hops.estim.<a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">EstimatorBitsetMM.BitsetMatrix</span></a>
 <ul>
@@ -537,6 +546,8 @@
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">FilterDiagMatrixBlocksFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">FilterNonEmptyBlocksFunction</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.instructions.spark.functions.<a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark.functions"><span class="typeNameLink">FilterNonEmptyBlocksFunction2</span></a> (implements org.apache.spark.api.java.function.Function&lt;T1,R&gt;)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyList</span></a> (implements org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>)</li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacyMap</span></a> (implements org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a>)</li>
 <li type="circle">org.apache.sysds.api.mlcontext.<a href="org/apache/sysds/api/mlcontext/Frame.html" title="class in org.apache.sysds.api.mlcontext"><span class="typeNameLink">Frame</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">FrameBlock</span></a> (implements org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">FrameBlock.ColumnMetadata</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
@@ -1085,6 +1096,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageParser</span></a></li>
+<li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRecomputeUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageRewriteReuse</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageTokenizer</span></a></li>
 <li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/LinearAlgebraUtils.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">LinearAlgebraUtils</span></a></li>
@@ -1413,9 +1425,10 @@
 </li>
 <li type="circle">org.apache.sysds.hops.codegen.opt.<a href="org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html" title="class in org.apache.sysds.hops.codegen.opt"><span class="typeNameLink">PlanSelection.VisitMarkCost</span></a></li>
 <li type="circle">org.apache.sysds.api.jmlc.<a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc"><span class="typeNameLink">PreparedScript</span></a> (implements org.apache.sysds.api.<a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api">ConfigurableAPI</a>)</li>
-<li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyConstraint</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>)</li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyMonitor</span></a></li>
 <li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyPropagator</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.<a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy"><span class="typeNameLink">PrivacyUtils</span></a></li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">PRNGenerator</span></a>
 <ul>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/NormalPRNGenerator.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">NormalPRNGenerator</span></a></li>
@@ -1811,7 +1824,6 @@
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">TripleIndexes</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, org.apache.hadoop.io.WritableComparable&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">TripleIndexes.Comparator</span></a> (implements org.apache.hadoop.io.RawComparator&lt;T&gt;)</li>
 <li type="circle">org.apache.sysds.common.<a href="org/apache/sysds/common/Types.html" title="class in org.apache.sysds.common"><span class="typeNameLink">Types</span></a></li>
-<li type="circle">org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/UncompressedBitmap.html" title="class in org.apache.sysds.runtime.compress"><span class="typeNameLink">UncompressedBitmap</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">UnifiedMemoryAllocator</span></a> (implements org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html" title="interface in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryAllocator</a>)</li>
 <li type="circle">org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util"><span class="typeNameLink">UtilFunctions</span></a></li>
 <li type="circle">org.apache.sysds.parser.<a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser"><span class="typeNameLink">VariableSet</span></a></li>
@@ -1831,6 +1843,7 @@
 <li type="circle">org.apache.sysds.api.<a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api"><span class="typeNameLink">ConfigurableAPI</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/Converter.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Converter</span></a>&lt;K1,V1,K2,V2&gt;</li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">CudaSupportFunctions</span></a></li>
+<li type="circle">org.apache.sysds.runtime.privacy.finegrained.<a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained"><span class="typeNameLink">FineGrainedPrivacy</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html" title="interface in org.apache.sysds.runtime.instructions.gpu.context"><span class="typeNameLink">GPUMemoryAllocator</span></a></li>
 <li type="circle">org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">LibMatrixDNNRotate180.Rotate180Worker</span></a></li>
 <li type="circle">org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage"><span class="typeNameLink">LineageTraceable</span></a></li>
@@ -1856,6 +1869,7 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.sysds.runtime.compress.utils.<a href="org/apache/sysds/runtime/compress/utils/ABitmap.BitmapType.html" title="enum in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">ABitmap.BitmapType</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.MMultMethod.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">AggBinaryOp.MMultMethod</span></a></li>
 <li type="circle">org.apache.sysds.hops.<a href="org/apache/sysds/hops/AggBinaryOp.SparkAggType.html" title="enum in org.apache.sysds.hops"><span class="typeNameLink">AggBinaryOp.SparkAggType</span></a></li>
 <li type="circle">org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/AggregateUnaryCPInstruction.AUType.html" title="enum in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">AggregateUnaryCPInstruction.AUType</span></a></li>
diff --git a/docs/api/java/package-list b/docs/api/java/package-list
index faa0832..85c7861 100644
--- a/docs/api/java/package-list
+++ b/docs/api/java/package-list
@@ -54,6 +54,7 @@
 org.apache.sysds.runtime.matrix.operators
 org.apache.sysds.runtime.meta
 org.apache.sysds.runtime.privacy
+org.apache.sysds.runtime.privacy.finegrained
 org.apache.sysds.runtime.transform
 org.apache.sysds.runtime.transform.decode
 org.apache.sysds.runtime.transform.encode
diff --git a/docs/api/java/serialized-form.html b/docs/api/java/serialized-form.html
index 3c055cb..442995a 100644
--- a/docs/api/java/serialized-form.html
+++ b/docs/api/java/serialized-form.html
@@ -398,7 +398,7 @@
 <pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
- efficient broadcast/rdd deserialization.</div>
+ efficient broadcast/rdd de-serialization.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
@@ -442,15 +442,21 @@
 <div class="block">The ColGroup Indexes 0 offset, contained in the ColGroup</div>
 </li>
 <li class="blockList">
-<h4>_zeros</h4>
-<pre>boolean _zeros</pre>
-<div class="block">ColGroup Implementation Contains zero values</div>
-</li>
-<li class="blockListLast">
 <h4>_numRows</h4>
 <pre>int _numRows</pre>
 <div class="block">Number of rows in the matrix, for use by child classes.</div>
 </li>
+<li class="blockList">
+<h4>_zeros</h4>
+<pre>boolean _zeros</pre>
+<div class="block">ColGroup Implementation Contains zero row. Note this is not if it contains a zero value. If false then the stored
+ values are filling the ColGroup making it a dense representation, that can be leveraged in operations.</div>
+</li>
+<li class="blockListLast">
+<h4>_lossy</h4>
+<pre>boolean _lossy</pre>
+<div class="block">boolean specifying if the column group is encoded lossy</div>
+</li>
 </ul>
 </li>
 </ul>
@@ -524,6 +530,7 @@
 <li class="blockListLast">
 <h4>_data</h4>
 <pre>char[] _data</pre>
+<div class="block">Linearized bitmaps (variable lengths)</div>
 </li>
 </ul>
 </li>
@@ -542,8 +549,8 @@
 <h3>Serialized Fields</h3>
 <ul class="blockList">
 <li class="blockListLast">
-<h4>_skiplist</h4>
-<pre>int[] _skiplist</pre>
+<h4>_skipList</h4>
+<pre>int[] _skipList</pre>
 </li>
 </ul>
 </li>
@@ -594,8 +601,8 @@
 <ul class="blockList">
 <li class="blockListLast">
 <h4>_dict</h4>
-<pre><a href="org/apache/sysds/runtime/compress/colgroup/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">Dictionary</a> _dict</pre>
-<div class="block">Distinct values associated with individual bitmaps.</div>
+<pre><a href="org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a> _dict</pre>
+<div class="block">Distinct value tuples associated with individual bitmaps.</div>
 </li>
 </ul>
 </li>
@@ -3163,13 +3170,9 @@
 <h4>_meta</h4>
 <pre><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a> _meta</pre>
 </li>
-<li class="blockList">
-<h4>_spec</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> _spec</pre>
-</li>
 <li class="blockListLast">
-<h4>_globalOffset</h4>
-<pre>int _globalOffset</pre>
+<h4>_decoder</h4>
+<pre><a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a> _decoder</pre>
 </li>
 </ul>
 </li>
@@ -5721,10 +5724,14 @@
 <h4>fn</h4>
 <pre><a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a> fn</pre>
 </li>
-<li class="blockListLast">
+<li class="blockList">
 <h4>_constant</h4>
 <pre>double _constant</pre>
 </li>
+<li class="blockListLast">
+<h4>k</h4>
+<pre>int k</pre>
+</li>
 </ul>
 </li>
 </ul>
@@ -5892,6 +5899,36 @@
 <dd>1L</dd>
 </dl>
 </li>
+<li class="blockList"><a name="org.apache.sysds.runtime.privacy.PrivacyConstraint">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">org.apache.sysds.runtime.privacy.PrivacyConstraint</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialization Methods</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>readExternal</h4>
+<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;is)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+<li class="blockListLast">
+<h4>writeExternal</h4>
+<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="blockList">
@@ -6204,18 +6241,6 @@
 <pre><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[] _mvMethodList</pre>
 </li>
 <li class="blockList">
-<h4>_mvscMethodList</h4>
-<pre><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[] _mvscMethodList</pre>
-</li>
-<li class="blockList">
-<h4>_isMVScaled</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a> _isMVScaled</pre>
-</li>
-<li class="blockList">
-<h4>_varFn</h4>
-<pre><a href="org/apache/sysds/runtime/functionobjects/CM.html" title="class in org.apache.sysds.runtime.functionobjects">CM</a> _varFn</pre>
-</li>
-<li class="blockList">
 <h4>_meanFn</h4>
 <pre><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects">Mean</a> _meanFn</pre>
 </li>
@@ -6228,38 +6253,10 @@
 <pre>long[] _countList</pre>
 </li>
 <li class="blockList">
-<h4>_varList</h4>
-<pre><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[] _varList</pre>
-</li>
-<li class="blockList">
-<h4>_scnomvList</h4>
-<pre>int[] _scnomvList</pre>
-</li>
-<li class="blockList">
-<h4>_scnomvMethodList</h4>
-<pre><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a>[] _scnomvMethodList</pre>
-</li>
-<li class="blockList">
-<h4>_scnomvMeanList</h4>
-<pre><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a>[] _scnomvMeanList</pre>
-</li>
-<li class="blockList">
-<h4>_scnomvCountList</h4>
-<pre>long[] _scnomvCountList</pre>
-</li>
-<li class="blockList">
-<h4>_scnomvVarList</h4>
-<pre><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>[] _scnomvVarList</pre>
-</li>
-<li class="blockList">
 <h4>_replacementList</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] _replacementList</pre>
 </li>
 <li class="blockList">
-<h4>_NAstrings</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[] _NAstrings</pre>
-</li>
-<li class="blockList">
 <h4>_rcList</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; _rcList</pre>
 </li>
@@ -6283,9 +6280,13 @@
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>_federated</h4>
+<pre>boolean _federated</pre>
+</li>
 <li class="blockListLast">
 <h4>_rmRows</h4>
-<pre>int _rmRows</pre>
+<pre>boolean[] _rmRows</pre>
 </li>
 </ul>
 </li>
diff --git a/docs/api/python/api/context/systemds_context.html b/docs/api/python/api/context/systemds_context.html
index 9308fca..eb08fb9 100644
--- a/docs/api/python/api/context/systemds_context.html
+++ b/docs/api/python/api/context/systemds_context.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -229,6 +229,12 @@
 </dd></dl>
 
 <dl class="py method">
+<dt id="systemds.context.SystemDSContext.exception_and_close">
+<code class="sig-name descname">exception_and_close</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">e</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.context.SystemDSContext.exception_and_close" title="Permalink to this definition">¶</a></dt>
+<dd><p>Method for printing exception, printing stdout and error, while also closing the context correctly.</p>
+</dd></dl>
+
+<dl class="py method">
 <dt id="systemds.context.SystemDSContext.get_stderr">
 <code class="sig-name descname">get_stderr</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">lines</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">- 1</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.context.SystemDSContext.get_stderr" title="Permalink to this definition">¶</a></dt>
 <dd><p>Getter for the stderr of the java subprocess
diff --git a/docs/api/python/api/matrix/matrix.html b/docs/api/python/api/matrix/matrix.html
index 827a9e0..e9d4a1b 100644
--- a/docs/api/python/api/matrix/matrix.html
+++ b/docs/api/python/api/matrix/matrix.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -279,7 +279,7 @@
 
 <dl class="py method">
 <dt id="systemds.matrix.Matrix.pass_python_data_to_prepared_script">
-<code class="sig-name descname">pass_python_data_to_prepared_script</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">jvm</span><span class="p">:</span> <span class="n">py4j.java_gateway.JVMView</span></em>, <em class="sig-param"><span class="n">var_name</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">prepared_script</span><span class="p">:</span> <span class="n">py4j.java_gateway.JavaObject</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#systemds.matrix.Matrix.pass_python_data_to_prepared_script" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">pass_python_data_to_prepared_script</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">sds</span></em>, <em class="sig-param"><span class="n">var_name</span><span class="p">:</span> <span class="n">str</span></em>, <em class="sig-param"><span class="n">prepared_script</span><span class="p">:</span> <span class="n">py4j.java_gateway.JavaObject</span></em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#systemds.matrix.Matrix.pass_python_data_to_prepared_script" title="Permalink to this definition">¶</a></dt>
 <dd><p>Passes data from python to the prepared script object.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
@@ -314,6 +314,21 @@
 </dl>
 </dd></dl>
 
+<dl class="py method">
+<dt id="systemds.matrix.Matrix.to_one_hot">
+<code class="sig-name descname">to_one_hot</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">num_classes</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.matrix.Matrix.to_one_hot" title="Permalink to this definition">¶</a></dt>
+<dd><p>OneHot encode the matrix.</p>
+<p>It is assumed that there is only one column to encode, and all values are whole numbers &gt; 0</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>num_classes</strong> – The number of classes to encode into. max value contained in the matrix must be &lt;= num_classes</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The OperationNode containing the oneHotEncoded values</p>
+</dd>
+</dl>
+</dd></dl>
+
 </dd></dl>
 
 </div>
diff --git a/docs/api/python/api/onnx_systemds/util.html b/docs/api/python/api/onnx_systemds/util.html
index 97f4111..5dac2a8 100644
--- a/docs/api/python/api/onnx_systemds/util.html
+++ b/docs/api/python/api/onnx_systemds/util.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
diff --git a/docs/api/python/api/operator/algorithms.html b/docs/api/python/api/operator/algorithms.html
index 6f392e2..00f68ff 100644
--- a/docs/api/python/api/operator/algorithms.html
+++ b/docs/api/python/api/operator/algorithms.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -225,7 +225,7 @@
 </div>
 <span class="target" id="module-systemds.operator.algorithm"></span><dl class="py function">
 <dt id="systemds.operator.algorithm.kmeans">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">kmeans</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.kmeans" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">kmeans</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.kmeans" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs KMeans on matrix input.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
@@ -247,7 +247,7 @@
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.l2svm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">l2svm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.l2svm" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">l2svm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.l2svm" title="Permalink to this definition">¶</a></dt>
 <dd><p>Perform L2SVM on matrix with labels given.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
@@ -265,7 +265,7 @@
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.lm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.lm" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.lm" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs LM on matrix with labels given.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
@@ -282,8 +282,55 @@
 </dd></dl>
 
 <dl class="py function">
+<dt id="systemds.operator.algorithm.multiLogReg">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogReg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.multiLogReg" title="Permalink to this definition">¶</a></dt>
+<dd><p>Performs Multiclass Logistic Regression on the matrix input
+using Trust Region method.</p>
+<p>See: Trust Region Newton Method for Logistic Regression, Lin, Weng and Keerthi, JMLR 9 (2008) 627-650)</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>x</strong> – Input dataset to perform logstic regression on</p></li>
+<li><p><strong>y</strong> – Labels rowaligned with the input dataset</p></li>
+<li><p><strong>icpt</strong> – Intercept, default 2, Intercept presence, shifting and rescaling X columns:
+0 = no intercept, no shifting, no rescaling;
+1 = add intercept, but neither shift nor rescale X;
+2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
+<li><p><strong>tol</strong> – float tolerance for the algorithm.</p></li>
+<li><p><strong>reg</strong> – Regularization parameter (lambda = 1/C); intercept settings are not regularized.</p></li>
+<li><p><strong>maxi</strong> – Maximum outer iterations of the algorithm</p></li>
+<li><p><strong>maxii</strong> – Maximum inner iterations of the algorithm
+:return: <cite>OperationNode</cite> of a matrix containing the regression parameters trained.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.multiLogRegPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogRegPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">b</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.multiLogRegPredict" title="Permalink to this definition">¶</a></dt>
+<dd><p>Performs prediction on input data x using the model trained, b.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>x</strong> – The data to perform classification on.</p></li>
+<li><p><strong>b</strong> – The regression parameters trained from multiLogReg.</p></li>
+<li><p><strong>y</strong> – The Labels expected to be contained in the X dataset, to calculate accuracy.</p></li>
+<li><p><strong>verbose</strong> – Boolean specifying if the prediction should be verbose.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><cite>OperationNode</cite> List containing three outputs. 
+1. The predicted means / probabilities
+2. The predicted response vector
+3. The scalar value of accuracy</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
 <dt id="systemds.operator.algorithm.pca">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n"><a class="reference internal" href="../script_building/dag.html#systemds.script_building.dag.DAGNode" title="systemds.script_building.dag.DAGNode">systemds.script_building.dag.DAGNode</a></span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.pca" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">systemds.operator.operation_node.OperationNode</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNode<span class="p">, </span>str<span class="p">, </span>int<span class="p">, </span>float<span class="p">, </span>bool<span class="p">]</span><span class="p">]</span></span></em><span class="sig-paren">)</span> &#x2192; systemds.operator.operation_node.OperationNode<a class="headerlink" href="#systemds.operator.algorithm.pca" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs PCA on the matrix input</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
diff --git a/docs/api/python/api/operator/operation_node.html b/docs/api/python/api/operator/operation_node.html
index 420c88b..359c017 100644
--- a/docs/api/python/api/operator/operation_node.html
+++ b/docs/api/python/api/operator/operation_node.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -198,11 +198,11 @@
 </div>
 <dl class="py class">
 <dt id="systemds.operator.OperationNode">
-<em class="property">class </em><code class="sig-prename descclassname">systemds.operator.</code><code class="sig-name descname">OperationNode</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">output_type: systemds.script_building.dag.OutputType = &lt;OutputType.MATRIX: 1&gt;</em>, <em class="sig-param">is_python_local_data: bool = False</em>, <em class="sig-param">number_of_outputs=1</em>, <em class="sig-param">output_types: Iterable[systemds.script_building.dag.OutputType] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.OperationNode" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="sig-prename descclassname">systemds.operator.</code><code class="sig-name descname">OperationNode</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">output_type: systemds.script_building.dag.OutputType = &lt;OutputType.MATRIX: 1&gt;</em>, <em class="sig-param">is_python_local_data: bool = False</em>, <em class="sig-param">shape: Tuple[int] = ()</em>, <em class="sig-param">number_of_outputs=1</em>, <em class="sig-param">output_types: Iterable[systemds.script_building.dag.OutputType] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.OperationNode" title="Permalink to this definition">¶</a></dt>
 <dd><p>A Node representing an operation in SystemDS</p>
 <dl class="py method">
 <dt id="systemds.operator.OperationNode.__init__">
-<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">output_type: systemds.script_building.dag.OutputType = &lt;OutputType.MATRIX: 1&gt;</em>, <em class="sig-param">is_python_local_data: bool = False</em>, <em class="sig-param">number_of_outputs=1</em>, <em class="sig-param">output_types: Iterable[systemds.script_building.dag.OutputType] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.OperationNode.__init__" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">output_type: systemds.script_building.dag.OutputType = &lt;OutputType.MATRIX: 1&gt;</em>, <em class="sig-param">is_python_local_data: bool = False</em>, <em class="sig-param">shape: Tuple[int] = ()</em>, <em class="sig-param">number_of_outputs=1</em>, <em class="sig-param">output_types: Iterable[systemds.script_building.dag.OutputType] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.OperationNode.__init__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Create general <cite>OperationNode</cite></p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
diff --git a/docs/api/python/api/script_building/dag.html b/docs/api/python/api/script_building/dag.html
index 7d75102..617be88 100644
--- a/docs/api/python/api/script_building/dag.html
+++ b/docs/api/python/api/script_building/dag.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
diff --git a/docs/api/python/api/script_building/script.html b/docs/api/python/api/script_building/script.html
index c2e1fe4..7b4f6a9 100644
--- a/docs/api/python/api/script_building/script.html
+++ b/docs/api/python/api/script_building/script.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
diff --git a/docs/api/python/api/utils/converters.html b/docs/api/python/api/utils/converters.html
index 6fa009b..fc70010 100644
--- a/docs/api/python/api/utils/converters.html
+++ b/docs/api/python/api/utils/converters.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -204,12 +204,12 @@
 
 <dl class="py function">
 <dt id="systemds.utils.converters.numpy_to_matrix_block">
-<code class="sig-prename descclassname">systemds.utils.converters.</code><code class="sig-name descname">numpy_to_matrix_block</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">jvm</span><span class="p">:</span> <span class="n">py4j.java_gateway.JVMView</span></em>, <em class="sig-param"><span class="n">np_arr</span><span class="p">:</span> <span class="n">numpy.array</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.utils.converters.numpy_to_matrix_block" title="Permalink to this definition">¶</a></dt>
+<code class="sig-prename descclassname">systemds.utils.converters.</code><code class="sig-name descname">numpy_to_matrix_block</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">sds</span><span class="p">:</span> <span class="n">systemds.context.systemds_context.SystemDSContext</span></em>, <em class="sig-param"><span class="n">np_arr</span><span class="p">:</span> <span class="n">numpy.array</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.utils.converters.numpy_to_matrix_block" title="Permalink to this definition">¶</a></dt>
 <dd><p>Converts a given numpy array, to internal matrix block representation.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>jvm</strong> – The current JVM instance running systemds.</p></li>
+<li><p><strong>sds</strong> – The current systemds context.</p></li>
 <li><p><strong>np_arr</strong> – the numpy array to convert to matrixblock.</p></li>
 </ul>
 </dd>
diff --git a/docs/api/python/genindex.html b/docs/api/python/genindex.html
index 04f579a..79ed4e3 100644
--- a/docs/api/python/genindex.html
+++ b/docs/api/python/genindex.html
@@ -88,7 +88,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -295,6 +295,10 @@
 <h2 id="E">E</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.exception_and_close">exception_and_close() (systemds.context.SystemDSContext method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute">execute() (systemds.script_building.script.DMLScript method)</a>
 </li>
   </ul></td>
@@ -413,6 +417,12 @@
 </li>
       </ul></li>
   </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.multiLogReg">multiLogReg() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.multiLogRegPredict">multiLogRegPredict() (in module systemds.operator.algorithm)</a>
+</li>
+  </ul></td>
 </tr></table>
 
 <h2 id="N">N</h2>
@@ -581,12 +591,14 @@
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/matrix/matrix.html#systemds.matrix.Matrix.t">t() (systemds.matrix.Matrix method)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.tan">tan() (systemds.operator.OperationNode method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.tanh">tanh() (systemds.operator.OperationNode method)</a>
 </li>
+      <li><a href="api/matrix/matrix.html#systemds.matrix.Matrix.to_one_hot">to_one_hot() (systemds.matrix.Matrix method)</a>
+</li>
   </ul></td>
 </tr></table>
 
diff --git a/docs/api/python/getting_started/install.html b/docs/api/python/getting_started/install.html
index 4a13f6e..b84d694 100644
--- a/docs/api/python/getting_started/install.html
+++ b/docs/api/python/getting_started/install.html
@@ -94,7 +94,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -219,14 +219,14 @@
 <p>Once installed you please verify your version numbers.
 Additionally you have to install a few python packages.
 Note depending on your installation you might need to use pip3 instead of pip:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">numpy</span> <span class="n">py4j</span> <span class="n">wheel</span> <span class="n">jinja2</span> <span class="n">onnx</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">numpy</span> <span class="n">py4j</span> <span class="n">wheel</span> <span class="n">jinja2</span> <span class="n">onnx</span> <span class="n">requests</span>
 </pre></div>
 </div>
 <p>Then to build the system you do the following</p>
 <ul class="simple">
 <li><p>Clone the Git Repository: <a class="reference external" href="https://github.com/apache/systemds.git">https://github.com/apache/systemds.git</a></p></li>
 <li><p>Open an terminal at the root of the repository.</p></li>
-<li><p>Package the Java code using the <code class="docutils literal notranslate"><span class="pre">mvn</span> <span class="pre">package</span> <span class="pre">-P</span> <span class="pre">distribution</span></code> command</p></li>
+<li><p>Package the Java code using the <code class="docutils literal notranslate"><span class="pre">mvn</span> <span class="pre">clean</span> <span class="pre">package</span> <span class="pre">-P</span> <span class="pre">distribution</span></code> command</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">cd</span> <span class="pre">src/main/python</span></code> to point at the root of the SystemDS Python library.</p></li>
 <li><p>Copy <cite>jars</cite> with <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">pre_setup.py</span></code></p></li>
 <li><p>Install with <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">.</span></code></p></li>
diff --git a/docs/api/python/guide/algorithms_basics.html b/docs/api/python/guide/algorithms_basics.html
new file mode 100644
index 0000000..89e6325
--- /dev/null
+++ b/docs/api/python/guide/algorithms_basics.html
@@ -0,0 +1,409 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Built-in Algorithms &mdash; SystemDS 2.0.0 documentation</title>
+  
+
+  
+  <link rel="stylesheet" href="../static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../static/pygments.css" type="text/css" />
+
+  
+  
+  
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../static/documentation_options.js"></script>
+        <script src="../static/jquery.js"></script>
+        <script src="../static/underscore.js"></script>
+        <script src="../static/doctools.js"></script>
+        <script src="../static/language_data.js"></script>
+    
+    <script type="text/javascript" src="../static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="QuickStart Onnx" href="../onnx_systemds/onnx_systemds.html" />
+    <link rel="prev" title="Federated Environment" href="federated.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home" alt="Documentation Home"> SystemDS
+          
+
+          
+          </a>
+
+          
+            
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <p class="caption"><span class="caption-text">Getting Started:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/install.html">Install SystemDS</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/simple_examples.html">QuickStart</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Guides</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="federated.html">Federated Environment</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Built-in Algorithms</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#step-1-get-dataset">Step 1: Get Dataset</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#step-2-reshape-format">Step 2: Reshape &amp; Format</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#step-3-training">Step 3: Training</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#step-3-validate">Step 3: Validate</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#step-4-tuning">Step 4: Tuning</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#full-script">Full Script</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds.html">QuickStart Onnx</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../onnx_systemds/onnx_systemds_design.html">Design</a></li>
+</ul>
+<p class="caption"><span class="caption-text">API</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../api/operator/algorithms.html">Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/context/systemds_context.html">SystemDSContext</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/matrix/data_gen.html">Data Generators</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/matrix/matrix.html">Matrix</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/matrix/federated.html">Federated</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/operator/operation_node.html">Operation Node</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/convert.html">Convert</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/onnx_helper.html">Onnx Helper</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/operator_gen.html">Operator Gen</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/render.html">Render</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/onnx_systemds/util.html">Util</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Internals API</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../api/script_building/dag.html">Dag</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/script_building/script.html">Script</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/utils/converters.html">Converters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../api/utils/helpers.html">Helpers</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">SystemDS</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Built-in Algorithms</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+            
+            <a href="../sources/guide/algorithms_basics.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="built-in-algorithms">
+<h1>Built-in Algorithms<a class="headerlink" href="#built-in-algorithms" title="Permalink to this headline">¶</a></h1>
+<p>Prerequisite:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../getting_started/install.html"><span class="doc">Install SystemDS</span></a></p></li>
+</ul>
+<p>This example goes through an algorithm from the list of builtin algorithms that can be applied to a dataset.
+For simplicity the dataset used for this is <a class="reference external" href="http://yann.lecun.com/exdb/mnist/">MNIST</a>,
+since it is commonly known and explored.</p>
+<p>If one wants to skip the explanation then the full script is available at the bottom of this page.</p>
+<div class="section" id="step-1-get-dataset">
+<h2>Step 1: Get Dataset<a class="headerlink" href="#step-1-get-dataset" title="Permalink to this headline">¶</a></h2>
+<p>SystemDS provides builtin for downloading and setup of the MNIST dataset.
+To setup this simply use:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.examples.tutorials.mnist</span> <span class="kn">import</span> <span class="n">DataManager</span>
+<span class="n">d</span> <span class="o">=</span> <span class="n">DataManager</span><span class="p">()</span>
+<span class="n">X</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get_train_data</span><span class="p">()</span>
+<span class="n">Y</span> <span class="o">=</span> <span class="n">d</span><span class="o">.</span><span class="n">get_train_labels</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>Here the DataManager contains the code for downloading and setting up numpy arrays containing the data.</p>
+</div>
+<div class="section" id="step-2-reshape-format">
+<h2>Step 2: Reshape &amp; Format<a class="headerlink" href="#step-2-reshape-format" title="Permalink to this headline">¶</a></h2>
+<p>Usually data does not come in formats that perfectly fits the algorithms, to make this tutorial more
+realistic some data preprocessing is required to change the input to fit.</p>
+<p>First the training data, X, has multiple dimensions resulting in a shape (60000, 28, 28).
+The dimensions correspond to first the number of images 60000, then the number of row pixels, 28,
+and finally the column pixels, 28.</p>
+<p>To use this data for logistic regression we have to reduce the dimensions.
+The input X is the training data.
+It require the data to have two dimensions, the first resemble the
+number of inputs, and the other the number of features.</p>
+<p>Therefore to make the data fit the algorithm we reshape the X dataset, like so:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">X</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">60000</span><span class="p">,</span> <span class="mi">28</span><span class="o">*</span><span class="mi">28</span><span class="p">))</span>
+</pre></div>
+</div>
+<p>This takes each row of pixels and append to each other making a single feature vector per image.</p>
+<p>The Y dataset also does not perfectly fit the logistic regression algorithm, this is because the labels
+for this dataset is values ranging from 0, to 9, each label correspond to the integer shown in the image.
+unfortunately the algorithm require the labels to be distinct integers from 1 and upwards.</p>
+<p>Therefore we add 1 to each label such that the labels go from 1 to 10, like this:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span> <span class="o">+</span> <span class="mi">1</span>
+</pre></div>
+</div>
+<p>With these steps we are now ready to train a simple model.</p>
+</div>
+<div class="section" id="step-3-training">
+<h2>Step 3: Training<a class="headerlink" href="#step-3-training" title="Permalink to this headline">¶</a></h2>
+<p>To start with, we setup a SystemDS context:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.context</span> <span class="kn">import</span> <span class="n">SystemDSContext</span>
+<span class="n">sds</span> <span class="o">=</span> <span class="n">SystemDSContext</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>Then setup the data:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.matrix</span> <span class="kn">import</span> <span class="n">Matrix</span>
+<span class="n">X_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">X</span><span class="p">)</span>
+<span class="n">Y_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">Y</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>to reduce the training time and verify everything works, it is usually good to reduce the amount of data,
+to train on a smaller sample to start with:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sample_size</span> <span class="o">=</span> <span class="mi">1000</span>
+<span class="n">X_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">X</span><span class="p">[:</span><span class="n">sample_size</span><span class="p">])</span>
+<span class="n">Y_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">Y</span><span class="p">[:</span><span class="n">sample_size</span><span class="p">])</span>
+</pre></div>
+</div>
+<p>And now everything is ready for our algorithm:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.operator.algorithm</span> <span class="kn">import</span> <span class="n">multiLogReg</span>
+
+<span class="n">bias</span> <span class="o">=</span> <span class="n">multiLogReg</span><span class="p">(</span><span class="n">X_ds</span><span class="p">,</span> <span class="n">Y_ds</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Note that nothing has been calculated yet, in SystemDS, since it only happens when you call compute:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">bias_r</span> <span class="o">=</span> <span class="n">bias</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>bias is a matrix, that if matrix multiplied with an instance returns a value distribution where, the highest value is the predicted type.
+This is the matrix that could be saved and used for predicting labels later.</p>
+</div>
+<div class="section" id="step-3-validate">
+<h2>Step 3: Validate<a class="headerlink" href="#step-3-validate" title="Permalink to this headline">¶</a></h2>
+<p>To see what accuracy the model achieves, we have to load in the test dataset as well.</p>
+<p>this can also be extracted from our builtin MNIST loader, to keep the tutorial short the operations are combined:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Xt</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_test_data</span><span class="p">()</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">10000</span><span class="p">,</span> <span class="mi">28</span><span class="o">*</span><span class="mi">28</span><span class="p">)))</span>
+<span class="n">Yt</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_test_labels</span><span class="p">())</span> <span class="o">+</span> <span class="mi">1</span>
+</pre></div>
+</div>
+<p>The above loads the test data, and reshapes the X data the same way the training data was reshaped.</p>
+<p>Finally we verify the accuracy by calling:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.operator.algorithm</span> <span class="kn">import</span> <span class="n">multiLogRegPredict</span>
+<span class="p">[</span><span class="n">m</span><span class="p">,</span> <span class="n">y_pred</span><span class="p">,</span> <span class="n">acc</span><span class="p">]</span> <span class="o">=</span> <span class="n">multiLogRegPredict</span><span class="p">(</span><span class="n">Xt</span><span class="p">,</span> <span class="n">bias</span><span class="p">,</span> <span class="n">Yt</span><span class="p">)</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">acc</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>There are three outputs from the multiLogRegPredict call.</p>
+<ul class="simple">
+<li><p>m, is the mean probability of correctly classifying each label.</p></li>
+<li><p>y_pred, is the predictions made using the model, bias, trained.</p></li>
+<li><p>acc, is the accuracy achieved by the model.</p></li>
+</ul>
+<p>If the subset of the training data is used then you could expect an accuracy of 85% in this example
+using 1000 pictures of the training data.</p>
+</div>
+<div class="section" id="step-4-tuning">
+<h2>Step 4: Tuning<a class="headerlink" href="#step-4-tuning" title="Permalink to this headline">¶</a></h2>
+<p>Now that we have a working baseline we can start tuning parameters.</p>
+<p>But first it is valuable to know how much of a difference in performance there is on the training data, vs the test data.
+This gives an indication of if we have exhausted the learning potential of the training data.</p>
+<p>To see how our accuracy is on the training data we use the Predict function again, but with our training data:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">m</span><span class="p">,</span> <span class="n">y_pred</span><span class="p">,</span> <span class="n">acc</span><span class="p">]</span> <span class="o">=</span> <span class="n">multiLogRegPredict</span><span class="p">(</span><span class="n">X_ds</span><span class="p">,</span> <span class="n">bias</span><span class="p">,</span> <span class="n">Y_ds</span><span class="p">)</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">acc</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>In this specific case we achieve 100% accuracy on the training data, indicating that we have fit the training data,
+and have nothing more to learn from the data as it is now.</p>
+<p>To improve further we have to increase the training data, here for example we increase it
+from our sample of 1k to the full training dataset of 60k, in this example the maxi is set to reduce the number of iterations the algorithm takes,
+to again reduce training time:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">X_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">X</span><span class="p">)</span>
+<span class="n">Y_ds</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">Y</span><span class="p">)</span>
+
+<span class="n">bias</span> <span class="o">=</span> <span class="n">multiLogReg</span><span class="p">(</span><span class="n">X_ds</span><span class="p">,</span> <span class="n">Y_ds</span><span class="p">,</span> <span class="n">maxi</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
+
+<span class="p">[</span><span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">train_acc</span><span class="p">]</span> <span class="o">=</span> <span class="n">multiLogRegPredict</span><span class="p">(</span><span class="n">X_ds</span><span class="p">,</span> <span class="n">bias</span><span class="p">,</span> <span class="n">Y_ds</span><span class="p">)</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+<span class="p">[</span><span class="n">_</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">test_acc</span><span class="p">]</span> <span class="o">=</span> <span class="n">multiLogRegPredict</span><span class="p">(</span><span class="n">Xt</span><span class="p">,</span> <span class="n">bias</span><span class="p">,</span> <span class="n">Yt</span><span class="p">)</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">train_acc</span><span class="p">,</span> <span class="s2">&quot;  &quot;</span><span class="p">,</span> <span class="n">test_acc</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>With this change the accuracy achieved changes from the previous value to 92%. This is still low on this dataset as can be seen on <a class="reference external" href="http://yann.lecun.com/exdb/mnist/">MNIST</a>.
+But this is a basic implementation that can be replaced by a variety of algorithms and techniques.</p>
+</div>
+<div class="section" id="full-script">
+<h2>Full Script<a class="headerlink" href="#full-script" title="Permalink to this headline">¶</a></h2>
+<p>The full script, some steps are combined to reduce the overall script.
+One noteworthy change is the + 1 is done on the matrix ready for SystemDS,
+this makes SystemDS responsible for adding the 1 to each value.:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">systemds.context</span> <span class="kn">import</span> <span class="n">SystemDSContext</span>
+<span class="kn">from</span> <span class="nn">systemds.matrix</span> <span class="kn">import</span> <span class="n">Matrix</span>
+<span class="kn">from</span> <span class="nn">systemds.operator.algorithm</span> <span class="kn">import</span> <span class="n">multiLogReg</span><span class="p">,</span> <span class="n">multiLogRegPredict</span>
+<span class="kn">from</span> <span class="nn">systemds.examples.tutorials.mnist</span> <span class="kn">import</span> <span class="n">DataManager</span>
+
+<span class="n">d</span> <span class="o">=</span> <span class="n">DataManager</span><span class="p">()</span>
+
+<span class="k">with</span> <span class="n">SystemDSContext</span><span class="p">()</span> <span class="k">as</span> <span class="n">sds</span><span class="p">:</span>
+    <span class="c1"># Train Data</span>
+    <span class="n">X</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_train_data</span><span class="p">()</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">60000</span><span class="p">,</span> <span class="mi">28</span><span class="o">*</span><span class="mi">28</span><span class="p">)))</span>
+    <span class="n">Y</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_train_labels</span><span class="p">())</span> <span class="o">+</span> <span class="mf">1.0</span>
+    <span class="n">bias</span> <span class="o">=</span> <span class="n">multiLogReg</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">,</span> <span class="n">maxi</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
+    <span class="c1"># Test data</span>
+    <span class="n">Xt</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_test_data</span><span class="p">()</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">10000</span><span class="p">,</span> <span class="mi">28</span><span class="o">*</span><span class="mi">28</span><span class="p">)))</span>
+    <span class="n">Yt</span> <span class="o">=</span> <span class="n">Matrix</span><span class="p">(</span><span class="n">sds</span><span class="p">,</span> <span class="n">d</span><span class="o">.</span><span class="n">get_test_labels</span><span class="p">())</span> <span class="o">+</span> <span class="mf">1.0</span>
+    <span class="p">[</span><span class="n">m</span><span class="p">,</span> <span class="n">y_pred</span><span class="p">,</span> <span class="n">acc</span><span class="p">]</span> <span class="o">=</span> <span class="n">multiLogRegPredict</span><span class="p">(</span><span class="n">Xt</span><span class="p">,</span> <span class="n">bias</span><span class="p">,</span> <span class="n">Yt</span><span class="p">)</span><span class="o">.</span><span class="n">compute</span><span class="p">()</span>
+
+<span class="nb">print</span><span class="p">(</span><span class="n">acc</span><span class="p">)</span>
+</pre></div>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../onnx_systemds/onnx_systemds.html" class="btn btn-neutral float-right" title="QuickStart Onnx" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="federated.html" class="btn btn-neutral float-left" title="Federated Environment" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        
+        &copy; Copyright 2020, Apache SystemDS
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/api/python/index.html b/docs/api/python/index.html
index 96e31c4..be78905 100644
--- a/docs/api/python/index.html
+++ b/docs/api/python/index.html
@@ -89,7 +89,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
@@ -194,7 +194,7 @@
 </ol>
 <p>These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations,
 as well as distributed operations on Apache Spark. In contrast to existing systems - that either
-provide homogeneous tensors or 2D Datasets - and in order to serve the entire
+provide homogeneous tensors or 2D datasets - and in order to serve the entire
 data science lifecycle, the underlying data model are DataTensors, i.e.,
 tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.</p>
 <div class="toctree-wrapper compound">
diff --git a/docs/api/python/objects.inv b/docs/api/python/objects.inv
index 244bb8f..6b25c6b 100644
--- a/docs/api/python/objects.inv
+++ b/docs/api/python/objects.inv
Binary files differ
diff --git a/docs/api/python/py-modindex.html b/docs/api/python/py-modindex.html
index f365535..309e56a 100644
--- a/docs/api/python/py-modindex.html
+++ b/docs/api/python/py-modindex.html
@@ -91,7 +91,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
diff --git a/docs/api/python/search.html b/docs/api/python/search.html
index 66ca03f..a7f3253 100644
--- a/docs/api/python/search.html
+++ b/docs/api/python/search.html
@@ -90,7 +90,7 @@
 <p class="caption"><span class="caption-text">Guides</span></p>
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="guide/federated.html">Federated Environment</a></li>
-<li class="toctree-l1"><a class="reference internal" href="guide/algorithms.html">Built-in Algorithms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="guide/algorithms_basics.html">Built-in Algorithms</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Onnx SystemDS</span></p>
 <ul>
diff --git a/docs/api/python/searchindex.js b/docs/api/python/searchindex.js
index 74db1aa..4b1632f 100644
--- a/docs/api/python/searchindex.js
+++ b/docs/api/python/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api/context/systemds_context","api/matrix/data_gen","api/matrix/federated","api/matrix/matrix","api/onnx_systemds/convert","api/onnx_systemds/onnx_helper","api/onnx_systemds/operator_gen","api/onnx_systemds/render","api/onnx_systemds/util","api/operator/algorithms","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms","guide/federated","index","onnx_systemds/onnx_systemds","onnx_systemds/onnx_systemds_design"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["api/context/systemds_context.rst","api/matrix/data_gen.rst","api/matrix/federated.rst","api/matrix/matrix.rst","api/onnx_systemds/convert.rst","api/onnx_systemds/onnx_helper.rst","api/onnx_systemds/operator_gen.rst","api/onnx_systemds/render.rst","api/onnx_systemds/util.rst","api/operator/algorithms.rst","api/operator/operation_node.rst","api/script_building/dag.rst","api/script_building/script.rst","api/utils/converters.rst","api/utils/helpers.rst","getting_started/install.rst","getting_started/simple_examples.rst","guide/algorithms.rst","guide/federated.rst","index.rst","onnx_systemds/onnx_systemds.rst","onnx_systemds/onnx_systemds_design.rst"],objects:{"systemds.context":{SystemDSContext:[0,0,1,""]},"systemds.context.SystemDSContext":{__init__:[0,1,1,""],close:[0,1,1,""],get_stderr:[0,1,1,""],get_stdout:[0,1,1,""]},"systemds.matrix":{Federated:[2,0,1,""],Matrix:[3,0,1,""],data_gen:[1,2,0,"-"]},"systemds.matrix.Federated":{__init__:[2,1,1,""]},"systemds.matrix.Matrix":{__init__:[3,1,1,""],cholesky:[3,1,1,""],code_line:[3,1,1,""],compute:[3,1,1,""],order:[3,1,1,""],pass_python_data_to_prepared_script:[3,1,1,""],rev:[3,1,1,""],t:[3,1,1,""]},"systemds.matrix.data_gen":{full:[1,3,1,""],rand:[1,3,1,""],seq:[1,3,1,""]},"systemds.onnx_systemds":{convert:[4,2,0,"-"],onnx_helper:[5,2,0,"-"],operator_gen:[6,2,0,"-"],render:[7,2,0,"-"],util:[8,2,0,"-"]},"systemds.onnx_systemds.convert":{onnx2systemds:[20,3,1,""]},"systemds.onnx_systemds.onnx_helper":{NodeTree:[5,0,1,""],PreparedValue:[5,0,1,""],get_graph_inputs_with_initializers:[5,3,1,""],get_graph_inputs_without_initializers:[5,3,1,""],get_value_info:[5,3,1,""],load_model:[5,3,1,""]},"systemds.onnx_systemds.onnx_helper.NodeTree":{remove_end_node:[5,1,1,""]},"systemds.onnx_systemds.operator_gen":{gen_1input_1output_mat_operator:[6,3,1,""],gen_2input_1output_operator:[6,3,1,""],gen_simple_function_call:[6,3,1,""]},"systemds.onnx_systemds.render":{gen_graph_functions:[7,3,1,""],gen_model_header:[7,3,1,""],gen_node_script:[7,3,1,""],gen_script:[7,3,1,""],render_function:[7,3,1,""]},"systemds.onnx_systemds.util":{generate_function_name:[8,3,1,""],resolve_systemds_root:[8,3,1,""]},"systemds.operator":{OperationNode:[10,0,1,""],algorithm:[9,2,0,"-"]},"systemds.operator.OperationNode":{"var":[10,1,1,""],__init__:[10,1,1,""],abs:[10,1,1,""],acos:[10,1,1,""],asin:[10,1,1,""],atan:[10,1,1,""],code_line:[10,1,1,""],compute:[10,1,1,""],cos:[10,1,1,""],cosh:[10,1,1,""],get_lineage_trace:[10,1,1,""],mean:[10,1,1,""],pass_python_data_to_prepared_script:[10,1,1,""],sin:[10,1,1,""],sinh:[10,1,1,""],sum:[10,1,1,""],tan:[10,1,1,""],tanh:[10,1,1,""]},"systemds.operator.algorithm":{kmeans:[9,3,1,""],l2svm:[9,3,1,""],lm:[9,3,1,""],pca:[9,3,1,""]},"systemds.script_building":{dag:[11,2,0,"-"],script:[12,2,0,"-"]},"systemds.script_building.dag":{DAGNode:[11,0,1,""],OutputType:[11,0,1,""]},"systemds.script_building.dag.DAGNode":{code_line:[11,1,1,""],compute:[11,1,1,""],get_lineage_trace:[11,1,1,""],pass_python_data_to_prepared_script:[11,1,1,""]},"systemds.script_building.script":{DMLScript:[12,0,1,""]},"systemds.script_building.script.DMLScript":{add_code:[12,1,1,""],add_input_from_python:[12,1,1,""],build_code:[12,1,1,""],execute:[12,1,1,""]},"systemds.utils":{converters:[13,2,0,"-"],helpers:[14,2,0,"-"]},"systemds.utils.converters":{matrix_block_to_numpy:[13,3,1,""],numpy_to_matrix_block:[13,3,1,""]},"systemds.utils.helpers":{create_params_string:[14,3,1,""],get_module_dir:[14,3,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","module","Python module"],"3":["py","function","Python function"]},objtypes:{"0":"py:class","1":"py:method","2":"py:module","3":"py:function"},terms:{"0011352":16,"0014692":16,"00324092":16,"00616902":16,"0095087":16,"01039221":16,"01686351":16,"02033445":16,"02649209":16,"03839821":16,"04078623":9,"09961844":9,"0_242":15,"0_xxx":15,"100":16,"11538199":9,"18954599":9,"20386541":9,"2205885":9,"242":15,"26812763":9,"37957689":9,"39956035":9,"4327084":9,"43386048":9,"49858968":9,"54638565":9,"55358873":9,"57000751":9,"5x10":16,"8001":18,"8002":18,"8003":18,"abstract":19,"boolean":9,"case":15,"class":[0,2,3,5,7,10,11,12,21],"default":[0,3,10],"export":[20,21],"float":[1,2,3,9,10],"function":[3,6,7,8,10,14,16,21],"import":[0,6,7,9,15,16,18,20],"int":[0,1,2,3,9,10],"new":[0,16],"return":[0,1,2,3,5,6,7,8,9,10,11,12,14,16],"true":3,"try":0,"var":10,"while":10,For:[11,12,13,14,21],Not:21,OPS:[11,12,13,14],One:16,The:[0,5,6,7,8,9,10,13,15,16,18,19,21],Then:[15,20],There:21,These:[19,21],Using:18,__eq__:10,__init__:[0,2,3,10],__lt__:10,abl:[18,21],abs:10,absolut:10,access:21,aco:10,action:[3,10,11],activ:[3,10,11],actual:[3,10,11,16,21],acycl:11,adapt:21,add:[6,12,21],add_cod:12,add_input_from_python:12,adding:21,addit:[3,10,11],addition:[6,15],addr1:18,addr2:18,addr3:18,address:[2,18],ads:21,after:[15,18,21],again:[0,21],algorithm:16,all:[0,1,3,5,7,10,11,14,15,18,21],allow:21,alreadi:[12,21],also:[0,7,18,20,21],although:3,alwai:0,analysi:9,ani:[0,11,21],annoi:0,anoth:16,apach:[15,19],appli:3,arcco:10,arcsin:10,arctan:10,arg:[2,3],argument:[6,9,21],arrai:[3,10,11,13,16,19],asarrai:18,asin:10,associ:[5,9],atan:10,attribut:21,automat:[0,16,21],avail:21,averag:9,avg_sample_size_per_centroid:9,axi:10,b08:15,base:21,basic:14,becaus:[0,15,21],becom:[18,21],befor:[3,10,11],begin:2,behavior:12,below:[3,21],besid:21,best:21,bin:21,bind:19,bit:15,block:[0,13],bodi:7,bool:[2,3,9,10,11,12],both:14,bottom:[18,21],box:9,buffer:21,build:[3,10,11,12,15,21],build_cod:12,built:16,builtin:[3,10,11],cach:12,calcul:[0,10,16],call:[3,6,10,11,14,16,18,20,21],can:[0,3,9,10,11,12,14,15,16,18,20,21],cell:1,center:9,centroid:9,chang:9,check:[3,5,15,18],choleski:3,clean:19,cleanup:0,clone:15,close:[0,16],cluster:9,code:[3,10,11,12,15,16,21],code_lin:[3,10,11],col:[1,18],column:[1,3,9,10],com:15,combin:21,command:[15,18],comment:21,common:[5,21],compar:21,comparison:10,compat:[15,16],compil:19,complet:[1,16],complex:21,componenet:9,comput:[3,9,10,11,16,18,21],concurr:9,connect:0,consist:21,construct:[3,8,10],contain:[9,15],context:[0,1,2,9,10,12,16,18],contrast:19,conveni:21,convent:21,converg:9,convers:21,convert:[5,14,21],coordin:18,copi:15,correct:7,correctli:[7,18],correspond:[5,21],cos:10,cosh:10,cpu:19,creat:[0,1,2,3,10,11,12,14,16,18],create_params_str:14,csv:18,current:[0,13,18,20,21],dag:[3,9,10,12,21],dag_root:12,dagnod:[2,3,9,10,11,12],data:[3,9,10,11,12,16,18,19,21],data_gen:[1,16],dataset:[9,19],datatensor:19,deal:21,debug:21,declar:9,decomposit:3,decreas:3,dedic:21,defin:[1,3,11,21],definit:[3,21],delimit:18,depend:[15,21],deploy:19,deriv:3,describ:[12,21],develop:16,dict:[2,3,9,10,11,14],dictionari:[9,14,21],differ:[9,12,18,19,21],dim:18,dimens:[9,18,19],dimension:[9,19],direct:11,directli:[6,16],directori:20,distribut:[1,15,19],dml:[3,4,5,7,10,11,12,14,20],dml_wrapper:21,dmlcode:12,dmlscript:12,doc:21,document:21,doe:[16,18,21],doesn:11,done:18,doubl:[10,16,18],dtype:16,each:[2,7,9,18,21],easili:16,echo:18,effici:19,either:[3,10,19],element:[16,21],enabl:[18,21],end:[2,5,19],engin:[19,21],ensur:[0,3],entir:19,enumer:11,env:[6,7],environ:[6,7,8,15,20,21],eps:9,equal:[3,10,11],equival:10,error:[0,10],essenti:21,etc:10,evalu:[3,10,11],even:10,everi:10,exactli:21,exampl:[9,16,20],except:5,exchang:16,execut:[0,3,10,11,12,15,16,18,19],exist:[5,19,21],expect:10,expens:0,expertis:19,extens:21,extra:9,facilit:19,fail:21,fals:[3,10,11,12,18],featur:[9,16,19],fed_a:18,fed_b:18,few:15,file:[3,4,5,6,7,18,20],fill:[0,1,16],find:21,finish:0,first:[15,16,18,19,20,21],fit:9,flag:[3,9],folder:21,follow:[0,9,15,18],form:[0,20,21],format:[14,18,21],found:5,fraction:1,free:21,from:[0,1,3,4,5,8,9,10,11,12,15,16,18,19,20,21],full:[1,16],function_cal:21,fundament:3,gen_1input_1output_mat_oper:6,gen_2input_1output_oper:6,gen_graph_funct:[7,21],gen_model_head:7,gen_node_script:7,gen_script:7,gen_simple_function_cal:6,gener:[3,4,6,7,9,10,11,16,20,21],generate_function_nam:[8,21],generated_node_script:7,generatedscriptpart:[6,7],get:[0,3,10,11,12,16],get_graph_inputs_with_initi:5,get_graph_inputs_without_initi:5,get_lineage_trac:[10,11],get_module_dir:14,get_stderr:0,get_stdout:0,get_value_info:5,getter:0,git:15,github:15,give:14,given:[1,3,4,5,7,8,9,13,20],googl:21,gpu:19,graph:[5,6,7,8,11,20],graph_nam:8,graphproto:[5,6,7],guid:18,handi:21,handl:[0,21],has:[0,12],have:[0,4,5,6,15,18,19,20,21],header:[7,18],held:2,help:[19,21],helper:21,here:18,heterogen:19,high:[16,19],homogen:19,howev:21,http:15,human:21,hybrid:19,idea:21,identifi:10,immedi:10,implement:0,improv:21,includ:21,increas:3,increment:1,independ:21,index:[2,3],index_return:3,indic:18,info:5,inform:[3,10,11,21],initi:[5,9,21],input:[3,4,5,6,9,10,12,20,21],input_onnx_fil:[4,20],input_var:12,insert:[7,21],instal:[17,20],instanc:[0,9,13,16],instead:[15,21],instruct:[0,18,20],integr:19,intend:[3,10,11,12],interfac:19,intern:[11,12,13,14,21],interpret:1,invok:20,involv:15,is_python_local_data:10,is_verbos:9,iter:[2,9,10,14],its:[18,21],itself:21,jar:15,java:[0,3,10,11,15],java_gatewai:[3,10,11,12,13],javaobject:[3,10,11,12,13],jinja2:[6,7,15],jinja:[6,7,21],just:15,jvm:[0,3,10,11,13],jvmview:[3,10,11,13],kmean:9,kwarg:[2,3,9],l2svm:[9,16],label:[9,16],lambd:1,lamda:1,languag:19,larg:21,last:18,lazi:[3,10,11],lazili:10,learn:9,least:0,leav:0,left:[0,6,18,21],let:16,level:[16,19],leverag:18,librari:15,lifecycl:19,like:[6,10,18,21],line:[0,3,10,11,12,15],lineag:[3,10,11,12],list:[0,5,7,9,18,21],load:[4,5,6,7,20],load_model:5,local:[10,12,19],localhost:18,locat:[18,21],logic:21,look:[15,16,18,21],m_re:16,m_res_np:16,machin:[3,9,10,11],mai:19,main:[7,15,20,21],main_graph:7,make:[15,16,18],manag:0,mani:21,manner:9,mat:3,matmul:21,matric:[3,18],matrix:[1,2,9,10,13,18],matrix_block_to_numpi:13,matrixblock:13,maven:15,max:1,max_it:9,maximum:[1,9],mean:[9,10],member:21,memori:19,merg:21,metadata:18,method:[3,10,11],might:[0,15],min:1,mix:15,mode:15,model:[4,5,7,9,16,19,20],model_gener:[20,21],modelproto:[5,7],modul:14,more:21,most:[3,10],mtd:18,multi:[10,19],multipl:[10,16],multipli:[16,18],mvn:15,name:[2,3,4,5,8,10,11,12,14,20,21],named_input_nod:10,named_input_var:[3,10,11],named_paramet:14,necessari:[0,5,15,16],need:[0,3,15,18,20,21],nest:19,neutron:21,newer:15,next:18,nice:21,node:[3,5,6,7,11,21],nodeproto:[5,6,7],nodetre:5,non:[1,5,15],none:[1,3,4,5,7,10,11,12,20],normal:1,note:[15,16,18],noth:[10,16],np_arr:13,number:[0,1,3,9,15,16,21],number_of_output:10,numpi:[3,9,10,11,13,15,16,18],numpy_to_matrix_block:13,object:[0,2,3,10,11,12,13],older:15,onc:[0,15,18],one:[0,1,6,9,16,18,21],ones:18,onli:[0,1,3,10,11,12,16,21],onnx2systemd:[4,20],onnx:[4,6,7,15],onnx_fil:5,onnx_help:[5,21],onnx_onnx_rel_1_7_ml_pb2:[5,6,7],onnx_systemd:[4,5,6,7,8,20],open:[0,15],openjdk:15,oper:[0,1,2,3,9,11,12,19],operation_nod:[1,2,3,9,10],operationnod:[1,2,3,9,10],operator_gen:[6,7],operator_gener:21,option:[4,7,20],order:[3,7,18,19,21],other:[10,15,18,21],our:[12,14,16,18],out:[0,9,21],output:[0,3,4,6,9,10,11,12,15,16,20,21],output_dml_fil:[4,20],output_fil:7,output_refer:21,output_test:21,output_typ:[3,10],outputtyp:[10,11],over:19,overload:10,own:21,packag:[15,16,19],pair:[2,3,10,11],param:[0,2,5,6,8],paramet:[1,2,3,4,5,6,7,9,10,11,12,13,14,20],pars:0,part:[6,7,15,21],pass:[0,3,10,11,12],pass_python_data_to_prepared_script:[3,10,11],path:[3,8,14,18],pathlik:[3,14],pca:9,pdf:1,per:9,perfom:[],perform:[9,10],pip3:15,plan:19,pleas:15,point:[3,15],pointer:13,poison:1,port:[0,18],posit:[3,10],possibl:[3,20,21],pre_setup:15,precis:21,prepar:[3,5,10,11,12],prepared_script:[3,10,11],preparedscript:12,preparedvalu:5,prerequisit:17,princip:9,print:[0,3,9,10,11,16,18],procedur:0,process:[0,16,21],produc:21,profession:21,program:0,project:15,proto3:21,proto:21,protobuf:21,protocol:[0,21],provid:[6,14,16,19,21],py4j:[3,10,11,12,13,15,16],pycharm:21,python:[0,3,10,11,12,15,16,18,19,20,21],queue:0,quick:16,quit:15,rais:5,rand:[1,9],randint:16,random:[0,1,9,16],rang:[2,16],ratio:9,read:0,readabl:21,readi:15,recogn:[3,10],recommend:3,recompil:12,record:9,recurs:21,reduc:9,refer:[18,21],rememb:[10,16],remov:[5,21],remove_end_nod:5,render_funct:7,replac:21,repositori:[15,18,21],repres:[1,2,3,5,10,11,14],represent:[13,21],requir:[6,7,18,21],rerun:12,res:18,resolv:21,resolve_systemds_root:8,respect:10,respons:9,restart:21,result:[3,7,10,11,12,16,18],resultvari:12,rev:3,revers:[3,21],right:[6,21],root:15,row:[1,3,9,10,18],run:[0,9,13,16,18,21],runtim:15,safe:3,same:[4,20,21],sampl:9,sample_model:21,sample_model_refer:21,sample_model_wrapp:21,save:[3,10,11],savetxt:18,scalar:16,scale:9,scenario:10,schema:[19,21],scienc:19,scientist:16,scope:21,script:[3,5,6,7,10,11,19,20],script_build:[9,10,11,12],sds:[0,9,16,18],sds_context:[1,2,3,10],search:[5,8],second:18,see:21,seed:[1,9,16],sent:3,separ:[0,21],seq:1,sequenc:[3,10,11],serv:19,server:15,set:[9,10,16,18,20,21],setup:18,setw:21,sever:21,shall:[5,6,7],shape:[1,9,16],should:[3,9,10,11,12,15,16,18,21],similar:[9,15,16],similarli:9,simpl:[5,6,15,21],simple_mat_add:20,simpli:[10,18,21],simplifi:16,simul:18,sin:10,sinc:[0,21],singl:[1,18,21],sinh:10,size:[1,16],skip:3,snip:21,snippet:[7,21],some:[16,18,21],someth:0,sort:3,spark:19,sparsiti:1,specif:21,specifi:[3,9,18,21],src:[15,20],stack:18,stai:21,standard:[0,21],start:[0,1,16,21],statement:0,stderr:0,stdout:0,step:[1,15],stick:21,stop:[1,16],store:[11,21],str:[1,2,3,4,5,7,8,9,10,11,12,14,20],strategi:21,string:[3,7,10,11,14,21],structur:[5,7,21],sub:[0,7,21],subprocess:[0,16],sum:[10,18],support:[0,9,18,21],sure:15,symmetr:3,syntax:[0,21],system:[15,19,21],systemd:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,20,21],systemds_context:[1,2],systemds_root:[8,21],systemdscontext:[1,2,3,9,10,12,16,18],take:[8,16,21],taken:0,tan:10,tanh:10,task:19,tcp:0,temp:18,templat:[6,7,21],tensor:[1,19],tensorproto:5,termin:[15,16,18],test:18,test_model:[20,21],test_simpl:20,than:10,thei:[10,21],them:[5,7],therebi:10,therefor:[0,10,21],thi:[0,1,2,3,4,10,11,12,15,16,18,19,20,21],three:[15,18,21],till:[3,10,11],todo:[1,12,17],togeth:[7,21],toler:9,tool:20,top:18,topmost:12,trace:[3,10,11],train:19,translat:21,transpos:3,travers:7,tree:[5,7,21],treenod:5,tupl:[1,2,5,7,10,12,18],two:[6,9,18],type:[3,10,11,21],unclutt:21,underli:[19,21],understand:21,uniform:1,uniniti:5,union:[1,2,3,9,10,12],unit:21,unittest:20,unlik:11,unnam:[2,3,10,11,14],unnamed_input_nod:10,unnamed_input_var:[3,10,11],unnamed_paramet:14,unseen:9,use:[3,9,11,12,13,14,15,16,18,21],used:[9,12,14,18,21],user:19,uses:21,using:[0,9,15,18,21],util:[13,14,21],valid:[8,21],valu:[1,3,5,9,10,11,16,21],value_info:5,valueinfo:5,valueinfoproto:5,var_nam:[3,10,11,12],variabl:[3,8,10,11,12,14,18,21],varianc:10,vector:[1,9],verbos:[3,9,10,11],veri:21,verifi:15,versatil:19,version:[5,15,21],via:15,view:21,virtual:[3,10,11],wai:[3,21],wcss:9,weight:9,well:[7,10,19,21],were:21,wheel:15,when:[0,21],which:[0,3,6,7,12,14,16,21],whose:19,why:21,wise:16,within:20,without:[3,10,11,12],work:[18,19,21],worker:2,would:[0,21],wrapper:21,write:5,written:7,yet:16,you:[10,15,18,20,21],your:[0,15,18],zero:[1,16]},titles:["SystemDSContext","Data Generators","Federated","Matrix","Convert","Onnx Helper","Operator Gen","Render","Util","Algorithms","Operation Node","Dag","Script","Converters","Helpers","Install SystemDS","QuickStart","Built-in Algorithms","Federated Environment","SystemDS","QuickStart Onnx","Design"],titleterms:{"final":21,"import":21,"new":21,aggreg:18,algorithm:[9,17],built:17,complex:16,convert:[4,13,20],creat:21,dag:11,data:1,dataset:17,design:21,dml:21,dml_script:21,environ:18,exampl:[18,21],feder:[2,18],file:21,gen:6,gener:1,get:17,goal:21,graph:21,helper:[5,14],implement:21,instal:15,limit:21,matrix:[3,16],model:[17,21],more:16,multipl:18,node:10,onnx:[5,20,21],oper:[6,10,16,21],pip:15,prerequisit:20,quickstart:[16,20],render:[7,21],run:20,script:[12,21],simpl:18,sourc:15,start:18,step:[17,21],sub_graph:21,systemd:[15,19],systemdscontext:0,test:[20,21],testcas:21,tool:21,train:17,travers:21,usag:20,util:8,valid:17,worker:18}})
\ No newline at end of file
+Search.setIndex({docnames:["api/context/systemds_context","api/matrix/data_gen","api/matrix/federated","api/matrix/matrix","api/onnx_systemds/convert","api/onnx_systemds/onnx_helper","api/onnx_systemds/operator_gen","api/onnx_systemds/render","api/onnx_systemds/util","api/operator/algorithms","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms_basics","guide/federated","index","onnx_systemds/onnx_systemds","onnx_systemds/onnx_systemds_design"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,sphinx:56},filenames:["api/context/systemds_context.rst","api/matrix/data_gen.rst","api/matrix/federated.rst","api/matrix/matrix.rst","api/onnx_systemds/convert.rst","api/onnx_systemds/onnx_helper.rst","api/onnx_systemds/operator_gen.rst","api/onnx_systemds/render.rst","api/onnx_systemds/util.rst","api/operator/algorithms.rst","api/operator/operation_node.rst","api/script_building/dag.rst","api/script_building/script.rst","api/utils/converters.rst","api/utils/helpers.rst","getting_started/install.rst","getting_started/simple_examples.rst","guide/algorithms_basics.rst","guide/federated.rst","index.rst","onnx_systemds/onnx_systemds.rst","onnx_systemds/onnx_systemds_design.rst"],objects:{"systemds.context":{SystemDSContext:[0,0,1,""]},"systemds.context.SystemDSContext":{__init__:[0,1,1,""],close:[0,1,1,""],exception_and_close:[0,1,1,""],get_stderr:[0,1,1,""],get_stdout:[0,1,1,""]},"systemds.matrix":{Federated:[2,0,1,""],Matrix:[3,0,1,""],data_gen:[1,2,0,"-"]},"systemds.matrix.Federated":{__init__:[2,1,1,""]},"systemds.matrix.Matrix":{__init__:[3,1,1,""],cholesky:[3,1,1,""],code_line:[3,1,1,""],compute:[3,1,1,""],order:[3,1,1,""],pass_python_data_to_prepared_script:[3,1,1,""],rev:[3,1,1,""],t:[3,1,1,""],to_one_hot:[3,1,1,""]},"systemds.matrix.data_gen":{full:[1,3,1,""],rand:[1,3,1,""],seq:[1,3,1,""]},"systemds.onnx_systemds":{convert:[4,2,0,"-"],onnx_helper:[5,2,0,"-"],operator_gen:[6,2,0,"-"],render:[7,2,0,"-"],util:[8,2,0,"-"]},"systemds.onnx_systemds.convert":{onnx2systemds:[20,3,1,""]},"systemds.onnx_systemds.onnx_helper":{NodeTree:[5,0,1,""],PreparedValue:[5,0,1,""],get_graph_inputs_with_initializers:[5,3,1,""],get_graph_inputs_without_initializers:[5,3,1,""],get_value_info:[5,3,1,""],load_model:[5,3,1,""]},"systemds.onnx_systemds.onnx_helper.NodeTree":{remove_end_node:[5,1,1,""]},"systemds.onnx_systemds.operator_gen":{gen_1input_1output_mat_operator:[6,3,1,""],gen_2input_1output_operator:[6,3,1,""],gen_simple_function_call:[6,3,1,""]},"systemds.onnx_systemds.render":{gen_graph_functions:[7,3,1,""],gen_model_header:[7,3,1,""],gen_node_script:[7,3,1,""],gen_script:[7,3,1,""],render_function:[7,3,1,""]},"systemds.onnx_systemds.util":{generate_function_name:[8,3,1,""],resolve_systemds_root:[8,3,1,""]},"systemds.operator":{OperationNode:[10,0,1,""],algorithm:[9,2,0,"-"]},"systemds.operator.OperationNode":{"var":[10,1,1,""],__init__:[10,1,1,""],abs:[10,1,1,""],acos:[10,1,1,""],asin:[10,1,1,""],atan:[10,1,1,""],code_line:[10,1,1,""],compute:[10,1,1,""],cos:[10,1,1,""],cosh:[10,1,1,""],get_lineage_trace:[10,1,1,""],mean:[10,1,1,""],pass_python_data_to_prepared_script:[10,1,1,""],sin:[10,1,1,""],sinh:[10,1,1,""],sum:[10,1,1,""],tan:[10,1,1,""],tanh:[10,1,1,""]},"systemds.operator.algorithm":{kmeans:[9,3,1,""],l2svm:[9,3,1,""],lm:[9,3,1,""],multiLogReg:[9,3,1,""],multiLogRegPredict:[9,3,1,""],pca:[9,3,1,""]},"systemds.script_building":{dag:[11,2,0,"-"],script:[12,2,0,"-"]},"systemds.script_building.dag":{DAGNode:[11,0,1,""],OutputType:[11,0,1,""]},"systemds.script_building.dag.DAGNode":{code_line:[11,1,1,""],compute:[11,1,1,""],get_lineage_trace:[11,1,1,""],pass_python_data_to_prepared_script:[11,1,1,""]},"systemds.script_building.script":{DMLScript:[12,0,1,""]},"systemds.script_building.script.DMLScript":{add_code:[12,1,1,""],add_input_from_python:[12,1,1,""],build_code:[12,1,1,""],execute:[12,1,1,""]},"systemds.utils":{converters:[13,2,0,"-"],helpers:[14,2,0,"-"]},"systemds.utils.converters":{matrix_block_to_numpy:[13,3,1,""],numpy_to_matrix_block:[13,3,1,""]},"systemds.utils.helpers":{create_params_string:[14,3,1,""],get_module_dir:[14,3,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","module","Python module"],"3":["py","function","Python function"]},objtypes:{"0":"py:class","1":"py:method","2":"py:module","3":"py:function"},terms:{"0011352":16,"0014692":16,"00324092":16,"00616902":16,"0095087":16,"01039221":16,"01686351":16,"02033445":16,"02649209":16,"03839821":16,"04078623":9,"09961844":9,"0_242":15,"0_xxx":15,"100":[16,17],"1000":17,"10000":17,"11538199":9,"18954599":9,"2008":9,"20386541":9,"2205885":9,"242":15,"26812763":9,"37957689":9,"39956035":9,"4327084":9,"43386048":9,"49858968":9,"54638565":9,"55358873":9,"57000751":9,"5x10":16,"60000":17,"60k":17,"627":9,"650":9,"8001":18,"8002":18,"8003":18,"abstract":19,"boolean":9,"case":[15,17],"class":[0,2,3,5,7,10,11,12,21],"default":[0,3,9,10],"export":[20,21],"final":17,"float":[1,2,3,9,10],"function":[3,6,7,8,10,14,16,17,21],"import":[0,6,7,9,15,16,17,18,20],"int":[0,1,2,3,9,10],"new":[0,16],"return":[0,1,2,3,5,6,7,8,9,10,11,12,14,16,17],"short":17,"true":3,"try":0,"var":10,"while":[0,10],And:17,But:17,For:[11,12,13,14,17,21],Not:21,OPS:[11,12,13,14],One:[16,17],The:[0,3,5,6,7,8,9,10,13,15,16,17,18,19,21],Then:[15,17,20],There:[17,21],These:[19,21],Using:18,With:17,__eq__:10,__init__:[0,2,3,10],__lt__:10,abl:[18,21],abov:17,abs:10,absolut:10,acc:17,access:21,accuraci:[9,17],achiev:17,aco:10,action:[3,10,11],activ:[3,10,11],actual:[3,10,11,16,21],acycl:11,adapt:21,add:[6,9,12,17,21],add_cod:12,add_input_from_python:12,adding:[17,21],addit:[3,10,11],addition:[6,15],addr1:18,addr2:18,addr3:18,address:[2,18],ads:21,after:[15,18,21],again:[0,17,21],algorithm:16,all:[0,1,3,5,7,10,11,14,15,18,21],allow:21,alreadi:[12,21],also:[0,7,17,18,20,21],although:3,alwai:0,amount:17,analysi:9,ani:[0,11,21],annoi:0,anoth:16,apach:[15,19],append:17,appli:[3,17],arcco:10,arcsin:10,arctan:10,arg:[2,3],argument:[6,9,21],arrai:[3,10,11,13,16,17,19],asarrai:18,asin:10,associ:[5,9],assum:3,atan:10,attribut:21,automat:[0,16,21],avail:[17,21],averag:9,avg_sample_size_per_centroid:9,axi:10,b08:15,base:21,baselin:17,basic:[14,17],becaus:[0,15,17,21],becom:[18,21],been:17,befor:[3,10,11],begin:2,behavior:12,below:[3,21],besid:21,best:21,bia:17,bias_r:17,bin:21,bind:19,bit:15,block:[0,13],bodi:7,bool:[2,3,9,10,11,12],both:14,bottom:[17,18,21],box:9,buffer:21,build:[3,10,11,12,15,21],build_cod:12,built:16,builtin:[3,10,11,17],cach:12,calcul:[0,9,10,16,17],call:[3,6,10,11,14,16,17,18,20,21],can:[0,3,9,10,11,12,14,15,16,17,18,20,21],cell:1,center:9,centroid:9,chang:[9,17],check:[3,5,15,18],choleski:3,classif:9,classifi:17,clean:[15,19],cleanup:0,clone:15,close:[0,16],cluster:9,code:[3,10,11,12,15,16,17,21],code_lin:[3,10,11],col:[1,18],column:[1,3,9,10,17],com:15,combin:[17,21],come:17,command:[15,18],comment:21,common:[5,21],commonli:17,compar:21,comparison:10,compat:[15,16],compil:19,complet:[1,16],complex:21,componenet:9,comput:[3,9,10,11,16,17,18,21],concurr:9,connect:0,consist:21,construct:[3,8,10],contain:[3,9,15,17],context:[0,1,2,9,10,12,13,16,17,18],contrast:19,conveni:21,convent:21,converg:9,convers:21,convert:[5,14,21],coordin:18,copi:15,correct:7,correctli:[0,7,17,18],correspond:[5,17,21],cos:10,cosh:10,could:17,cpu:19,creat:[0,1,2,3,10,11,12,14,16,18],create_params_str:14,csv:18,current:[0,13,18,20,21],dag:[3,10,12,21],dag_root:12,dagnod:[2,3,9,10,11,12],data:[3,9,10,11,12,16,17,18,19,21],data_gen:[1,16],datamanag:17,dataset:[9,19],datatensor:19,deal:21,debug:21,declar:9,decomposit:3,decreas:3,dedic:21,defin:[1,3,11,21],definit:[3,21],delimit:18,depend:[15,21],deploy:19,deriv:3,describ:[12,21],develop:16,dict:[2,3,9,10,11,14],dictionari:[9,14,21],differ:[9,12,17,18,19,21],dim:18,dimens:[9,17,18,19],dimension:[9,19],direct:11,directli:[6,16],directori:20,distinct:17,distribut:[1,15,17,19],dml:[3,4,5,7,10,11,12,14,20],dml_wrapper:21,dmlcode:12,dmlscript:12,doc:21,document:21,doe:[16,17,18,21],doesn:11,done:[17,18],doubl:[10,16,18],download:17,dtype:16,each:[2,7,9,17,18,21],easili:16,echo:18,effici:19,either:[3,10,19],element:[16,21],enabl:[18,21],encod:3,end:[2,5,19],engin:[19,21],ensur:[0,3],entir:19,enumer:11,env:[6,7],environ:[6,7,8,15,20,21],eps:9,equal:[3,10,11],equival:10,error:[0,10],essenti:21,etc:10,evalu:[3,10,11],even:10,everi:10,everyth:17,exactli:21,exampl:[9,16,17,20],except:[0,5],exception_and_clos:0,exchang:16,execut:[0,3,10,11,12,15,16,18,19],exhaust:17,exist:[5,19,21],expect:[9,10,17],expens:0,expertis:19,explan:17,explor:17,extens:21,extra:9,extract:17,facilit:19,fail:21,fals:[3,10,11,12,18],featur:[9,16,17,19],fed_a:18,fed_b:18,few:15,file:[3,4,5,6,7,18,20],fill:[0,1,16],find:21,finish:0,first:[15,16,17,18,19,20,21],fit:[9,17],flag:[3,9],folder:21,follow:[0,9,15,18],form:[0,20,21],format:[14,18,21],found:5,fraction:1,free:21,from:[0,1,3,4,5,8,9,10,11,12,15,16,17,18,19,20,21],full:[1,16],function_cal:21,fundament:3,further:17,gen_1input_1output_mat_oper:6,gen_2input_1output_oper:6,gen_graph_funct:[7,21],gen_model_head:7,gen_node_script:7,gen_script:7,gen_simple_function_cal:6,gener:[3,4,6,7,9,10,11,16,20,21],generate_function_nam:[8,21],generated_node_script:7,generatedscriptpart:[6,7],get:[0,3,10,11,12,16],get_graph_inputs_with_initi:5,get_graph_inputs_without_initi:5,get_lineage_trac:[10,11],get_module_dir:14,get_stderr:0,get_stdout:0,get_test_data:17,get_test_label:17,get_train_data:17,get_train_label:17,get_value_info:5,getter:0,git:15,github:15,give:[14,17],given:[1,3,4,5,7,8,9,13,20],goe:17,good:17,googl:21,gpu:19,graph:[5,6,7,8,11,20],graph_nam:8,graphproto:[5,6,7],guid:18,handi:21,handl:[0,21],happen:17,has:[0,12,17],have:[0,4,5,6,15,17,18,19,20,21],header:[7,18],held:2,help:[19,21],helper:21,here:[17,18],heterogen:19,high:[16,19],highest:17,homogen:19,how:17,howev:21,http:15,human:21,hybrid:19,icpt:9,idea:21,identifi:10,imag:17,immedi:10,implement:[0,17],improv:[17,21],includ:21,increas:[3,17],increment:1,independ:21,index:[2,3],index_return:3,indic:[17,18],info:5,inform:[3,10,11,21],initi:[5,9,21],inner:9,input:[3,4,5,6,9,10,12,17,20,21],input_onnx_fil:[4,20],input_var:12,insert:[7,21],instal:[17,20],instanc:[0,9,13,16,17],instead:[15,21],instruct:[0,18,20],integ:17,integr:19,intend:[3,10,11,12],intercept:9,interfac:19,intern:[11,12,13,14,21],interpret:1,invok:20,involv:15,is_python_local_data:10,is_verbos:9,iter:[2,9,10,14,17],its:[18,21],itself:21,jar:15,java:[0,3,10,11,15],java_gatewai:[3,10,11,12,13],javaobject:[3,10,11,12,13],jinja2:[6,7,15],jinja:[6,7,21],jmlr:9,just:15,jvm:[0,3,10,11,13],jvmview:[10,11,13],keep:17,keerthi:9,kmean:9,know:17,known:17,kwarg:[2,3,9],l2svm:[9,16],label:[9,16,17],lambd:1,lambda:9,lamda:1,languag:19,larg:21,last:18,later:17,lazi:[3,10,11],lazili:10,learn:[9,17],least:0,leav:0,left:[0,6,18,21],let:16,level:[16,19],leverag:18,librari:15,lifecycl:19,like:[6,10,17,18,21],lin:9,line:[0,3,10,11,12,15],lineag:[3,10,11,12],list:[0,5,7,9,17,18,21],load:[4,5,6,7,17,20],load_model:5,loader:17,local:[10,12,19],localhost:18,locat:[18,21],logic:21,logist:[9,17],logstic:9,look:[15,16,18,21],low:17,m_re:16,m_res_np:16,machin:[3,9,10,11],made:17,mai:19,main:[7,15,20,21],main_graph:7,make:[15,16,17,18],manag:0,mani:21,manner:9,mat:3,matmul:21,matric:[3,18],matrix:[1,2,9,10,13,17,18],matrix_block_to_numpi:13,matrixblock:13,maven:15,max:[1,3],max_it:9,maxi:[9,17],maxii:9,maximum:[1,9],mean:[9,10,17],member:21,memori:19,merg:21,metadata:18,method:[0,3,9,10,11],might:[0,15],min:1,mix:15,mnist:17,mode:15,model:[4,5,7,9,16,17,19,20],model_gener:[20,21],modelproto:[5,7],modul:14,more:[17,21],most:[3,10],mtd:18,much:17,multi:[10,19],multiclass:9,multilogreg:[9,17],multilogregpredict:[9,17],multipl:[10,16,17],multipli:[16,17,18],must:3,mvn:15,name:[2,3,4,5,8,10,11,12,14,20,21],named_input_nod:10,named_input_var:[3,10,11],named_paramet:14,necessari:[0,5,15,16],need:[0,3,15,18,20,21],neither:9,nest:19,neutron:21,newer:15,newton:9,next:18,nice:21,node:[3,5,6,7,11,21],nodeproto:[5,6,7],nodetre:5,non:[1,5,15],none:[1,3,4,5,7,10,11,12,20],nor:9,normal:1,note:[15,16,17,18],noteworthi:17,noth:[10,16,17],now:17,np_arr:13,num_class:3,number:[0,1,3,9,15,16,17,21],number_of_output:10,numpi:[3,9,10,11,13,15,16,17,18],numpy_to_matrix_block:13,object:[0,2,3,10,11,12,13],older:15,onc:[0,15,18],one:[0,1,3,6,9,16,17,18,21],onehot:3,onehotencod:3,ones:18,onli:[0,1,3,10,11,12,16,17,21],onnx2systemd:[4,20],onnx:[4,6,7,15],onnx_fil:5,onnx_help:[5,21],onnx_onnx_rel_1_7_ml_pb2:[5,6,7],onnx_systemd:[4,5,6,7,8,20],open:[0,15],openjdk:15,oper:[0,1,2,3,9,11,12,17,19],operation_nod:[1,2,3,9,10],operationnod:[1,2,3,9,10],operator_gen:[6,7],operator_gener:21,option:[4,7,20],order:[3,7,18,19,21],other:[10,15,17,18,21],our:[12,14,16,17,18],out:[0,9,21],outer:9,output:[0,3,4,6,9,10,11,12,15,16,17,20,21],output_dml_fil:[4,20],output_fil:7,output_refer:21,output_test:21,output_typ:[3,10],outputtyp:[10,11],over:19,overal:17,overload:10,own:21,packag:[15,16,19],page:17,pair:[2,3,10,11],param:[0,2,5,6,8],paramet:[1,2,3,4,5,6,7,9,10,11,12,13,14,17,20],pars:0,part:[6,7,15,21],pass:[0,3,10,11,12],pass_python_data_to_prepared_script:[3,10,11],path:[3,8,14,18],pathlik:[3,14],pca:9,pdf:1,per:[9,17],perfectli:17,perfom:[],perform:[9,10,17],pictur:17,pip3:15,pixel:17,plan:19,pleas:15,point:[3,15],pointer:13,poison:1,port:[0,18],posit:[3,10],possibl:[3,20,21],potenti:17,pre_setup:15,precis:21,predict:[9,17],prepar:[3,5,10,11,12],prepared_script:[3,10,11],preparedscript:12,preparedvalu:5,preprocess:17,prerequisit:17,presenc:9,previou:17,princip:9,print:[0,3,9,10,11,16,17,18],probabl:[9,17],procedur:0,process:[0,16,21],produc:21,profession:21,program:0,project:15,proto3:21,proto:21,protobuf:21,protocol:[0,21],provid:[6,14,16,17,19,21],py4j:[3,10,11,12,13,15,16],pycharm:21,python:[0,3,10,11,12,15,16,18,19,20,21],queue:0,quick:16,quit:15,rais:5,rand:[1,9],randint:16,random:[0,1,9,16],rang:[2,16,17],ratio:9,read:0,readabl:21,readi:[15,17],realist:17,recogn:[3,10],recommend:3,recompil:12,record:9,recurs:21,reduc:[9,17],refer:[18,21],reg:9,region:9,regress:[9,17],regular:9,rememb:[10,16],remov:[5,21],remove_end_nod:5,render_funct:7,replac:[17,21],repositori:[15,18,21],repres:[1,2,3,5,10,11,14],represent:[13,21],request:15,requir:[6,7,17,18,21],rerun:12,res:18,rescal:9,resembl:17,resolv:21,resolve_systemds_root:8,respect:10,respons:[9,17],restart:21,result:[3,7,10,11,12,16,17,18],resultvari:12,rev:3,revers:[3,21],right:[6,21],root:15,row:[1,3,9,10,17,18],rowalign:9,run:[0,9,13,16,18,21],runtim:15,safe:3,same:[4,17,20,21],sampl:[9,17],sample_model:21,sample_model_refer:21,sample_model_wrapp:21,sample_s:17,save:[3,10,11,17],savetxt:18,scalar:[9,16],scale:9,scenario:10,schema:[19,21],scienc:19,scientist:16,scope:21,script:[3,5,6,7,10,11,19,20],script_build:[10,11,12],sds:[0,3,9,13,16,17,18],sds_context:[1,2,3,10],search:[5,8],second:18,see:[9,17,21],seed:[1,9,16],seen:17,sent:3,separ:[0,21],seq:1,sequenc:[3,10,11],serv:19,server:15,set:[9,10,16,17,18,20,21],setup:[17,18],setw:21,sever:21,shall:[5,6,7],shape:[1,9,10,16,17],shift:9,should:[3,9,10,11,12,15,16,18,21],shown:17,similar:[9,15,16],similarli:9,simpl:[5,6,15,17,21],simple_mat_add:20,simpli:[10,17,18,21],simplic:17,simplifi:16,simul:18,sin:10,sinc:[0,17,21],singl:[1,17,18,21],sinh:10,size:[1,16],skip:[3,17],smaller:17,snip:21,snippet:[7,21],some:[16,17,18,21],someth:0,sort:3,spark:19,sparsiti:1,specif:[17,21],specifi:[3,9,18,21],src:[15,20],stack:18,stai:21,standard:[0,21],start:[0,1,16,17,21],statement:0,stderr:0,stdout:0,step:[1,15],stick:21,still:17,stop:[1,16],store:[11,21],str:[1,2,3,4,5,7,8,9,10,11,12,14,20],strategi:21,string:[3,7,10,11,14,21],structur:[5,7,21],sub:[0,7,21],subprocess:[0,16],subset:17,sum:[10,18],support:[0,9,18,21],sure:15,symmetr:3,syntax:[0,21],system:[15,19,21],systemd:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,20,21],systemds_context:[1,2,13],systemds_root:[8,21],systemdscontext:[1,2,3,9,10,12,13,16,17,18],take:[8,16,17,21],taken:0,tan:10,tanh:10,task:19,tcp:0,techniqu:17,temp:18,templat:[6,7,21],tensor:[1,19],tensorproto:5,termin:[15,16,18],test:[17,18],test_acc:17,test_model:[20,21],test_simpl:20,than:10,thei:[10,21],them:[5,7],therebi:10,therefor:[0,10,17,21],thi:[0,1,2,3,4,10,11,12,15,16,17,18,19,20,21],three:[9,15,17,18,21],through:17,till:[3,10,11],time:17,to_one_hot:3,todo:[1,12],togeth:[7,21],tol:9,toler:9,tool:20,top:18,topmost:12,trace:[3,10,11],train:[9,19],train_acc:17,translat:21,transpos:3,travers:7,tree:[5,7,21],treenod:5,trust:9,tupl:[1,2,5,7,10,12,18],tutori:17,two:[6,9,17,18],type:[3,10,11,17,21],unclutt:21,underli:[19,21],understand:21,unfortun:17,uniform:1,uniniti:5,union:[1,2,3,9,10,12],unit:21,unittest:20,unlik:11,unnam:[2,3,10,11,14],unnamed_input_nod:10,unnamed_input_var:[3,10,11],unnamed_paramet:14,unseen:9,upward:17,use:[3,9,11,12,13,14,15,16,17,18,21],used:[9,12,14,17,18,21],user:19,uses:21,using:[0,9,15,17,18,21],usual:17,util:[13,14,21],valid:[8,21],valu:[1,3,5,9,10,11,16,17,21],valuabl:17,value_info:5,valueinfo:5,valueinfoproto:5,var_nam:[3,10,11,12],variabl:[3,8,10,11,12,14,18,21],varianc:[9,10],varieti:17,vector:[1,9,17],verbos:[3,9,10,11],veri:21,verifi:[15,17],versatil:19,version:[5,15,21],via:15,view:21,virtual:[3,10,11],wai:[3,17,21],want:17,wcss:9,weight:9,well:[7,10,17,19,21],weng:9,were:21,what:17,wheel:15,when:[0,17,21],where:17,which:[0,3,6,7,12,14,16,21],whole:3,whose:19,why:21,wise:16,within:20,without:[3,10,11,12],work:[17,18,19,21],worker:2,would:[0,21],wrapper:21,write:5,written:7,x_d:17,y_d:17,y_pred:17,yet:[16,17],you:[10,15,17,18,20,21],your:[0,15,18],zero:[1,16]},titles:["SystemDSContext","Data Generators","Federated","Matrix","Convert","Onnx Helper","Operator Gen","Render","Util","Algorithms","Operation Node","Dag","Script","Converters","Helpers","Install SystemDS","QuickStart","Built-in Algorithms","Federated Environment","SystemDS","QuickStart Onnx","Design"],titleterms:{"final":21,"import":21,"new":21,aggreg:18,algorithm:[9,17],built:17,complex:16,convert:[4,13,20],creat:21,dag:11,data:1,dataset:17,design:21,dml:21,dml_script:21,environ:18,exampl:[18,21],feder:[2,18],file:21,format:17,full:17,gen:6,gener:1,get:17,goal:21,graph:21,helper:[5,14],implement:21,instal:15,limit:21,matrix:[3,16],model:21,more:16,multipl:18,node:10,onnx:[5,20,21],oper:[6,10,16,21],pip:15,prerequisit:20,quickstart:[16,20],render:[7,21],reshap:17,run:20,script:[12,17,21],simpl:18,sourc:15,start:18,step:[17,21],sub_graph:21,systemd:[15,19],systemdscontext:0,test:[20,21],testcas:21,tool:21,train:17,travers:21,tune:17,usag:20,util:8,valid:17,worker:18}})
\ No newline at end of file
diff --git a/docs/api/python/sources/getting_started/install.rst.txt b/docs/api/python/sources/getting_started/install.rst.txt
index f6372bb..596bc8f 100644
--- a/docs/api/python/sources/getting_started/install.rst.txt
+++ b/docs/api/python/sources/getting_started/install.rst.txt
@@ -62,13 +62,13 @@
 Additionally you have to install a few python packages.
 Note depending on your installation you might need to use pip3 instead of pip::
 
-  pip install numpy py4j wheel jinja2 onnx
+  pip install numpy py4j wheel jinja2 onnx requests
 
 Then to build the system you do the following
 
 - Clone the Git Repository: https://github.com/apache/systemds.git
 - Open an terminal at the root of the repository.
-- Package the Java code using the ``mvn package -P distribution`` command
+- Package the Java code using the ``mvn clean package -P distribution`` command
 - ``cd src/main/python`` to point at the root of the SystemDS Python library.
 - Copy `jars` with ``python pre_setup.py``
 - Install with ``pip install .``
diff --git a/docs/api/python/sources/guide/algorithms_basics.rst.txt b/docs/api/python/sources/guide/algorithms_basics.rst.txt
new file mode 100644
index 0000000..0942eec
--- /dev/null
+++ b/docs/api/python/sources/guide/algorithms_basics.rst.txt
@@ -0,0 +1,198 @@
+.. -------------------------------------------------------------
+.. 
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements.  See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership.  The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License.  You may obtain a copy of the License at
+.. 
+..   http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied.  See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+.. 
+.. ------------------------------------------------------------
+
+Built-in Algorithms 
+===================
+
+Prerequisite: 
+
+- :doc:`/getting_started/install`
+
+This example goes through an algorithm from the list of builtin algorithms that can be applied to a dataset.
+For simplicity the dataset used for this is `MNIST <http://yann.lecun.com/exdb/mnist/>`_,
+since it is commonly known and explored.
+
+If one wants to skip the explanation then the full script is available at the bottom of this page.
+
+Step 1: Get Dataset
+-------------------
+
+SystemDS provides builtin for downloading and setup of the MNIST dataset.
+To setup this simply use::
+
+    from systemds.examples.tutorials.mnist import DataManager
+    d = DataManager()
+    X = d.get_train_data()
+    Y = d.get_train_labels()
+
+Here the DataManager contains the code for downloading and setting up numpy arrays containing the data.
+
+Step 2: Reshape & Format
+------------------------
+
+Usually data does not come in formats that perfectly fits the algorithms, to make this tutorial more
+realistic some data preprocessing is required to change the input to fit.
+
+First the training data, X, has multiple dimensions resulting in a shape (60000, 28, 28).
+The dimensions correspond to first the number of images 60000, then the number of row pixels, 28,
+and finally the column pixels, 28.
+
+To use this data for logistic regression we have to reduce the dimensions.
+The input X is the training data. 
+It require the data to have two dimensions, the first resemble the
+number of inputs, and the other the number of features.
+
+Therefore to make the data fit the algorithm we reshape the X dataset, like so::
+
+    X = X.reshape((60000, 28*28))
+
+This takes each row of pixels and append to each other making a single feature vector per image.
+
+The Y dataset also does not perfectly fit the logistic regression algorithm, this is because the labels
+for this dataset is values ranging from 0, to 9, each label correspond to the integer shown in the image.
+unfortunately the algorithm require the labels to be distinct integers from 1 and upwards.
+
+Therefore we add 1 to each label such that the labels go from 1 to 10, like this::
+
+    Y = Y + 1
+
+With these steps we are now ready to train a simple model.
+
+Step 3: Training
+----------------
+
+To start with, we setup a SystemDS context::
+
+    from systemds.context import SystemDSContext
+    sds = SystemDSContext()
+
+Then setup the data::
+
+    from systemds.matrix import Matrix
+    X_ds = Matrix(sds, X)
+    Y_ds = Matrix(sds, Y)
+
+to reduce the training time and verify everything works, it is usually good to reduce the amount of data,
+to train on a smaller sample to start with::
+
+    sample_size = 1000
+    X_ds = Matrix(sds, X[:sample_size])
+    Y_ds = Matrix(sds, Y[:sample_size])
+
+And now everything is ready for our algorithm::
+
+    from systemds.operator.algorithm import multiLogReg
+
+    bias = multiLogReg(X_ds, Y_ds)
+
+Note that nothing has been calculated yet, in SystemDS, since it only happens when you call compute::
+
+    bias_r = bias.compute()
+
+bias is a matrix, that if matrix multiplied with an instance returns a value distribution where, the highest value is the predicted type.
+This is the matrix that could be saved and used for predicting labels later.
+
+Step 3: Validate
+----------------
+
+To see what accuracy the model achieves, we have to load in the test dataset as well.
+
+this can also be extracted from our builtin MNIST loader, to keep the tutorial short the operations are combined::
+
+    Xt = Matrix(sds, d.get_test_data().reshape((10000, 28*28)))
+    Yt = Matrix(sds, d.get_test_labels()) + 1
+
+The above loads the test data, and reshapes the X data the same way the training data was reshaped.
+
+Finally we verify the accuracy by calling::
+
+    from systemds.operator.algorithm import multiLogRegPredict
+    [m, y_pred, acc] = multiLogRegPredict(Xt, bias, Yt).compute()
+    print(acc)
+
+There are three outputs from the multiLogRegPredict call.
+
+- m, is the mean probability of correctly classifying each label.
+- y_pred, is the predictions made using the model, bias, trained.
+- acc, is the accuracy achieved by the model.
+
+If the subset of the training data is used then you could expect an accuracy of 85% in this example
+using 1000 pictures of the training data.
+
+Step 4: Tuning
+--------------
+
+Now that we have a working baseline we can start tuning parameters.
+
+But first it is valuable to know how much of a difference in performance there is on the training data, vs the test data.
+This gives an indication of if we have exhausted the learning potential of the training data.
+
+To see how our accuracy is on the training data we use the Predict function again, but with our training data::
+
+    [m, y_pred, acc] = multiLogRegPredict(X_ds, bias, Y_ds).compute()
+    print(acc)
+
+In this specific case we achieve 100% accuracy on the training data, indicating that we have fit the training data,
+and have nothing more to learn from the data as it is now.
+
+To improve further we have to increase the training data, here for example we increase it
+from our sample of 1k to the full training dataset of 60k, in this example the maxi is set to reduce the number of iterations the algorithm takes,
+to again reduce training time::
+
+    X_ds = Matrix(sds, X)
+    Y_ds = Matrix(sds, Y)
+
+    bias = multiLogReg(X_ds, Y_ds, maxi=30)
+
+    [_, _, train_acc] = multiLogRegPredict(X_ds, bias, Y_ds).compute()
+    [_, _, test_acc] = multiLogRegPredict(Xt, bias, Yt).compute()
+    print(train_acc, "  ", test_acc)
+
+With this change the accuracy achieved changes from the previous value to 92%. This is still low on this dataset as can be seen on `MNIST <http://yann.lecun.com/exdb/mnist/>`_.
+But this is a basic implementation that can be replaced by a variety of algorithms and techniques.
+
+
+Full Script
+-----------
+
+The full script, some steps are combined to reduce the overall script. 
+One noteworthy change is the + 1 is done on the matrix ready for SystemDS,
+this makes SystemDS responsible for adding the 1 to each value.::
+
+    from systemds.context import SystemDSContext
+    from systemds.matrix import Matrix
+    from systemds.operator.algorithm import multiLogReg, multiLogRegPredict
+    from systemds.examples.tutorials.mnist import DataManager
+
+    d = DataManager()
+
+    with SystemDSContext() as sds:
+        # Train Data
+        X = Matrix(sds, d.get_train_data().reshape((60000, 28*28)))
+        Y = Matrix(sds, d.get_train_labels()) + 1.0
+        bias = multiLogReg(X, Y, maxi=30)
+        # Test data
+        Xt = Matrix(sds, d.get_test_data().reshape((10000, 28*28)))
+        Yt = Matrix(sds, d.get_test_labels()) + 1.0
+        [m, y_pred, acc] = multiLogRegPredict(Xt, bias, Yt).compute()
+
+    print(acc)
+
diff --git a/docs/api/python/sources/index.rst.txt b/docs/api/python/sources/index.rst.txt
index 516b64b..6a232a0 100644
--- a/docs/api/python/sources/index.rst.txt
+++ b/docs/api/python/sources/index.rst.txt
@@ -34,7 +34,7 @@
 
 These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations,
 as well as distributed operations on Apache Spark. In contrast to existing systems - that either
-provide homogeneous tensors or 2D Datasets - and in order to serve the entire
+provide homogeneous tensors or 2D datasets - and in order to serve the entire
 data science lifecycle, the underlying data model are DataTensors, i.e.,
 tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.
 
@@ -52,7 +52,7 @@
    :caption: Guides
 
    guide/federated.rst
-   guide/algorithms.rst
+   guide/algorithms_basics.rst
 
 .. toctree::
    :maxdepth: 1