blob: 51a30892edcffb36daa5904ba2016bd6ad59dcf9 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>CompressedMatrixBlock (Apache SystemDS 3.2.0-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CompressedMatrixBlock (Apache SystemDS 3.2.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var data = {"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":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":9,"i65":9,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":9,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CompressedMatrixBlock.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" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sysds.runtime.compress</a></div>
<h2 title="Class CompressedMatrixBlock" class="title">Class CompressedMatrixBlock</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data.MatrixValue</a></li>
<li>
<ul class="inheritance">
<li><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">org.apache.sysds.runtime.matrix.data.MatrixBlock</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.runtime.compress.CompressedMatrixBlock</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a></code>, <code>org.apache.hadoop.io.Writable</code>, <code>org.apache.hadoop.io.WritableComparable</code>, <code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">CompressedMatrixBlock</span>
extends <a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.compress.CompressedMatrixBlock">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
<code><a href="../matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixValue">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></h3>
<code><a href="../matrix/data/MatrixValue.CellIndex.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue.CellIndex</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
<code><a href="../matrix/data/MatrixBlock.html#CONVERT_MCSR_TO_CSR_ON_DEEP_SERIALIZE">CONVERT_MCSR_TO_CSR_ON_DEEP_SERIALIZE</a>, <a href="../matrix/data/MatrixBlock.html#DEFAULT_INPLACE_SPARSEBLOCK">DEFAULT_INPLACE_SPARSEBLOCK</a>, <a href="../matrix/data/MatrixBlock.html#DEFAULT_SPARSEBLOCK">DEFAULT_SPARSEBLOCK</a>, <a href="../matrix/data/MatrixBlock.html#HEADER_SIZE">HEADER_SIZE</a>, <a href="../matrix/data/MatrixBlock.html#MAX_SHALLOW_SERIALIZE_OVERHEAD">MAX_SHALLOW_SERIALIZE_OVERHEAD</a>, <a href="../matrix/data/MatrixBlock.html#SPARSITY_TURN_POINT">SPARSITY_TURN_POINT</a>, <a href="../matrix/data/MatrixBlock.html#ULTRA_SPARSE_BLOCK_NNZ">ULTRA_SPARSE_BLOCK_NNZ</a>, <a href="../matrix/data/MatrixBlock.html#ULTRA_SPARSITY_TURN_POINT">ULTRA_SPARSITY_TURN_POINT</a>, <a href="../matrix/data/MatrixBlock.html#ULTRA_SPARSITY_TURN_POINT2">ULTRA_SPARSITY_TURN_POINT2</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">CompressedMatrixBlock</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int)">CompressedMatrixBlock</a></span>&#8203;(int&nbsp;rl,
int&nbsp;cl)</code></th>
<td class="colLast">
<div class="block">Main constructor for building a block from scratch.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,int,long,boolean,java.util.List)">CompressedMatrixBlock</a></span>&#8203;(int&nbsp;rl,
int&nbsp;cl,
long&nbsp;nnz,
boolean&nbsp;overlapping,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups)</code></th>
<td class="colLast">
<div class="block">Direct constructor with everything.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.sysds.runtime.compress.CompressedMatrixBlock)">CompressedMatrixBlock</a></span>&#8203;(<a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;that)</code></th>
<td class="colLast">
<div class="block">Copy constructor taking that CompressedMatrixBlock and populate this new compressedMatrixBlock with pointers to
the same columnGroups.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator)">aggregateBinaryOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator,boolean,boolean)">aggregateBinaryOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
boolean&nbsp;transposeLeft,
boolean&nbsp;transposeRight)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateTernaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator,boolean)">aggregateTernaryOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
boolean&nbsp;inCP)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateUnaryOperations(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.data.MatrixIndexes,boolean)">aggregateUnaryOperations</a></span>&#8203;(<a href="../matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
int&nbsp;blen,
<a href="../matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
boolean&nbsp;inCP)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateAndResetSparseBlock(boolean,org.apache.sysds.runtime.data.SparseBlock.Type)">allocateAndResetSparseBlock</a></span>&#8203;(boolean&nbsp;clearNNZ,
<a href="../data/SparseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">SparseBlock.Type</a>&nbsp;stype)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">Future</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateBlockAsync()">allocateBlockAsync</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateColGroup(org.apache.sysds.runtime.compress.colgroup.AColGroup)">allocateColGroup</a></span>&#8203;(<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;cg)</code></th>
<td class="colLast">
<div class="block">Allocate the given column group and remove all references to old column groups.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateColGroupList(java.util.List)">allocateColGroupList</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</code></th>
<td class="colLast">
<div class="block">Replace the column groups in this CompressedMatrixBlock with the given column groups</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateDenseBlock(boolean)">allocateDenseBlock</a></span>&#8203;(boolean&nbsp;clearNNZ)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocateSparseRowsBlock(boolean)">allocateSparseRowsBlock</a></span>&#8203;(boolean&nbsp;clearNNZ)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(org.apache.sysds.runtime.matrix.data.MatrixBlock%5B%5D,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">append</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;that,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;cbind)</code></th>
<td class="colLast">
<div class="block">Append that list of matrixes to this matrix.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(org.apache.sysds.runtime.matrix.data.MatrixValue,java.util.ArrayList,int,boolean,boolean,int)">append</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ArrayList.html?is-external=true" title="class or interface in java.util" class="externalLink">ArrayList</a>&lt;<a href="../instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
int&nbsp;blen,
boolean&nbsp;cbind,
boolean&nbsp;m2IsLast,
int&nbsp;nextNCol)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendRow(int,org.apache.sysds.runtime.data.SparseRow,boolean)">appendRow</a></span>&#8203;(int&nbsp;r,
<a href="../data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;row,
boolean&nbsp;deep)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendRowToSparse(org.apache.sysds.runtime.data.SparseBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,boolean)">appendRowToSparse</a></span>&#8203;(<a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;dest,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
int&nbsp;i,
int&nbsp;rowoffset,
int&nbsp;coloffset,
boolean&nbsp;deep)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendValue(int,int,double)">appendValue</a></span>&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</code></th>
<td class="colLast">
<div class="block">Append value is only used when values are appended at the end of each row for the sparse representation
This can only be called, when the caller knows the access pattern of the block</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendValuePlain(int,int,double)">appendValuePlain</a></span>&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#baseSizeInMemory()">baseSizeInMemory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#binaryOperations(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperations</a></span>&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#binaryOperationsInPlace(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperationsInPlace</a></span>&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#binaryOperationsLeft(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperationsLeft</a></span>&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#chainMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MapMultChain.ChainType,int)">chainMatrixMultOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
<a href="../../lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkNaN()">checkNaN</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks for existing NaN values in the matrix block.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearCounts()">clearCounts</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearSoftReferenceToDecompressed()">clearSoftReferenceToDecompressed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator)">cmOperations</a></span>&#8203;(<a href="../matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">cmOperations</a></span>&#8203;(<a href="../matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#colSum()">colSum</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for single threaded reduceall-colSum of a matrix.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compactEmptyBlock()">compactEmptyBlock</a></span>()</code></th>
<td class="colLast">
<div class="block">Free unnecessarily allocated empty block.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsValue(double)">containsValue</a></span>&#8203;(double&nbsp;pattern)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy(int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">copy</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
boolean&nbsp;awareDestNZ)</code></th>
<td class="colLast">
<div class="block">In-place copy of matrix src into the index range of the existing current matrix.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy(org.apache.sysds.runtime.matrix.data.MatrixValue)">copy</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</code></th>
<td class="colLast">
<div class="block">Copy that MatrixValue into this MatrixValue.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy(org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">copy</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
boolean&nbsp;sp)</code></th>
<td class="colLast">
<div class="block">Copy that MatrixValue into this MatrixValue.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyShallow(org.apache.sysds.runtime.matrix.data.MatrixBlock)">copyShallow</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">covOperations</a></span>&#8203;(<a href="../matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">covOperations</a></span>&#8203;(<a href="../matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,double,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></span>&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
double&nbsp;scalar,
double&nbsp;scalar2,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code></th>
<td class="colLast">
<div class="block">D = ctable(A,v2,w)
this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
(i1,j1,v1) from input1 (this)
(v2) from sclar_input2 (scalarThat)
(w) from scalar_input3 (scalarThat2)</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></span>&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
double&nbsp;scalar,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code></th>
<td class="colLast">
<div class="block">D = ctable(A,v2,W)
this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
(i1,j1,v1) from input1 (this)
(v2) from sclar_input2 (scalarThat)
(i3,j3,w) from input3 (that2)</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixIndexes,double,boolean,int,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></span>&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
double&nbsp;scalar,
boolean&nbsp;left,
int&nbsp;brlen,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code></th>
<td class="colLast">
<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
matrix input.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,double,boolean,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></span>&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
double&nbsp;scalar,
boolean&nbsp;ignoreZeros,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code></th>
<td class="colLast">
<div class="block">D = ctable(A,B,w)
this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
(i1,j1,v1) from input1 (this)
(i1,j1,v2) from input2 (that)
(w) from scalar_input3 (scalarThat2)
NOTE: This method supports both vectors and matrices.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></span>&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ctableSeqOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">ctableSeqOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
double&nbsp;thatScalar,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
boolean&nbsp;updateClen)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decompress()">decompress</a></span>()</code></th>
<td class="colLast">
<div class="block">Decompress block into a MatrixBlock</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decompress(int)">decompress</a></span>&#8203;(int&nbsp;k)</code></th>
<td class="colLast">
<div class="block">Decompress block into a MatrixBlock</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dropLastRowsOrColumns(org.apache.sysds.common.Types.CorrectionLocationType)">dropLastRowsOrColumns</a></span>&#8203;(<a href="../../common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a>&nbsp;correctionLocation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#estimateCompressedSizeInMemory()">estimateCompressedSizeInMemory</a></span>()</code></th>
<td class="colLast">
<div class="block">Obtain an upper bound on the memory used to store the compressed block.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#estimateSizeInMemory()">estimateSizeInMemory</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#estimateSizeOnDisk()">estimateSizeOnDisk</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#evalSparseFormatInMemory()">evalSparseFormatInMemory</a></span>()</code></th>
<td class="colLast">
<div class="block">Evaluates if this matrix block should be in sparse format in
memory.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#evalSparseFormatOnDisk()">evalSparseFormatOnDisk</a></span>()</code></th>
<td class="colLast">
<div class="block">Evaluates if this matrix block should be in sparse format on
disk.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#examSparsity(boolean)">examSparsity</a></span>&#8203;(boolean&nbsp;allowCSR)</code></th>
<td class="colLast">
<div class="block">Evaluates if this matrix block should be in sparse format in
memory.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#extractTriangular(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">extractTriangular</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;lower,
boolean&nbsp;diag,
boolean&nbsp;values)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCachedDecompressed()">getCachedDecompressed</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the cached decompressed matrix (if it exists otherwise null).</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColGroups()">getColGroups</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the column groups of this CompressedMatrixBlock</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="../data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDenseBlock()">getDenseBlock</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>double[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDenseBlockValues()">getDenseBlockValues</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExactSizeOnDisk()">getExactSizeOnDisk</a></span>()</code></th>
<td class="colLast">
<div class="block">NOTE: The used estimates must be kept consistent with the respective write functions.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInMemorySize()">getInMemorySize</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the in-memory size in bytes of the cache block.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ref/SoftReference.html?is-external=true" title="class or interface in java.lang.ref" class="externalLink">SoftReference</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSoftReferenceToDecompressed()">getSoftReferenceToDecompressed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSparseBlock()">getSparseBlock</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="../matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSparseBlockIterator()">getSparseBlockIterator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="../matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSparseBlockIterator(int,int)">getSparseBlockIterator</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUncompressed()">getUncompressed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUncompressed(java.lang.String)">getUncompressed</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;operation)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUncompressed(java.lang.String,int)">getUncompressed</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;operation,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>static <a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUncompressed(org.apache.sysds.runtime.matrix.data.MatrixValue)">getUncompressed</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>static <a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUncompressed(org.apache.sysds.runtime.matrix.data.MatrixValue,java.lang.String)">getUncompressed</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;message)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValueDenseUnsafe(int,int)">getValueDenseUnsafe</a></span>&#8203;(int&nbsp;r,
int&nbsp;c)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupedAggOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.operators.Operator,int)">groupedAggOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
int&nbsp;ngroups,
<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">incrementalAggregate</a></span>&#8203;(<a href="../matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">incrementalAggregate</a></span>&#8203;(<a href="../matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
boolean&nbsp;deep)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(double%5B%5D%5B%5D,int,int)">init</a></span>&#8203;(double[][]&nbsp;arr,
int&nbsp;r,
int&nbsp;c)</code></th>
<td class="colLast">
<div class="block">NOTE: This method is designed only for dense representation.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init(double%5B%5D,int,int)">init</a></span>&#8203;(double[]&nbsp;arr,
int&nbsp;r,
int&nbsp;c)</code></th>
<td class="colLast">
<div class="block">NOTE: This method is designed only for dense representation.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#interQuartileMean()">interQuartileMean</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAllocated()">isAllocated</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmptyBlock(boolean)">isEmptyBlock</a></span>&#8203;(boolean&nbsp;safe)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isInSparseFormat()">isInSparseFormat</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the current representation (true for sparse).</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isOverlapping()">isOverlapping</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isShallowSerialize(boolean)">isShallowSerialize</a></span>&#8203;(boolean&nbsp;inclConvert)</code></th>
<td class="colLast">
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSparsePermutationMatrix()">isSparsePermutationMatrix</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isThreadSafe()">isThreadSafe</a></span>()</code></th>
<td class="colLast">
<div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUltraSparse()">isUltraSparse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUltraSparse(boolean)">isUltraSparse</a></span>&#8203;(boolean&nbsp;checkNnz)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#leftIndexingOperations(org.apache.sysds.runtime.instructions.cp.ScalarObject,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">leftIndexingOperations</a></span>&#8203;(<a href="../instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
int&nbsp;rl,
int&nbsp;cl,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code></th>
<td class="colLast">
<div class="block">Explicitly allow left indexing for scalars.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#leftIndexingOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">leftIndexingOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#max()">max</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-max of a matrix.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mean()">mean</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-mean of a matrix.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#merge(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">merge</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
boolean&nbsp;appendOnly,
boolean&nbsp;par,
boolean&nbsp;deep)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#min()">min</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-min of a matrix.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minNonZero()">minNonZero</a></span>()</code></th>
<td class="colLast">
<div class="block">Utility function for computing the min non-zero value.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#permutationMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int)">permutationMatrixMultOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pickValue(double,boolean)">pickValue</a></span>&#8203;(double&nbsp;quantile,
boolean&nbsp;average)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pickValues(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">pickValues</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;quantiles,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prod()">prod</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-product of a matrix.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putInto(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,boolean)">putInto</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rowOffset,
int&nbsp;colOffset,
boolean&nbsp;sparseCopyShallow)</code></th>
<td class="colLast">
<div class="block">Method for copying this matrix into a target matrix.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quaternaryOperations(org.apache.sysds.runtime.matrix.operators.QuaternaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int)">quaternaryOperations</a></span>&#8203;(<a href="../matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quickGetValue(int,int)">quickGetValue</a></span>&#8203;(int&nbsp;r,
int&nbsp;c)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quickGetValueThreadSafe(int,int)">quickGetValueThreadSafe</a></span>&#8203;(int&nbsp;r,
int&nbsp;c)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#quickSetValue(int,int,double)">quickSetValue</a></span>&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long)">randOperationsInPlace</a></span>&#8203;(<a href="../matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
long&nbsp;bSeed)</code></th>
<td class="colLast">
<div class="block">Function to generate a matrix of random numbers.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long,int)">randOperationsInPlace</a></span>&#8203;(<a href="../matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
long&nbsp;bSeed,
int&nbsp;k)</code></th>
<td class="colLast">
<div class="block">Function to generate a matrix of random numbers.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>static <a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#read(java.io.DataInput)">read</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataInput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataInput</a>&nbsp;in)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readExternal(java.io.ObjectInput)">readExternal</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectInput</a>&nbsp;is)</code></th>
<td class="colLast">
<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
efficient broadcast/rdd de-serialization.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readFields(java.io.DataInput)">readFields</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataInput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataInput</a>&nbsp;in)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recomputeNonZeros()">recomputeNonZeros</a></span>()</code></th>
<td class="colLast">
<div class="block">Recomputes and materializes the number of non-zero values
of the entire matrix block.</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recomputeNonZeros(int,int)">recomputeNonZeros</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recomputeNonZeros(int,int,int,int)">recomputeNonZeros</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu)</code></th>
<td class="colLast">
<div class="block">Recomputes the number of non-zero values of a specified
range of the matrix block.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeEmptyOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">removeEmptyOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;rows,
boolean&nbsp;emptyReturn,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reorgOperations(org.apache.sysds.runtime.matrix.operators.ReorgOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,int,int)">reorgOperations</a></span>&#8203;(<a href="../matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
int&nbsp;startRow,
int&nbsp;startColumn,
int&nbsp;length)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,double)">replaceOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
double&nbsp;pattern,
double&nbsp;replacement)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset(int,int,boolean,long,double)">reset</a></span>&#8203;(int&nbsp;rl,
int&nbsp;cl,
boolean&nbsp;sp,
long&nbsp;estnnz,
double&nbsp;val)</code></th>
<td class="colLast">
<div class="block">Internal canonical reset of dense and sparse matrix blocks.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rexpandOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,double,boolean,boolean,boolean,int)">rexpandOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
double&nbsp;max,
boolean&nbsp;rows,
boolean&nbsp;cast,
boolean&nbsp;ignore,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarOperations(org.apache.sysds.runtime.matrix.operators.ScalarOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">scalarOperations</a></span>&#8203;(<a href="../matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#seqOperationsInPlace(double,double,double)">seqOperationsInPlace</a></span>&#8203;(double&nbsp;from,
double&nbsp;to,
double&nbsp;incr)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDenseBlock(org.apache.sysds.runtime.data.DenseBlock)">setDenseBlock</a></span>&#8203;(<a href="../data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOverlapping(boolean)">setOverlapping</a></span>&#8203;(boolean&nbsp;overlapping)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSparseBlock(org.apache.sysds.runtime.data.SparseBlock)">setSparseBlock</a></span>&#8203;(<a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sblock)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#slice(int,int,int,int,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">slice</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
boolean&nbsp;deep,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code></th>
<td class="colLast">
<div class="block">Slice a sub block out of the current block and write into the given output block.</div>
</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#slice(java.util.ArrayList,org.apache.sysds.runtime.util.IndexRange,int,int,int,int,int)">slice</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ArrayList.html?is-external=true" title="class or interface in java.util" class="externalLink">ArrayList</a>&lt;<a href="../instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
<a href="../util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
int&nbsp;rowCut,
int&nbsp;colCut,
int&nbsp;blen,
int&nbsp;boundaryRlen,
int&nbsp;boundaryClen)</code></th>
<td class="colLast">
<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.</div>
</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixBlock)">sortOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortSparseRows()">sortSparseRows</a></span>()</code></th>
<td class="colLast">
<div class="block">Sorts all existing sparse rows by column indexes.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortSparseRows(int,int)">sortSparseRows</a></span>&#8203;(int&nbsp;rl,
int&nbsp;ru)</code></th>
<td class="colLast">
<div class="block">Sorts all existing sparse rows in range [rl,ru) by
column indexes.</div>
</td>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sparseToDense()">sparseToDense</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i122" class="altColor">
<td class="colFirst"><code><a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#squash(int)">squash</a></span>&#8203;(int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i123" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sum()">sum</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-sum of a matrix.</div>
</td>
</tr>
<tr id="i124" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumSq()">sumSq</a></span>()</code></th>
<td class="colLast">
<div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
</td>
</tr>
<tr id="i125" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumWeightForQuantile()">sumWeightForQuantile</a></span>()</code></th>
<td class="colLast">
<div class="block">In a given two column matrix, the second column denotes weights.</div>
</td>
</tr>
<tr id="i126" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ternaryOperations(org.apache.sysds.runtime.matrix.operators.TernaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ternaryOperations</a></span>&#8203;(<a href="../matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i127" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toShallowSerializeBlock()">toShallowSerializeBlock</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts a cache block that is not shallow serializable into
a form that is shallow serializable.</div>
</td>
</tr>
<tr id="i128" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i129" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transposeSelfMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MMTSJ.MMTSJType,int)">transposeSelfMatrixMultOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
<a href="../../lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
int&nbsp;k)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i130" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#uaggouterchainOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator)">uaggouterchainOperations</a></span>&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i131" class="rowColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unaryOperations(org.apache.sysds.runtime.matrix.operators.UnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">unaryOperations</a></span>&#8203;(<a href="../matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i132" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#write(java.io.DataOutput)">write</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataOutput</a>&nbsp;out)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i133" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeExternal(java.io.ObjectOutput)">writeExternal</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectOutput</a>&nbsp;os)</code></th>
<td class="colLast">
<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
efficient broadcast/rdd serialization.</div>
</td>
</tr>
<tr id="i134" class="altColor">
<td class="colFirst"><code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#zeroOutOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.util.IndexRange,boolean)">zeroOutOperations</a></span>&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
<a href="../util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
boolean&nbsp;complementary)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.sysds.runtime.matrix.data.MatrixBlock">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.matrix.data.<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></h3>
<code><a href="../matrix/data/MatrixBlock.html#aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator)">aggregateBinaryOperations</a>, <a href="../matrix/data/MatrixBlock.html#aggregateUnaryOperations(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.data.MatrixIndexes)">aggregateUnaryOperations</a>, <a href="../matrix/data/MatrixBlock.html#allocateBlock()">allocateBlock</a>, <a href="../matrix/data/MatrixBlock.html#allocateDenseBlock()">allocateDenseBlock</a>, <a href="../matrix/data/MatrixBlock.html#allocateDenseBlockUnsafe(int,int)">allocateDenseBlockUnsafe</a>, <a href="../matrix/data/MatrixBlock.html#allocateSparseRowsBlock()">allocateSparseRowsBlock</a>, <a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock)">append</a>, <a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">append</a>, <a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">append</a>, <a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">append</a>, <a href="../matrix/data/MatrixBlock.html#appendRow(int,org.apache.sysds.runtime.data.SparseRow)">appendRow</a>, <a href="../matrix/data/MatrixBlock.html#appendToSparse(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int)">appendToSparse</a>, <a href="../matrix/data/MatrixBlock.html#binaryOperations(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperations</a>, <a href="../matrix/data/MatrixBlock.html#chainMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MapMultChain.ChainType)">chainMatrixMultOperations</a>, <a href="../matrix/data/MatrixBlock.html#checkCMOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.CMOperator)">checkCMOperations</a>, <a href="../matrix/data/MatrixBlock.html#checkDimensionsForAppend(org.apache.sysds.runtime.matrix.data.MatrixBlock%5B%5D,boolean)">checkDimensionsForAppend</a>, <a href="../matrix/data/MatrixBlock.html#checkNonZeros()">checkNonZeros</a>, <a href="../matrix/data/MatrixBlock.html#checkSparseRows()">checkSparseRows</a>, <a href="../matrix/data/MatrixBlock.html#checkSparseRows(int,int)">checkSparseRows</a>, <a href="../matrix/data/MatrixBlock.html#cleanupBlock(boolean,boolean)">cleanupBlock</a>, <a href="../matrix/data/MatrixBlock.html#colMax()">colMax</a>, <a href="../matrix/data/MatrixBlock.html#colMin()">colMin</a>, <a href="../matrix/data/MatrixBlock.html#compareTo(java.lang.Object)">compareTo</a>, <a href="../matrix/data/MatrixBlock.html#computeIQMCorrection(double,double,double,double,double,double)">computeIQMCorrection</a>, <a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap)">ctableOperations</a>, <a href="../matrix/data/MatrixBlock.html#ctableSeqOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableSeqOperations</a>, <a href="../matrix/data/MatrixBlock.html#denseToSparse(boolean)">denseToSparse</a>, <a href="../matrix/data/MatrixBlock.html#equals(java.lang.Object)">equals</a>, <a href="../matrix/data/MatrixBlock.html#equals(org.apache.sysds.runtime.matrix.data.MatrixBlock)">equals</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeDenseInMemory()">estimateSizeDenseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeDenseInMemory(long,long)">estimateSizeDenseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeInMemory(long,long,double)">estimateSizeInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeOnDisk(long,long,long)">estimateSizeOnDisk</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeSparseInMemory()">estimateSizeSparseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeSparseInMemory(long,long,double)">estimateSizeSparseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeSparseInMemory(long,long,double,boolean)">estimateSizeSparseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeSparseInMemory(long,long,double,org.apache.sysds.runtime.data.SparseBlock.Type)">estimateSizeSparseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#estimateSizeSparseInMemory(org.apache.sysds.runtime.data.SparseBlock.Type)">estimateSizeSparseInMemory</a>, <a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory(boolean)">evalSparseFormatInMemory</a>, <a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory(long,long,long)">evalSparseFormatInMemory</a>, <a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory(long,long,long,boolean)">evalSparseFormatInMemory</a>, <a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory(org.apache.sysds.runtime.meta.DataCharacteristics)">evalSparseFormatInMemory</a>, <a href="../matrix/data/MatrixBlock.html#evalSparseFormatOnDisk(long,long,long)">evalSparseFormatOnDisk</a>, <a href="../matrix/data/MatrixBlock.html#examSparsity()">examSparsity</a>, <a href="../matrix/data/MatrixBlock.html#getDataCharacteristics()">getDataCharacteristics</a>, <a href="../matrix/data/MatrixBlock.html#getDouble(int,int)">getDouble</a>, <a href="../matrix/data/MatrixBlock.html#getDoubleNaN(int,int)">getDoubleNaN</a>, <a href="../matrix/data/MatrixBlock.html#getExactSerializedSize()">getExactSerializedSize</a>, <a href="../matrix/data/MatrixBlock.html#getHeaderSize()">getHeaderSize</a>, <a href="../matrix/data/MatrixBlock.html#getLength()">getLength</a>, <a href="../matrix/data/MatrixBlock.html#getNonZeros()">getNonZeros</a>, <a href="../matrix/data/MatrixBlock.html#getNumColumns()">getNumColumns</a>, <a href="../matrix/data/MatrixBlock.html#getNumRows()">getNumRows</a>, <a href="../matrix/data/MatrixBlock.html#getSparsity()">getSparsity</a>, <a href="../matrix/data/MatrixBlock.html#getString(int,int)">getString</a>, <a href="../matrix/data/MatrixBlock.html#getValue(int,int)">getValue</a>, <a href="../matrix/data/MatrixBlock.html#groupedAggOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.operators.Operator)">groupedAggOperations</a>, <a href="../matrix/data/MatrixBlock.html#hashCode()">hashCode</a>, <a href="../matrix/data/MatrixBlock.html#isEmpty()">isEmpty</a>, <a href="../matrix/data/MatrixBlock.html#isEmptyBlock()">isEmptyBlock</a>, <a href="../matrix/data/MatrixBlock.html#isShallowSerialize()">isShallowSerialize</a>, <a href="../matrix/data/MatrixBlock.html#isThreadSafe(boolean)">isThreadSafe</a>, <a href="../matrix/data/MatrixBlock.html#isVector()">isVector</a>, <a href="../matrix/data/MatrixBlock.html#leftIndexingOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.util.IndexRange,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">leftIndexingOperations</a>, <a href="../matrix/data/MatrixBlock.html#median()">median</a>, <a href="../matrix/data/MatrixBlock.html#merge(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">merge</a>, <a href="../matrix/data/MatrixBlock.html#merge(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean)">merge</a>, <a href="../matrix/data/MatrixBlock.html#naryOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixBlock%5B%5D,org.apache.sysds.runtime.instructions.cp.ScalarObject%5B%5D,org.apache.sysds.runtime.matrix.data.MatrixBlock)">naryOperations</a>, <a href="../matrix/data/MatrixBlock.html#permutationMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">permutationMatrixMultOperations</a>, <a href="../matrix/data/MatrixBlock.html#pickValue(double)">pickValue</a>, <a href="../matrix/data/MatrixBlock.html#prepareAggregateUnaryOutput(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int)">prepareAggregateUnaryOutput</a>, <a href="../matrix/data/MatrixBlock.html#quaternaryOperations(org.apache.sysds.runtime.matrix.operators.QuaternaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">quaternaryOperations</a>, <a href="../matrix/data/MatrixBlock.html#randOperations(int,int,double,double,double,java.lang.String,long)">randOperations</a>, <a href="../matrix/data/MatrixBlock.html#randOperations(int,int,double,double,double,java.lang.String,long,int)">randOperations</a>, <a href="../matrix/data/MatrixBlock.html#randOperations(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,long)">randOperations</a>, <a href="../matrix/data/MatrixBlock.html#randOperations(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,long,int)">randOperations</a>, <a href="../matrix/data/MatrixBlock.html#removeEmptyOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean)">removeEmptyOperations</a>, <a href="../matrix/data/MatrixBlock.html#reset()">reset</a>, <a href="../matrix/data/MatrixBlock.html#reset(int,int)">reset</a>, <a href="../matrix/data/MatrixBlock.html#reset(int,int,boolean)">reset</a>, <a href="../matrix/data/MatrixBlock.html#reset(int,int,boolean,long)">reset</a>, <a href="../matrix/data/MatrixBlock.html#reset(int,int,double)">reset</a>, <a href="../matrix/data/MatrixBlock.html#reset(int,int,long)">reset</a>, <a href="../matrix/data/MatrixBlock.html#rowSum()">rowSum</a>, <a href="../matrix/data/MatrixBlock.html#rowSum(int)">rowSum</a>, <a href="../matrix/data/MatrixBlock.html#sampleOperations(long,int,boolean,long)">sampleOperations</a>, <a href="../matrix/data/MatrixBlock.html#seqOperations(double,double,double)">seqOperations</a>, <a href="../matrix/data/MatrixBlock.html#setAllNonZeros()">setAllNonZeros</a>, <a href="../matrix/data/MatrixBlock.html#setNonZeros(long)">setNonZeros</a>, <a href="../matrix/data/MatrixBlock.html#setNumColumns(int)">setNumColumns</a>, <a href="../matrix/data/MatrixBlock.html#setNumRows(int)">setNumRows</a>, <a href="../matrix/data/MatrixBlock.html#setValue(int,int,double)">setValue</a>, <a href="../matrix/data/MatrixBlock.html#slice(int,int)">slice</a>, <a href="../matrix/data/MatrixBlock.html#slice(int,int,boolean)">slice</a>, <a href="../matrix/data/MatrixBlock.html#slice(int,int,int,int)">slice</a>, <a href="../matrix/data/MatrixBlock.html#slice(int,int,int,int,boolean)">slice</a>, <a href="../matrix/data/MatrixBlock.html#slice(int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock)">slice</a>, <a href="../matrix/data/MatrixBlock.html#slice(org.apache.sysds.runtime.util.IndexRange,org.apache.sysds.runtime.matrix.data.MatrixBlock)">slice</a>, <a href="../matrix/data/MatrixBlock.html#sortOperations()">sortOperations</a>, <a href="../matrix/data/MatrixBlock.html#sortOperations(org.apache.sysds.runtime.matrix.data.MatrixValue)">sortOperations</a>, <a href="../matrix/data/MatrixBlock.html#sortOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixBlock,int)">sortOperations</a>, <a href="../matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MMTSJ.MMTSJType)">transposeSelfMatrixMultOperations</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CompressedMatrixBlock</h4>
<pre>public&nbsp;CompressedMatrixBlock()</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CompressedMatrixBlock</h4>
<pre>public&nbsp;CompressedMatrixBlock&#8203;(int&nbsp;rl,
int&nbsp;cl)</pre>
<div class="block">Main constructor for building a block from scratch.
Use with caution, since it constructs an empty matrix block with nothing inside.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - number of rows in the block</dd>
<dd><code>cl</code> - number of columns</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.sysds.runtime.compress.CompressedMatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CompressedMatrixBlock</h4>
<pre>public&nbsp;CompressedMatrixBlock&#8203;(<a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;that)</pre>
<div class="block">Copy constructor taking that CompressedMatrixBlock and populate this new compressedMatrixBlock with pointers to
the same columnGroups.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - CompressedMatrixBlock to copy values from</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(int,int,long,boolean,java.util.List)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CompressedMatrixBlock</h4>
<pre>public&nbsp;CompressedMatrixBlock&#8203;(int&nbsp;rl,
int&nbsp;cl,
long&nbsp;nnz,
boolean&nbsp;overlapping,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;groups)</pre>
<div class="block">Direct constructor with everything.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - Number of rows in the block</dd>
<dd><code>cl</code> - Number of columns</dd>
<dd><code>nnz</code> - Number of non zeros</dd>
<dd><code>overlapping</code> - If the matrix is overlapping</dd>
<dd><code>groups</code> - The list of column groups</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="reset(int,int,boolean,long,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reset&#8203;(int&nbsp;rl,
int&nbsp;cl,
boolean&nbsp;sp,
long&nbsp;estnnz,
double&nbsp;val)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#reset(int,int,boolean,long,double)">MatrixBlock</a></code></span></div>
<div class="block">Internal canonical reset of dense and sparse matrix blocks.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#reset(int,int,boolean,long,double)">reset</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - number of rows</dd>
<dd><code>cl</code> - number of columns</dd>
<dd><code>sp</code> - sparse representation</dd>
<dd><code>estnnz</code> - estimated number of non-zeros</dd>
<dd><code>val</code> - initialization value</dd>
</dl>
</li>
</ul>
<a id="allocateColGroup(org.apache.sysds.runtime.compress.colgroup.AColGroup)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateColGroup</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;allocateColGroup&#8203;(<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;cg)</pre>
<div class="block">Allocate the given column group and remove all references to old column groups.
This is done by simply allocating a ned _colGroups list and adding the given column group</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cg</code> - The column group to use after.</dd>
</dl>
</li>
</ul>
<a id="allocateColGroupList(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateColGroupList</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;allocateColGroupList&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;colGroups)</pre>
<div class="block">Replace the column groups in this CompressedMatrixBlock with the given column groups</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colGroups</code> - new ColGroups in the MatrixBlock</dd>
</dl>
</li>
</ul>
<a id="getColGroups()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColGroups</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&gt;&nbsp;getColGroups()</pre>
<div class="block">Get the column groups of this CompressedMatrixBlock</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the column groups</dd>
</dl>
</li>
</ul>
<a id="decompress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompress</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;decompress()</pre>
<div class="block">Decompress block into a MatrixBlock</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new uncompressed matrix block containing the contents of this block</dd>
</dl>
</li>
</ul>
<a id="decompress(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompress</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;decompress&#8203;(int&nbsp;k)</pre>
<div class="block">Decompress block into a MatrixBlock</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>k</code> - degree of parallelism</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new uncompressed matrix block containing the contents of this block</dd>
</dl>
</li>
</ul>
<a id="putInto(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putInto</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;putInto&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rowOffset,
int&nbsp;colOffset,
boolean&nbsp;sparseCopyShallow)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#putInto(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,boolean)">MatrixBlock</a></code></span></div>
<div class="block">Method for copying this matrix into a target matrix.
Note that this method does not maintain number of non zero values.
The method should output into the allocated block type of the target, therefore before any calls an appropriate
block must be allocated.
CSR sparse format is not supported.
If allocating into a sparse matrix MCSR block the rows have to be sorted afterwards with a call to
target.sortSparseRows()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#putInto(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,boolean)">putInto</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - Target MatrixBlock, that can be allocated dense or sparse</dd>
<dd><code>rowOffset</code> - The Row offset to allocate into.</dd>
<dd><code>colOffset</code> - The column offset to allocate into.</dd>
<dd><code>sparseCopyShallow</code> - If the output is sparse, and shallow copy of rows is allowed from this block</dd>
</dl>
</li>
</ul>
<a id="getCachedDecompressed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCachedDecompressed</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getCachedDecompressed()</pre>
<div class="block">Get the cached decompressed matrix (if it exists otherwise null).
This in practice means that if some other instruction have materialized the decompressed version it can be
accessed though this method with a guarantee that it did not go through the entire decompression phase.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The cached decompressed matrix, if it does not exist return null</dd>
</dl>
</li>
</ul>
<a id="squash(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>squash</h4>
<pre class="methodSignature">public&nbsp;<a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;squash&#8203;(int&nbsp;k)</pre>
</li>
</ul>
<a id="recomputeNonZeros()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recomputeNonZeros</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;recomputeNonZeros()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#recomputeNonZeros()">MatrixBlock</a></code></span></div>
<div class="block">Recomputes and materializes the number of non-zero values
of the entire matrix block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#recomputeNonZeros()">recomputeNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>number of non-zeros</dd>
</dl>
</li>
</ul>
<a id="recomputeNonZeros(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recomputeNonZeros</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;recomputeNonZeros&#8203;(int&nbsp;rl,
int&nbsp;ru)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#recomputeNonZeros(int,int)">recomputeNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="recomputeNonZeros(int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recomputeNonZeros</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;recomputeNonZeros&#8203;(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="../matrix/data/MatrixBlock.html#recomputeNonZeros(int,int,int,int)">MatrixBlock</a></code></span></div>
<div class="block">Recomputes the number of non-zero values of a specified
range of the matrix block. NOTE: This call does not materialize
the compute result in any form.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#recomputeNonZeros(int,int,int,int)">recomputeNonZeros</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower index, 0-based, inclusive</dd>
<dd><code>ru</code> - row upper index, 0-based, inclusive</dd>
<dd><code>cl</code> - column lower index, 0-based, inclusive</dd>
<dd><code>cu</code> - column upper index, 0-based, inclusive</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of non-zero values</dd>
</dl>
</li>
</ul>
<a id="getInMemorySize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInMemorySize</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getInMemorySize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html#getInMemorySize()">CacheBlock</a></code></span></div>
<div class="block">Get the in-memory size in bytes of the cache block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../controlprogram/caching/CacheBlock.html#getInMemorySize()">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getInMemorySize()">getInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>in-memory size in bytes of cache block</dd>
</dl>
</li>
</ul>
<a id="estimateSizeInMemory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateSizeInMemory</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;estimateSizeInMemory()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#estimateSizeInMemory()">estimateSizeInMemory</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="estimateCompressedSizeInMemory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateCompressedSizeInMemory</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;estimateCompressedSizeInMemory()</pre>
<div class="block">Obtain an upper bound on the memory used to store the compressed block.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an upper bound on the memory used to store this compressed block considering class overhead.</dd>
</dl>
</li>
</ul>
<a id="baseSizeInMemory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>baseSizeInMemory</h4>
<pre class="methodSignature">public static&nbsp;long&nbsp;baseSizeInMemory()</pre>
</li>
</ul>
<a id="quickGetValue(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quickGetValue</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;quickGetValue&#8203;(int&nbsp;r,
int&nbsp;c)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#quickGetValue(int,int)">quickGetValue</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getExactSizeOnDisk()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExactSizeOnDisk</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#getExactSizeOnDisk()">MatrixBlock</a></code></span></div>
<div class="block">NOTE: The used estimates must be kept consistent with the respective write functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getExactSizeOnDisk()">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>exact size on disk</dd>
</dl>
</li>
</ul>
<a id="estimateSizeOnDisk()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateSizeOnDisk</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;estimateSizeOnDisk()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#estimateSizeOnDisk()">estimateSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="readFields(java.io.DataInput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFields</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;readFields&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataInput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataInput</a>&nbsp;in)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>readFields</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.io.Writable</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#readFields(java.io.DataInput)">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="read(java.io.DataInput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre class="methodSignature">public static&nbsp;<a href="CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a>&nbsp;read&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataInput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataInput</a>&nbsp;in)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="write(java.io.DataOutput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;write&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/DataOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">DataOutput</a>&nbsp;out)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>write</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.io.Writable</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#write(java.io.DataOutput)">write</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="readExternal(java.io.ObjectInput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readExternal</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;readExternal&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectInput</a>&nbsp;is)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
efficient broadcast/rdd de-serialization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Externalizable.html?is-external=true#readExternal(java.io.ObjectInput)" title="class or interface in java.io" class="externalLink">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#readExternal(java.io.ObjectInput)">readExternal</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>is</code> - object input</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if IOException occurs</dd>
</dl>
</li>
</ul>
<a id="writeExternal(java.io.ObjectOutput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeExternal</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeExternal&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectOutput</a>&nbsp;os)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
<div class="block">Redirects the default java serialization via externalizable to our default hadoop writable serialization for
efficient broadcast/rdd serialization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Externalizable.html?is-external=true#writeExternal(java.io.ObjectOutput)" title="class or interface in java.io" class="externalLink">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#writeExternal(java.io.ObjectOutput)">writeExternal</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>os</code> - object output</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if IOException occurs</dd>
</dl>
</li>
</ul>
<a id="scalarOperations(org.apache.sysds.runtime.matrix.operators.ScalarOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;scalarOperations&#8203;(<a href="../matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;sop,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#scalarOperations(org.apache.sysds.runtime.matrix.operators.ScalarOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">scalarOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="binaryOperations(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperations&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#binaryOperations(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="binaryOperationsLeft(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryOperationsLeft</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsLeft&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
</li>
</ul>
<a id="append(org.apache.sysds.runtime.matrix.data.MatrixBlock[],org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;append&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>[]&nbsp;that,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;cbind)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock%5B%5D,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">MatrixBlock</a></code></span></div>
<div class="block">Append that list of matrixes to this matrix.
cbind true makes the matrix "wider" while cbind false make it "taller"</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixBlock%5B%5D,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">append</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - a list of matrices to append in order</dd>
<dd><code>ret</code> - the output matrix to modify, (is also returned)</dd>
<dd><code>cbind</code> - if binding on columns or rows</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ret MatrixBlock object with the appended result</dd>
</dl>
</li>
</ul>
<a id="append(org.apache.sysds.runtime.matrix.data.MatrixValue,java.util.ArrayList,int,boolean,boolean,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;append&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;v2,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ArrayList.html?is-external=true" title="class or interface in java.util" class="externalLink">ArrayList</a>&lt;<a href="../instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
int&nbsp;blen,
boolean&nbsp;cbind,
boolean&nbsp;m2IsLast,
int&nbsp;nextNCol)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#append(org.apache.sysds.runtime.matrix.data.MatrixValue,java.util.ArrayList,int,boolean,boolean,int)">append</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="chainMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MapMultChain.ChainType,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>chainMatrixMultOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;chainMatrixMultOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;v,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;w,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
<a href="../../lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a>&nbsp;ctype,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#chainMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MapMultChain.ChainType,int)">chainMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateBinaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateBinaryOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator)">aggregateBinaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="aggregateBinaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateBinaryOperator,boolean,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateBinaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateBinaryOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateBinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateBinaryOperator</a>&nbsp;op,
boolean&nbsp;transposeLeft,
boolean&nbsp;transposeRight)</pre>
</li>
</ul>
<a id="aggregateUnaryOperations(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.data.MatrixIndexes,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateUnaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateUnaryOperations&#8203;(<a href="../matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
int&nbsp;blen,
<a href="../matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;indexesIn,
boolean&nbsp;inCP)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#aggregateUnaryOperations(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.data.MatrixIndexes,boolean)">aggregateUnaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="transposeSelfMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MMTSJ.MMTSJType,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transposeSelfMatrixMultOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;transposeSelfMatrixMultOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
<a href="../../lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a>&nbsp;tstype,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#transposeSelfMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.lops.MMTSJ.MMTSJType,int)">transposeSelfMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="replaceOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;replaceOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
double&nbsp;pattern,
double&nbsp;replacement)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#replaceOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,double)">replaceOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="reorgOperations(org.apache.sysds.runtime.matrix.operators.ReorgOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reorgOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;reorgOperations&#8203;(<a href="../matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
int&nbsp;startRow,
int&nbsp;startColumn,
int&nbsp;length)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#reorgOperations(org.apache.sysds.runtime.matrix.operators.ReorgOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,int,int,int)">reorgOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="isOverlapping()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOverlapping</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isOverlapping()</pre>
</li>
</ul>
<a id="setOverlapping(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOverlapping</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOverlapping&#8203;(boolean&nbsp;overlapping)</pre>
</li>
</ul>
<a id="slice(int,int,int,int,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;slice&#8203;(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
boolean&nbsp;deep,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html#slice(int,int,int,int,boolean,T)">CacheBlock</a></code></span></div>
<div class="block">Slice a sub block out of the current block and write into the given output block.
This method returns the passed instance if not null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../controlprogram/caching/CacheBlock.html#slice(int,int,int,int,boolean,T)">slice</a></code>&nbsp;in interface&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#slice(int,int,int,int,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">slice</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower</dd>
<dd><code>ru</code> - row upper inclusive</dd>
<dd><code>cl</code> - column lower</dd>
<dd><code>cu</code> - column upper inclusive</dd>
<dd><code>deep</code> - enforce deep-copy</dd>
<dd><code>ret</code> - cache block</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sub-block of cache block</dd>
</dl>
</li>
</ul>
<a id="slice(java.util.ArrayList,org.apache.sysds.runtime.util.IndexRange,int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;slice&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/ArrayList.html?is-external=true" title="class or interface in java.util" class="externalLink">ArrayList</a>&lt;<a href="../instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a>&gt;&nbsp;outlist,
<a href="../util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
int&nbsp;rowCut,
int&nbsp;colCut,
int&nbsp;blen,
int&nbsp;boundaryRlen,
int&nbsp;boundaryClen)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixValue.html#slice(java.util.ArrayList,org.apache.sysds.runtime.util.IndexRange,int,int,int,int,int)">MatrixValue</a></code></span></div>
<div class="block">Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#slice(java.util.ArrayList,org.apache.sysds.runtime.util.IndexRange,int,int,int,int,int)">slice</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outlist</code> - The output matrix blocks that is extracted from the matrix</dd>
<dd><code>range</code> - An index range containing overlapping information.</dd>
<dd><code>rowCut</code> - The row to cut and split the matrix.</dd>
<dd><code>colCut</code> - The column to cut ans split the matrix.</dd>
<dd><code>blen</code> - The Block size of the output matrices.</dd>
<dd><code>boundaryRlen</code> - The row length of the edge case matrix block, used for the final blocks
that does not have enough rows to construct a full block.</dd>
<dd><code>boundaryClen</code> - The col length of the edge case matrix block, used for the final blocks
that does not have enough cols to construct a full block.</dd>
</dl>
</li>
</ul>
<a id="unaryOperations(org.apache.sysds.runtime.matrix.operators.UnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;unaryOperations&#8203;(<a href="../matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#unaryOperations(org.apache.sysds.runtime.matrix.operators.UnaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">unaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="containsValue(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsValue</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;containsValue&#8203;(double&nbsp;pattern)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#containsValue(double)">containsValue</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="max()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>max</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;max()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#max()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-max of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#max()">max</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum value of all values in the matrix</dd>
</dl>
</li>
</ul>
<a id="min()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>min</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;min()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#min()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-min of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#min()">min</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum value of all values in the matrix</dd>
</dl>
</li>
</ul>
<a id="sum()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sum</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;sum()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#sum()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-sum of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sum()">sum</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sum of the values in the matrix.</dd>
</dl>
</li>
</ul>
<a id="colSum()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>colSum</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;colSum()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#colSum()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for single threaded reduceall-colSum of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#colSum()">colSum</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new MatrixBlock containing the column sums of this matrix.</dd>
</dl>
</li>
</ul>
<a id="sumSq()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sumSq</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;sumSq()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#sumSq()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-sumSq of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sumSq()">sumSq</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sum of the squared values in the matrix.</dd>
</dl>
</li>
</ul>
<a id="prod()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prod</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;prod()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#prod()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-product of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#prod()">prod</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the product sum of the matrix content</dd>
</dl>
</li>
</ul>
<a id="mean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mean</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;mean()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#mean()">MatrixBlock</a></code></span></div>
<div class="block">Wrapper method for reduceall-mean of a matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#mean()">mean</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the mean value of all values in the matrix</dd>
</dl>
</li>
</ul>
<a id="rexpandOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,double,boolean,boolean,boolean,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rexpandOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rexpandOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
double&nbsp;max,
boolean&nbsp;rows,
boolean&nbsp;cast,
boolean&nbsp;ignore,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#rexpandOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,double,boolean,boolean,boolean,int)">rexpandOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="isEmptyBlock(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmptyBlock</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEmptyBlock&#8203;(boolean&nbsp;safe)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isEmptyBlock(boolean)">isEmptyBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="binaryOperationsInPlace(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryOperationsInPlace</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;binaryOperationsInPlace&#8203;(<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#binaryOperationsInPlace(org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">binaryOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementalAggregate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;incrementalAggregate&#8203;(<a href="../matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;correction,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection,
boolean&nbsp;deep)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementalAggregate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;incrementalAggregate&#8203;(<a href="../matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateOperator</a>&nbsp;aggOp,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;newWithCorrection)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#incrementalAggregate(org.apache.sysds.runtime.matrix.operators.AggregateOperator,org.apache.sysds.runtime.matrix.data.MatrixValue)">incrementalAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="permutationMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>permutationMatrixMultOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;permutationMatrixMultOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;m2Val,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out1Val,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;out2Val,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#permutationMatrixMultOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int)">permutationMatrixMultOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="leftIndexingOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftIndexingOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;rhsMatrix,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#leftIndexingOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="leftIndexingOperations(org.apache.sysds.runtime.instructions.cp.ScalarObject,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftIndexingOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;leftIndexingOperations&#8203;(<a href="../instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a>&nbsp;scalar,
int&nbsp;rl,
int&nbsp;cl,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a>&nbsp;update)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#leftIndexingOperations(org.apache.sysds.runtime.instructions.cp.ScalarObject,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">MatrixBlock</a></code></span></div>
<div class="block">Explicitly allow left indexing for scalars. Note: This operation is now 0-based.
* Operations to be performed:
1) result=this;
2) result[row,column] = scalar.getDoubleValue();</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#leftIndexingOperations(org.apache.sysds.runtime.instructions.cp.ScalarObject,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType)">leftIndexingOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scalar</code> - scalar object</dd>
<dd><code>rl</code> - row lower</dd>
<dd><code>cl</code> - column lower</dd>
<dd><code>ret</code> - ?</dd>
<dd><code>update</code> - ?</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>matrix block</dd>
</dl>
</li>
</ul>
<a id="zeroOutOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.util.IndexRange,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>zeroOutOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;zeroOutOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;result,
<a href="../util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a>&nbsp;range,
boolean&nbsp;complementary)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#zeroOutOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.util.IndexRange,boolean)">zeroOutOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cmOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations&#8203;(<a href="../matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator)">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cmOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;cmOperations&#8203;(<a href="../matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#cmOperations(org.apache.sysds.runtime.matrix.operators.CMOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">cmOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>covOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations&#8203;(<a href="../matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock)">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>covOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a>&nbsp;covOperations&#8203;(<a href="../matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;weights)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#covOperations(org.apache.sysds.runtime.matrix.operators.COVOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">covOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="sortOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;sortOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;weights,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;result)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sortOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixBlock)">sortOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="aggregateTernaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateTernaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;aggregateTernaryOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
<a href="../matrix/operators/AggregateTernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateTernaryOperator</a>&nbsp;op,
boolean&nbsp;inCP)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#aggregateTernaryOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.AggregateTernaryOperator,boolean)">aggregateTernaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="uaggouterchainOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uaggouterchainOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;uaggouterchainOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbLeft,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbRight,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;mbOut,
<a href="../matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#uaggouterchainOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.operators.BinaryOperator,org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator)">uaggouterchainOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="groupedAggOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.operators.Operator,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupedAggOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;groupedAggOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;tgt,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;wghts,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret,
int&nbsp;ngroups,
<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#groupedAggOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,int,org.apache.sysds.runtime.matrix.operators.Operator,int)">groupedAggOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="removeEmptyOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeEmptyOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;removeEmptyOperations&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;rows,
boolean&nbsp;emptyReturn,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;select)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#removeEmptyOperations(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,org.apache.sysds.runtime.matrix.data.MatrixBlock)">removeEmptyOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ctableOperations&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
double&nbsp;scalar,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">MatrixBlock</a></code></span></div>
<div class="block">D = ctable(A,v2,W)
this &lt;- A; scalarThat &lt;- v2; that2 &lt;- W; result &lt;- D
(i1,j1,v1) from input1 (this)
(v2) from sclar_input2 (scalarThat)
(i3,j3,w) from input3 (that2)</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,double,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ctableOperations&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
double&nbsp;scalar,
double&nbsp;scalar2,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,double,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">MatrixBlock</a></code></span></div>
<div class="block">D = ctable(A,v2,w)
this &lt;- A; scalar_that &lt;- v2; scalar_that2 &lt;- w; result &lt;- D
(i1,j1,v1) from input1 (this)
(v2) from sclar_input2 (scalarThat)
(w) from scalar_input3 (scalarThat2)</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,double,double,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixIndexes,double,boolean,int,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ctableOperations&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;ix1,
double&nbsp;scalar,
boolean&nbsp;left,
int&nbsp;brlen,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixIndexes,double,boolean,int,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">MatrixBlock</a></code></span></div>
<div class="block">Specific ctable case of ctable(seq(...),X), where X is the only
matrix input. The 'left' input parameter specifies if the seq appeared
on the left, otherwise it appeared on the right.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixIndexes,double,boolean,int,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,double,boolean,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ctableOperations&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
double&nbsp;scalar,
boolean&nbsp;ignoreZeros,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,double,boolean,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">MatrixBlock</a></code></span></div>
<div class="block">D = ctable(A,B,w)
this &lt;- A; that &lt;- B; scalar_that2 &lt;- w; result &lt;- D
(i1,j1,v1) from input1 (this)
(i1,j1,v2) from input2 (that)
(w) from scalar_input3 (scalarThat2)
NOTE: This method supports both vectors and matrices. In case of matrices and ignoreZeros=true
we can also use a sparse-safe implementation</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,double,boolean,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ctableSeqOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableSeqOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ctableSeqOperations&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatMatrix,
double&nbsp;thatScalar,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock,
boolean&nbsp;updateClen)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableSeqOperations(org.apache.sysds.runtime.matrix.data.MatrixValue,double,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">ctableSeqOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thatMatrix</code> - matrix value</dd>
<dd><code>thatScalar</code> - scalar double</dd>
<dd><code>resultBlock</code> - result matrix block</dd>
<dd><code>updateClen</code> - when this matrix already has the desired number of columns updateClen can be set to false</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>result matrix block</dd>
</dl>
</li>
</ul>
<a id="ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ctableOperations</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ctableOperations&#8203;(<a href="../matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a>&nbsp;op,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;that2,
<a href="../matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a>&nbsp;resultMap,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;resultBlock)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ctableOperations(org.apache.sysds.runtime.matrix.operators.Operator,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.CTableMap,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ctableOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="ternaryOperations(org.apache.sysds.runtime.matrix.operators.TernaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ternaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ternaryOperations&#8203;(<a href="../matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a>&nbsp;op,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m3,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#ternaryOperations(org.apache.sysds.runtime.matrix.operators.TernaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">ternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="quaternaryOperations(org.apache.sysds.runtime.matrix.operators.QuaternaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quaternaryOperations</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;quaternaryOperations&#8203;(<a href="../matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a>&nbsp;qop,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;um,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;vm,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;wm,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;out,
int&nbsp;k)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#quaternaryOperations(org.apache.sysds.runtime.matrix.operators.QuaternaryOperator,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int)">quaternaryOperations</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>randOperationsInPlace</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace&#8203;(<a href="../matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
long&nbsp;bSeed)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long)">MatrixBlock</a></code></span></div>
<div class="block">Function to generate a matrix of random numbers. This is invoked both
from CP as well as from MR. In case of CP, it generates an entire matrix
block-by-block. A <code>bigrand</code> is passed so that block-level
seeds are generated internally. In case of MR, it generates a single
block for given block-level seed <code>bSeed</code>.
When pdf="uniform", cell values are drawn from uniform distribution in
range <code>[min,max]</code>.
When pdf="normal", cell values are drawn from standard normal
distribution N(0,1). The range of generated values will always be
(-Inf,+Inf).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long)">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rgen</code> - random matrix generator</dd>
<dd><code>bigrand</code> - ?</dd>
<dd><code>bSeed</code> - seed value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>matrix block</dd>
</dl>
</li>
</ul>
<a id="randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>randOperationsInPlace</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;randOperationsInPlace&#8203;(<a href="../matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a>&nbsp;rgen,
org.apache.commons.math3.random.Well1024a&nbsp;bigrand,
long&nbsp;bSeed,
int&nbsp;k)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long,int)">MatrixBlock</a></code></span></div>
<div class="block">Function to generate a matrix of random numbers. This is invoked both
from CP as well as from MR. In case of CP, it generates an entire matrix
block-by-block. A <code>bigrand</code> is passed so that block-level
seeds are generated internally. In case of MR, it generates a single
block for given block-level seed <code>bSeed</code>.
When pdf="uniform", cell values are drawn from uniform distribution in
range <code>[min,max]</code>.
When pdf="normal", cell values are drawn from standard normal
distribution N(0,1). The range of generated values will always be
(-Inf,+Inf).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#randOperationsInPlace(org.apache.sysds.runtime.matrix.data.RandomMatrixGenerator,org.apache.commons.math3.random.Well1024a,long,int)">randOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rgen</code> - random matrix generator</dd>
<dd><code>bigrand</code> - ?</dd>
<dd><code>bSeed</code> - seed value</dd>
<dd><code>k</code> - ?</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>matrix block</dd>
</dl>
</li>
</ul>
<a id="seqOperationsInPlace(double,double,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>seqOperationsInPlace</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;seqOperationsInPlace&#8203;(double&nbsp;from,
double&nbsp;to,
double&nbsp;incr)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#seqOperationsInPlace(double,double,double)">seqOperationsInPlace</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getUncompressed(org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUncompressed</h4>
<pre class="methodSignature">public static&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal)</pre>
</li>
</ul>
<a id="getUncompressed(org.apache.sysds.runtime.matrix.data.MatrixValue,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUncompressed</h4>
<pre class="methodSignature">public static&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;mVal,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;message)</pre>
</li>
</ul>
<a id="getUncompressed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUncompressed</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed()</pre>
</li>
</ul>
<a id="getUncompressed(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUncompressed</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;operation)</pre>
</li>
</ul>
<a id="getUncompressed(java.lang.String,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUncompressed</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;getUncompressed&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;operation,
int&nbsp;k)</pre>
</li>
</ul>
<a id="isShallowSerialize(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isShallowSerialize</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isShallowSerialize&#8203;(boolean&nbsp;inclConvert)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html#isShallowSerialize(boolean)">CacheBlock</a></code></span></div>
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../controlprogram/caching/CacheBlock.html#isShallowSerialize(boolean)">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isShallowSerialize(boolean)">isShallowSerialize</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
currently not amenable but can be brought into an amenable form
via <a href="../controlprogram/caching/CacheBlock.html#toShallowSerializeBlock()"><code>toShallowSerializeBlock</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if shallow serialized</dd>
</dl>
</li>
</ul>
<a id="toShallowSerializeBlock()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toShallowSerializeBlock</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html#toShallowSerializeBlock()">CacheBlock</a></code></span></div>
<div class="block">Converts a cache block that is not shallow serializable into
a form that is shallow serializable. This methods has no affect
if the given cache block is not amenable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../controlprogram/caching/CacheBlock.html#toShallowSerializeBlock()">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#toShallowSerializeBlock()">toShallowSerializeBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="copy(org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;copy&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixValue.html#copy(org.apache.sysds.runtime.matrix.data.MatrixValue)">MatrixValue</a></code></span></div>
<div class="block">Copy that MatrixValue into this MatrixValue.
If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix,
and copy into either a sparse or a dense matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#copy(org.apache.sysds.runtime.matrix.data.MatrixValue)">copy</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thatValue</code> - object to copy the values into.</dd>
</dl>
</li>
</ul>
<a id="copy(org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;copy&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;thatValue,
boolean&nbsp;sp)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixValue.html#copy(org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">MatrixValue</a></code></span></div>
<div class="block">Copy that MatrixValue into this MatrixValue. But select sparse destination block depending on boolean parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#copy(org.apache.sysds.runtime.matrix.data.MatrixValue,boolean)">copy</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thatValue</code> - object to copy the values into.</dd>
<dd><code>sp</code> - boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)</dd>
</dl>
</li>
</ul>
<a id="copyShallow(org.apache.sysds.runtime.matrix.data.MatrixBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyShallow</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;copyShallow&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#copyShallow(org.apache.sysds.runtime.matrix.data.MatrixBlock)">copyShallow</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="copy(int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;copy&#8203;(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
boolean&nbsp;awareDestNZ)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#copy(int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">MatrixBlock</a></code></span></div>
<div class="block">In-place copy of matrix src into the index range of the existing current matrix.
Note that removal of existing nnz in the index range and nnz maintenance is
only done if 'awareDestNZ=true',</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#copy(int,int,int,int,org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean)">copy</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower index, 0-based</dd>
<dd><code>ru</code> - row upper index, 0-based, inclusive</dd>
<dd><code>cl</code> - column lower index, 0-based</dd>
<dd><code>cu</code> - column upper index, 0-based, inclusive</dd>
<dd><code>src</code> - matrix block</dd>
<dd><code>awareDestNZ</code> - true, forces (1) to remove existing non-zeros in the index range of the
destination if not present in src and (2) to internally maintain nnz
false, assume empty index range in destination and do not maintain nnz
(the invoker is responsible to recompute nnz after all copies are done)</dd>
</dl>
</li>
</ul>
<a id="getSoftReferenceToDecompressed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSoftReferenceToDecompressed</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ref/SoftReference.html?is-external=true" title="class or interface in java.lang.ref" class="externalLink">SoftReference</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;getSoftReferenceToDecompressed()</pre>
</li>
</ul>
<a id="clearSoftReferenceToDecompressed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearSoftReferenceToDecompressed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clearSoftReferenceToDecompressed()</pre>
</li>
</ul>
<a id="clearCounts()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearCounts</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clearCounts()</pre>
</li>
</ul>
<a id="getDenseBlock()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDenseBlock</h4>
<pre class="methodSignature">public&nbsp;<a href="../data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;getDenseBlock()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getDenseBlock()">getDenseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="setDenseBlock(org.apache.sysds.runtime.data.DenseBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDenseBlock</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDenseBlock&#8203;(<a href="../data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a>&nbsp;dblock)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#setDenseBlock(org.apache.sysds.runtime.data.DenseBlock)">setDenseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getDenseBlockValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDenseBlockValues</h4>
<pre class="methodSignature">public&nbsp;double[]&nbsp;getDenseBlockValues()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getDenseBlockValues()">getDenseBlockValues</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getSparseBlock()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSparseBlock</h4>
<pre class="methodSignature">public&nbsp;<a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;getSparseBlock()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getSparseBlock()">getSparseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="setSparseBlock(org.apache.sysds.runtime.data.SparseBlock)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSparseBlock</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setSparseBlock&#8203;(<a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sblock)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#setSparseBlock(org.apache.sysds.runtime.data.SparseBlock)">setSparseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getSparseBlockIterator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSparseBlockIterator</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="../matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getSparseBlockIterator()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getSparseBlockIterator()">getSparseBlockIterator</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getSparseBlockIterator(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSparseBlockIterator</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="../matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a>&gt;&nbsp;getSparseBlockIterator&#8203;(int&nbsp;rl,
int&nbsp;ru)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getSparseBlockIterator(int,int)">getSparseBlockIterator</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="quickSetValue(int,int,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quickSetValue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;quickSetValue&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#quickSetValue(int,int,double)">quickSetValue</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="quickGetValueThreadSafe(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>quickGetValueThreadSafe</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;quickGetValueThreadSafe&#8203;(int&nbsp;r,
int&nbsp;c)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#quickGetValueThreadSafe(int,int)">quickGetValueThreadSafe</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="getValueDenseUnsafe(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueDenseUnsafe</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getValueDenseUnsafe&#8203;(int&nbsp;r,
int&nbsp;c)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#getValueDenseUnsafe(int,int)">getValueDenseUnsafe</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="appendValue(int,int,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendValue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;appendValue&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#appendValue(int,int,double)">MatrixBlock</a></code></span></div>
<div class="block">Append value is only used when values are appended at the end of each row for the sparse representation
This can only be called, when the caller knows the access pattern of the block</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#appendValue(int,int,double)">appendValue</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>r</code> - row</dd>
<dd><code>c</code> - column</dd>
<dd><code>v</code> - value</dd>
</dl>
</li>
</ul>
<a id="appendValuePlain(int,int,double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendValuePlain</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;appendValuePlain&#8203;(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#appendValuePlain(int,int,double)">appendValuePlain</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="appendRow(int,org.apache.sysds.runtime.data.SparseRow,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendRow</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;appendRow&#8203;(int&nbsp;r,
<a href="../data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a>&nbsp;row,
boolean&nbsp;deep)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#appendRow(int,org.apache.sysds.runtime.data.SparseRow,boolean)">appendRow</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="appendRowToSparse(org.apache.sysds.runtime.data.SparseBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendRowToSparse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;appendRowToSparse&#8203;(<a href="../data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;dest,
<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;src,
int&nbsp;i,
int&nbsp;rowoffset,
int&nbsp;coloffset,
boolean&nbsp;deep)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#appendRowToSparse(org.apache.sysds.runtime.data.SparseBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int,boolean)">appendRowToSparse</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="sortSparseRows()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortSparseRows</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;sortSparseRows()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#sortSparseRows()">MatrixBlock</a></code></span></div>
<div class="block">Sorts all existing sparse rows by column indexes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sortSparseRows()">sortSparseRows</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="sortSparseRows(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortSparseRows</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;sortSparseRows&#8203;(int&nbsp;rl,
int&nbsp;ru)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#sortSparseRows(int,int)">MatrixBlock</a></code></span></div>
<div class="block">Sorts all existing sparse rows in range [rl,ru) by
column indexes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sortSparseRows(int,int)">sortSparseRows</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower bound, inclusive</dd>
<dd><code>ru</code> - row upper bound, exclusive</dd>
</dl>
</li>
</ul>
<a id="minNonZero()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minNonZero</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;minNonZero()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#minNonZero()">MatrixBlock</a></code></span></div>
<div class="block">Utility function for computing the min non-zero value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#minNonZero()">minNonZero</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>minimum non-zero value</dd>
</dl>
</li>
</ul>
<a id="isInSparseFormat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInSparseFormat</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isInSparseFormat()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#isInSparseFormat()">MatrixBlock</a></code></span></div>
<div class="block">Returns the current representation (true for sparse).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isInSparseFormat()">isInSparseFormat</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if sparse</dd>
</dl>
</li>
</ul>
<a id="isUltraSparse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUltraSparse</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isUltraSparse()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isUltraSparse()">isUltraSparse</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="isUltraSparse(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUltraSparse</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isUltraSparse&#8203;(boolean&nbsp;checkNnz)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isUltraSparse(boolean)">isUltraSparse</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="isSparsePermutationMatrix()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSparsePermutationMatrix</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSparsePermutationMatrix()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isSparsePermutationMatrix()">isSparsePermutationMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="evalSparseFormatInMemory()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evalSparseFormatInMemory</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;evalSparseFormatInMemory()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory()">MatrixBlock</a></code></span></div>
<div class="block">Evaluates if this matrix block should be in sparse format in
memory. Note that this call does not change the representation -
for this please call examSparsity.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#evalSparseFormatInMemory()">evalSparseFormatInMemory</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if matrix block should be in sparse format in memory</dd>
</dl>
</li>
</ul>
<a id="evalSparseFormatOnDisk()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evalSparseFormatOnDisk</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;evalSparseFormatOnDisk()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#evalSparseFormatOnDisk()">MatrixBlock</a></code></span></div>
<div class="block">Evaluates if this matrix block should be in sparse format on
disk. This applies to any serialized matrix representation, i.e.,
when writing to in-memory buffer pool pages or writing to local fs
or hdfs.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#evalSparseFormatOnDisk()">evalSparseFormatOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if matrix block should be in sparse format on disk</dd>
</dl>
</li>
</ul>
<a id="examSparsity(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>examSparsity</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;examSparsity&#8203;(boolean&nbsp;allowCSR)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#examSparsity(boolean)">MatrixBlock</a></code></span></div>
<div class="block">Evaluates if this matrix block should be in sparse format in
memory. Depending on the current representation, the state of the
matrix block is changed to the right representation if necessary.
Note that this consumes for the time of execution memory for both
representations.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#examSparsity(boolean)">examSparsity</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>allowCSR</code> - allow CSR format on dense to sparse conversion</dd>
</dl>
</li>
</ul>
<a id="sparseToDense()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sparseToDense</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;sparseToDense()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sparseToDense()">sparseToDense</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="merge(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>merge</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;merge&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;that,
boolean&nbsp;appendOnly,
boolean&nbsp;par,
boolean&nbsp;deep)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#merge(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">merge</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="compactEmptyBlock()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compactEmptyBlock</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;compactEmptyBlock()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html#compactEmptyBlock()">CacheBlock</a></code></span></div>
<div class="block">Free unnecessarily allocated empty block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../controlprogram/caching/CacheBlock.html#compactEmptyBlock()">compactEmptyBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#compactEmptyBlock()">compactEmptyBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="dropLastRowsOrColumns(org.apache.sysds.common.Types.CorrectionLocationType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropLastRowsOrColumns</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dropLastRowsOrColumns&#8203;(<a href="../../common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a>&nbsp;correctionLocation)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#dropLastRowsOrColumns(org.apache.sysds.common.Types.CorrectionLocationType)">dropLastRowsOrColumns</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="interQuartileMean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interQuartileMean</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;interQuartileMean()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#interQuartileMean()">interQuartileMean</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="pickValues(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pickValues</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;pickValues&#8203;(<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;quantiles,
<a href="../matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a>&nbsp;ret)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#pickValues(org.apache.sysds.runtime.matrix.data.MatrixValue,org.apache.sysds.runtime.matrix.data.MatrixValue)">pickValues</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="pickValue(double,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pickValue</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;pickValue&#8203;(double&nbsp;quantile,
boolean&nbsp;average)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#pickValue(double,boolean)">pickValue</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="sumWeightForQuantile()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sumWeightForQuantile</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;sumWeightForQuantile()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#sumWeightForQuantile()">MatrixBlock</a></code></span></div>
<div class="block">In a given two column matrix, the second column denotes weights.
This function computes the total weight</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#sumWeightForQuantile()">sumWeightForQuantile</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sum weight for quantile</dd>
</dl>
</li>
</ul>
<a id="extractTriangular(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractTriangular</h4>
<pre class="methodSignature">public&nbsp;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;extractTriangular&#8203;(<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;ret,
boolean&nbsp;lower,
boolean&nbsp;diag,
boolean&nbsp;values)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#extractTriangular(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,boolean,boolean)">extractTriangular</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="isThreadSafe()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isThreadSafe</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isThreadSafe()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#isThreadSafe()">MatrixBlock</a></code></span></div>
<div class="block">Indicates if concurrent modifications of disjoint rows are thread-safe.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isThreadSafe()">isThreadSafe</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if thread-safe</dd>
</dl>
</li>
</ul>
<a id="checkNaN()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkNaN</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkNaN()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#checkNaN()">MatrixBlock</a></code></span></div>
<div class="block">Checks for existing NaN values in the matrix block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#checkNaN()">checkNaN</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="init(double[][],int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;init&#8203;(double[][]&nbsp;arr,
int&nbsp;r,
int&nbsp;c)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#init(double%5B%5D%5B%5D,int,int)">MatrixBlock</a></code></span></div>
<div class="block">NOTE: This method is designed only for dense representation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#init(double%5B%5D%5B%5D,int,int)">init</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - 2d double array matrix</dd>
<dd><code>r</code> - number of rows</dd>
<dd><code>c</code> - number of columns</dd>
</dl>
</li>
</ul>
<a id="init(double[],int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;init&#8203;(double[]&nbsp;arr,
int&nbsp;r,
int&nbsp;c)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../matrix/data/MatrixBlock.html#init(double%5B%5D,int,int)">MatrixBlock</a></code></span></div>
<div class="block">NOTE: This method is designed only for dense representation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#init(double%5B%5D,int,int)">init</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arr</code> - double array matrix</dd>
<dd><code>r</code> - number of rows</dd>
<dd><code>c</code> - number of columns</dd>
</dl>
</li>
</ul>
<a id="isAllocated()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAllocated</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isAllocated()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#isAllocated()">isAllocated</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="allocateBlockAsync()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateBlockAsync</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">Future</a>&lt;<a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&gt;&nbsp;allocateBlockAsync()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#allocateBlockAsync()">allocateBlockAsync</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="allocateDenseBlock(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateDenseBlock</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;allocateDenseBlock&#8203;(boolean&nbsp;clearNNZ)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#allocateDenseBlock(boolean)">allocateDenseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="allocateSparseRowsBlock(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateSparseRowsBlock</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;allocateSparseRowsBlock&#8203;(boolean&nbsp;clearNNZ)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#allocateSparseRowsBlock(boolean)">allocateSparseRowsBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
<a id="allocateAndResetSparseBlock(boolean,org.apache.sysds.runtime.data.SparseBlock.Type)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>allocateAndResetSparseBlock</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;allocateAndResetSparseBlock&#8203;(boolean&nbsp;clearNNZ,
<a href="../data/SparseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">SparseBlock.Type</a>&nbsp;stype)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../matrix/data/MatrixBlock.html#allocateAndResetSparseBlock(boolean,org.apache.sysds.runtime.data.SparseBlock.Type)">allocateAndResetSparseBlock</a></code>&nbsp;in class&nbsp;<code><a href="../matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CompressedMatrixBlock.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" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>