<!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>ColGroup (SystemDS 2.1.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="ColGroup (SystemDS 2.1.0-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":9,"i6":6,"i7":6,"i8":10,"i9":10,"i10":6,"i11":6,"i12":6,"i13":6,"i14":10,"i15":10,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":10,"i30":6,"i31":6,"i32":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/ColGroup.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/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">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.html" target="_top">Frames</a></li>
<li><a href="ColGroup.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>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.compress.colgroup</div>
<h2 title="Class ColGroup" class="title">Class ColGroup</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.ColGroup</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></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">ColGroup</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/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">Class that stores information about a column group within a compressed matrix block. There are subclasses specific to
 each compression type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroup">Serialized Form</a></dd>
</dl>
</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/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a></span></code>
<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>
</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 <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#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
           double[]&nbsp;v,
           boolean&nbsp;sparseSafe)</code>
<div class="block">Perform a binary row operation.</div>
</td>
</tr>
<tr id="i1" 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#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>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.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>abstract void</code></td>
<td class="colLast"><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 id="i4" 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#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="i5" 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/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">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;colIndex,
                 <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>&nbsp;</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/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>
</tr>
<tr id="i7" 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#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="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/ColGroup.html#getColIndex-int-">getColIndex</a></span>(int&nbsp;colNum)</code>
<div class="block">Obtain a column index value.</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/ColGroup.html#getColIndices--">getColIndices</a></span>()</code>
<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <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/ColGroup.html#getCompType--">getCompType</a></span>()</code>
<div class="block">Obtain the compression type.</div>
</td>
</tr>
<tr id="i11" 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/ColGroup.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
<div class="block">Returns the exact serialized size of column group.</div>
</td>
</tr>
<tr id="i12" 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="i13" 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,
           boolean&nbsp;inclZeros,
           boolean&nbsp;rowMajor)</code>
<div class="block">Create a column group iterator for a row index range.</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/ColGroup.html#getNumCols--">getNumCols</a></span>()</code>
<div class="block">Obtain the number of columns in this column group.</div>
</td>
</tr>
<tr id="i15" 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="i16" 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="i17" 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="i18" 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="i19" 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="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#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;matrix,
                double[]&nbsp;result,
                double[]&nbsp;values,
                int&nbsp;numRows,
                int&nbsp;numCols,
                int&nbsp;rl,
                int&nbsp;ru,
                int&nbsp;vOff)</code>
<div class="block">Multiply with a matrix on the left.</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#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="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#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="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#leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(int&nbsp;spNrVals,
                      int[]&nbsp;indexes,
                      double[]&nbsp;sparseV,
                      double[]&nbsp;result,
                      int&nbsp;numVals,
                      double[]&nbsp;values,
                      int&nbsp;numRows,
                      int&nbsp;numCols,
                      int&nbsp;row,
                      double[]&nbsp;MaterializedRow)</code>
<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
</td>
</tr>
<tr id="i24" 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#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="i25" 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#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">rightMultByMatrix</a></span>(double[]&nbsp;preAggregatedB,
                 double[]&nbsp;c,
                 int&nbsp;thatNrColumns,
                 int&nbsp;rl,
                 int&nbsp;ru,
                 int&nbsp;cl,
                 int&nbsp;cu)</code>
<div class="block">Right multiply by matrix.</div>
</td>
</tr>
<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#rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">rightMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
                       double[]&nbsp;c,
                       int&nbsp;numVals,
                       double[]&nbsp;dictVals,
                       int&nbsp;nrColumns,
                       int&nbsp;rl,
                       int&nbsp;ru)</code>
<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
 the right.</div>
</td>
</tr>
<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#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="i28" 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="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/ColGroup.html#shiftColIndices-int-">shiftColIndices</a></span>(int&nbsp;offset)</code>&nbsp;</td>
</tr>
<tr id="i30" 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-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="i31" 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#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="i32" 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>
</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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getColIndices--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColIndices</h4>
<pre>public&nbsp;int[]&nbsp;getColIndices()</pre>
<div class="block">Obtain the offsets of the columns in the matrix block that make up the group</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>offsets of the columns in the matrix block that make up the group</dd>
</dl>
</li>
</ul>
<a name="getColIndex-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColIndex</h4>
<pre>public&nbsp;int&nbsp;getColIndex(int&nbsp;colNum)</pre>
<div class="block">Obtain a column index value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colNum</code> - column number</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>column index value</dd>
</dl>
</li>
</ul>
<a name="getNumRows--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumRows</h4>
<pre>public&nbsp;int&nbsp;getNumRows()</pre>
<div class="block">Get number of rows contained in the ColGroup.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An integer that is the number of rows.</dd>
</dl>
</li>
</ul>
<a name="getNumCols--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumCols</h4>
<pre>public&nbsp;int&nbsp;getNumCols()</pre>
<div class="block">Obtain the number of columns in this column group.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of columns in this column group</dd>
</dl>
</li>
</ul>
<a name="getCompType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompType</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</a>&nbsp;getCompType()</pre>
<div class="block">Obtain the compression type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>How the elements of the column group are compressed.</dd>
</dl>
</li>
</ul>
<a name="shiftColIndices-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shiftColIndices</h4>
<pre>public&nbsp;void&nbsp;shiftColIndices(int&nbsp;offset)</pre>
</li>
</ul>
<a name="estimateInMemorySize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateInMemorySize</h4>
<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>
<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 abstract&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">Decompress the contents of this column group into the specified full matrix block.</div>
<dl>
<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-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressToBlock</h4>
<pre>public abstract&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;colIndexTargets)</pre>
<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
                        group.</dd>
<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
</dl>
</li>
</ul>
<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressToBlock</h4>
<pre>public static&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;colIndex,
                                     <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)</pre>
</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 abstract&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">Decompress to block.</div>
<dl>
<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="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">Serializes column group to data output.</div>
<dl>
<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="readFields-java.io.DataInput-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<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">Deserialize column group from data input.</div>
<dl>
<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="getExactSizeOnDisk--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExactSizeOnDisk</h4>
<pre>public abstract&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
<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="returnLabel">Returns:</span></dt>
<dd>exact serialized size for column group</dd>
</dl>
</li>
</ul>
<a name="get-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public abstract&nbsp;double&nbsp;get(int&nbsp;r,
                           int&nbsp;c)</pre>
<div class="block">Get the value at a global row/column position.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>r</code> - row</dd>
<dd><code>c</code> - column</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>value at the row/column position</dd>
</dl>
</li>
</ul>
<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(double[]&nbsp;vector,
                                       double[]&nbsp;c,
                                       int&nbsp;rl,
                                       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>c</code> - Accumulator for holding the result</dd>
<dd><code>rl</code> - Row to start at</dd>
<dd><code>ru</code> - Row to stop at</dd>
<dd><code>dictVals</code> - The dictionary values materialized</dd>
</dl>
</li>
</ul>
<a name="rightMultByMatrix-double:A-double:A-int-int-int-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightMultByMatrix</h4>
<pre>public abstract&nbsp;void&nbsp;rightMultByMatrix(double[]&nbsp;preAggregatedB,
                                       double[]&nbsp;c,
                                       int&nbsp;thatNrColumns,
                                       int&nbsp;rl,
                                       int&nbsp;ru,
                                       int&nbsp;cl,
                                       int&nbsp;cu)</pre>
<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
 Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
 output.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
<dd><code>c</code> - The output matrix</dd>
<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
<dd><code>rl</code> - The row index to start the multiplication from</dd>
<dd><code>ru</code> - The row index to stop the multiplication at</dd>
<dd><code>cl</code> - The column index to start from</dd>
<dd><code>cu</code> - The row index to stop at.</dd>
</dl>
</li>
</ul>
<a name="rightMultBySparseMatrix-org.apache.sysds.runtime.data.SparseRow:A-double:A-int-double:A-int-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightMultBySparseMatrix</h4>
<pre>public abstract&nbsp;void&nbsp;rightMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>[]&nbsp;rows,
                                             double[]&nbsp;c,
                                             int&nbsp;numVals,
                                             double[]&nbsp;dictVals,
                                             int&nbsp;nrColumns,
                                             int&nbsp;rl,
                                             int&nbsp;ru)</pre>
<div class="block">Sparse right multiply by matrix, for which the compressed matrix is on the left and the uncompressed sparse is on
 the right. This call differ from the other right multiply by not having a preAggregation phase.
 
 This should only be called in very sparse situations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rows</code> - The sparse rows</dd>
<dd><code>c</code> - The output matrix linearized</dd>
<dd><code>numVals</code> - The number of values in the dictionary</dd>
<dd><code>dictVals</code> - The materialized dictionary</dd>
<dd><code>nrColumns</code> - The number of columns in the matrix to multiply with and also in the output</dd>
<dd><code>rl</code> - The row index to start at</dd>
<dd><code>ru</code> - The row index to stop 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 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-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,
                                      double[]&nbsp;values,
                                      int&nbsp;numRows,
                                      int&nbsp;numCols,
                                      int&nbsp;rl,
                                      int&nbsp;ru,
                                      int&nbsp;vOff)</pre>
<div class="block">Multiply with a matrix on the left.</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>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="leftMultBySparseMatrix-int-int:A-double:A-double:A-int-double:A-int-int-int-double:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftMultBySparseMatrix</h4>
<pre>public abstract&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
                                            int[]&nbsp;indexes,
                                            double[]&nbsp;sparseV,
                                            double[]&nbsp;result,
                                            int&nbsp;numVals,
                                            double[]&nbsp;values,
                                            int&nbsp;numRows,
                                            int&nbsp;numCols,
                                            int&nbsp;row,
                                            double[]&nbsp;MaterializedRow)</pre>
<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>spNrVals</code> - the Number of sparse values (since the number of indexes does not align with number of
                        values)</dd>
<dd><code>indexes</code> - the indexes for the sparse values in the given row.</dd>
<dd><code>sparseV</code> - the sparse values.</dd>
<dd><code>result</code> - the linearized output matrix</dd>
<dd><code>numVals</code> - the number of values in the dictionary</dd>
<dd><code>values</code> - the dictionary values materialized</dd>
<dd><code>numRows</code> - the number of rows in the left hand side input matrix (the sparse one)</dd>
<dd><code>numCols</code> - the number of columns in the compression.</dd>
<dd><code>row</code> - the row index of the sparse row to multiply with.</dd>
<dd><code>MaterializedRow</code> - The sparse row materialized (should only be done if needed for the specific type of
                        ColumnGroup)</dd>
</dl>
</li>
</ul>
<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarOperation</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;scalarOperation(<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">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
 cells if possible.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>op</code> - operation to perform</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>version of this column group with the operation applied</dd>
</dl>
</li>
</ul>
<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryRowOp</h4>
<pre>public abstract&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
                                     double[]&nbsp;v,
                                     boolean&nbsp;sparseSafe)</pre>
<div class="block">Perform a binary row operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>op</code> - The operation to execute</dd>
<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A updated column group with the new values.</dd>
</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 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)</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> - 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>
<a name="getIterator-int-int-boolean-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIterator</h4>
<pre>public abstract&nbsp;<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;&nbsp;getIterator(int&nbsp;rl,
                                          int&nbsp;ru,
                                          boolean&nbsp;inclZeros,
                                          boolean&nbsp;rowMajor)</pre>
<div class="block">Create a column group iterator for a row index range.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower index, inclusive</dd>
<dd><code>ru</code> - row upper index, exclusive</dd>
<dd><code>inclZeros</code> - include zero values into scope of iterator</dd>
<dd><code>rowMajor</code> - use a row major iteration order</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator instance</dd>
</dl>
</li>
</ul>
<a name="getRowIterator-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowIterator</h4>
<pre>public abstract&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(int&nbsp;rl,
                                                                                                       int&nbsp;ru)</pre>
<div class="block">Create a dense row iterator for a row index range. This iterator implies the inclusion of zeros and row-major
 iteration order.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower index, inclusive</dd>
<dd><code>ru</code> - row upper index, exclusive</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator instance</dd>
</dl>
</li>
</ul>
<a name="countNonZerosPerRow-int:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countNonZerosPerRow</h4>
<pre>public abstract&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
                                         int&nbsp;rl,
                                         int&nbsp;ru)</pre>
<div class="block">Count the number of non-zeros per row</div>
<dl>
<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="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>
</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/ColGroup.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/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">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroup.html" target="_top">Frames</a></li>
<li><a href="ColGroup.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>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>
