blob: 9ae90b956d22d20c1a321953709bc8fdfe0414bb [file] [log] [blame]
<!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>ColGroupConst (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="ColGroupConst (SystemDS 2.1.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,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":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/ColGroupConst.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/ColGroup.CompressionType.html" title="enum 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/ColGroupConverter.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/ColGroupConst.html" target="_top">Frames</a></li>
<li><a href="ColGroupConst.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.colgroup.ColGroup">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.colgroup</div>
<h2 title="Class ColGroupConst" class="title">Class ColGroupConst</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/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroup</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.runtime.compress.colgroup.ColGroupConst</li>
</ul>
</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/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ColGroupConst</span>
extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupConst">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>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroup">
<!-- -->
</a>
<h3>Nested classes/interfaces 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.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">ColGroup.CompressionType</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/colgroup/ColGroupConst.html#ColGroupConst-int:A-int-org.apache.sysds.runtime.compress.colgroup.ADictionary-">ColGroupConst</a></span>(int[]&nbsp;colIndices,
int&nbsp;numRows,
<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;dict)</code>
<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</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="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/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/ColGroupConst.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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.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/ColGroupConst.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/ColGroupConst.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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.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>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupConst.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="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/ColGroupConst.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="i7" 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/ColGroupConst.html#getCompType--">getCompType</a></span>()</code>
<div class="block">Obtain the compression type.</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/ColGroupConst.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;out)</code>&nbsp;</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/ColGroupConst.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
int&nbsp;ru,
int[]&nbsp;out)</code>&nbsp;</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/ColGroupConst.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="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/ColGroupConst.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="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/ColGroupConst.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
double[]&nbsp;c,
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="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/ColGroupConst.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/ColGroupConst.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/ColGroupConst.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;c,
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="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/ColGroupConst.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="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/ColGroupConst.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="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/ColGroupConst.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="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/ColGroupConst.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>
</table>
<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#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</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#getDictionary--">getDictionary</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#preaggValues-int-double:A-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-double:A-double:A-int-int-int-double:A-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.data.SparseBlock-double:A-int-int-int-double:A-">preaggValues</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#toString--">toString</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#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressToBlock</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#shiftColIndices-int-">shiftColIndices</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="ColGroupConst-int:A-int-org.apache.sysds.runtime.compress.colgroup.ADictionary-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ColGroupConst</h4>
<pre>public&nbsp;ColGroupConst(int[]&nbsp;colIndices,
int&nbsp;numRows,
<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup">ADictionary</a>&nbsp;dict)</pre>
<div class="block">Constructs an Constant Colum Group, that contains only one tuple, with the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colIndices</code> - The Colum indexes for the column group.</dd>
<dd><code>numRows</code> - The number of rows contained in the group.</dd>
<dd><code>dict</code> - The dictionary containing one tuple for the entire compression.</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="getCounts-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCounts</h4>
<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;out)</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;out)</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="getCompType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompType</h4>
<pre>public&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">ColGroup</a></code></span></div>
<div class="block">Obtain the compression type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getCompType--">getCompType</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>How the elements of the column group are compressed.</dd>
</dl>
</li>
</ul>
<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">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">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.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/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</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-">
<!-- -->
</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;colIndexTargets)</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:A-">ColGroup</a></code></span></div>
<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</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>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-">
<!-- -->
</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">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.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/ColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroup</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="get-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
int&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#get-int-int-">ColGroup</a></code></span></div>
<div class="block">Get the value at a global row/column position.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#get-int-int-">get</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>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="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 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&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#rightMultByMatrix-double:A-double:A-int-int-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>
<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&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><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-">ColGroup</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><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></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>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&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-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>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-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>
<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&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
double[]&nbsp;c,
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-double:A-int-int-int-int-int-">ColGroup</a></code></span></div>
<div class="block">Multiply with a matrix on the left.</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-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>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&nbsp;void&nbsp;leftMultBySparseMatrix(int&nbsp;spNrVals,
int[]&nbsp;indexes,
double[]&nbsp;sparseV,
double[]&nbsp;c,
int&nbsp;numVals,
double[]&nbsp;values,
int&nbsp;numRows,
int&nbsp;numCols,
int&nbsp;row,
double[]&nbsp;MaterializedRow)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><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-">ColGroup</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><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></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>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>c</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&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">ColGroup</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</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> - 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&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">ColGroup</a></code></span></div>
<div class="block">Perform a binary row operation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-">binaryRowOp</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 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="getIterator-int-int-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIterator</h4>
<pre>public&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"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">ColGroup</a></code></span></div>
<div class="block">Create a column group iterator for a row index range.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getIterator-int-int-boolean-boolean-">getIterator</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>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&nbsp;org.apache.sysds.runtime.compress.colgroup.ColGroup.ColGroupRowIterator&nbsp;getRowIterator(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#getRowIterator-int-int-">ColGroup</a></code></span></div>
<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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#getRowIterator-int-int-">getRowIterator</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>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="blockListLast">
<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">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</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>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>
</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/ColGroupConst.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/ColGroup.CompressionType.html" title="enum 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/ColGroupConverter.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/ColGroupConst.html" target="_top">Frames</a></li>
<li><a href="ColGroupConst.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.colgroup.ColGroup">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>