blob: cd9af369d09bc84e6e6123fe128ac0e32e60962f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EstimatorDensityMap (SystemDS 2.1.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="EstimatorDensityMap (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EstimatorDensityMap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/hops/estim/EstimatorDensityMap.html" target="_top">Frames</a></li>
<li><a href="EstimatorDensityMap.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.sysds.hops.estim.SparsityEstimator">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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.sysds.hops.estim</div>
<h2 title="Class EstimatorDensityMap" class="title">Class EstimatorDensityMap</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">org.apache.sysds.hops.estim.SparsityEstimator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.hops.estim.EstimatorDensityMap</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">EstimatorDensityMap</span>
extends <a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></pre>
<div class="block">This estimator implements an approach called density maps, as introduced in
David Kernert, Frank Köhler, Wolfgang Lehner: SpMacho - Optimizing Sparse
Linear Algebra Expressions with Probabilistic Density Estimation. EDBT 2015: 289-300.
The basic idea is to maintain a density matrix per input, i.e., non-zero counts per
bxb cells of the matrix, and compute the output density map based on a matrix-multiply-like
aggregation of average estimates per cell. The output sparsity is then derived as an
aggregate of the output density map, but this density map can also be used for
intermediates in chains of matrix multiplications.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.hops.estim.SparsityEstimator">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.hops.estim.<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></h3>
<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.sysds.hops.estim.SparsityEstimator">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.sysds.hops.estim.<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></h3>
<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#MIN_PAR_THRESHOLD">MIN_PAR_THRESHOLD</a>, <a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#MULTI_THREADED_BUILD">MULTI_THREADED_BUILD</a>, <a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#MULTI_THREADED_ESTIM">MULTI_THREADED_ESTIM</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#EstimatorDensityMap--">EstimatorDensityMap</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#EstimatorDensityMap-int-">EstimatorDensityMap</a></span>(int&nbsp;blocksize)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">estim</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</code>
<div class="block">Estimates the output sparsity for a single matrix multiplication.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">estim</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</code>
<div class="block">Estimates the output sparsity for a given binary operation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">estim</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</code>
<div class="block">Estimates the output sparsity for a given unary operation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#estim-org.apache.sysds.hops.estim.MMNode-">estim</a></span>(<a href="../../../../../org/apache/sysds/hops/estim/MMNode.html" title="class in org.apache.sysds.hops.estim">MMNode</a>&nbsp;root)</code>
<div class="block">Estimates the output sparsity of a DAG of matrix multiplications
for the given operator graph of a single root node.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.html#estimIntern-org.apache.sysds.hops.estim.EstimatorDensityMap.DensityMap-org.apache.sysds.hops.estim.EstimatorDensityMap.DensityMap-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">estimIntern</a></span>(<a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a>&nbsp;m1Map,
<a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a>&nbsp;m2Map,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</code>
<div class="block">Computes the output density map given the density maps of the input operands.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="EstimatorDensityMap--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EstimatorDensityMap</h4>
<pre>public&nbsp;EstimatorDensityMap()</pre>
</li>
</ul>
<a name="EstimatorDensityMap-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EstimatorDensityMap</h4>
<pre>public&nbsp;EstimatorDensityMap(int&nbsp;blocksize)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="estim-org.apache.sysds.hops.estim.MMNode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estim</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;estim(<a href="../../../../../org/apache/sysds/hops/estim/MMNode.html" title="class in org.apache.sysds.hops.estim">MMNode</a>&nbsp;root)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.hops.estim.MMNode-">SparsityEstimator</a></code></span></div>
<div class="block">Estimates the output sparsity of a DAG of matrix multiplications
for the given operator graph of a single root node.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.hops.estim.MMNode-">estim</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>root</code> - DAG root node</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>output data characteristics</dd>
</dl>
</li>
</ul>
<a name="estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estim</h4>
<pre>public&nbsp;double&nbsp;estim(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">SparsityEstimator</a></code></span></div>
<div class="block">Estimates the output sparsity for a single matrix multiplication.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-">estim</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>m1</code> - left-hand-side operand</dd>
<dd><code>m2</code> - right-hand-side operand</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sparsity</dd>
</dl>
</li>
</ul>
<a name="estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estim</h4>
<pre>public&nbsp;double&nbsp;estim(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m1,
<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m2,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">SparsityEstimator</a></code></span></div>
<div class="block">Estimates the output sparsity for a given binary operation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">estim</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>m1</code> - left-hand-side operand</dd>
<dd><code>m2</code> - right-hand-side operand</dd>
<dd><code>op</code> - operator code</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sparsity</dd>
</dl>
</li>
</ul>
<a name="estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estim</h4>
<pre>public&nbsp;double&nbsp;estim(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;m,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">SparsityEstimator</a></code></span></div>
<div class="block">Estimates the output sparsity for a given unary operation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html#estim-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">estim</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>m</code> - left-hand-side operand</dd>
<dd><code>op</code> - operator code</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sparsity</dd>
</dl>
</li>
</ul>
<a name="estimIntern-org.apache.sysds.hops.estim.EstimatorDensityMap.DensityMap-org.apache.sysds.hops.estim.EstimatorDensityMap.DensityMap-org.apache.sysds.hops.estim.SparsityEstimator.OpCode-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>estimIntern</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a>&nbsp;estimIntern(<a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a>&nbsp;m1Map,
<a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a>&nbsp;m2Map,
<a href="../../../../../org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a>&nbsp;op)</pre>
<div class="block">Computes the output density map given the density maps of the input operands.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>m1Map</code> - density map left-hand-side operand</dd>
<dd><code>m2Map</code> - density map right-hand-side operand</dd>
<dd><code>op</code> - operator code</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>density map</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EstimatorDensityMap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/hops/estim/EstimatorDensityMap.html" target="_top">Frames</a></li>
<li><a href="EstimatorDensityMap.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.sysds.hops.estim.SparsityEstimator">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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>