org.apache.sysds.hops.estim

## Class EstimatorBasicAvg

- java.lang.Object
- - org.apache.sysds.hops.estim.SparsityEstimator
  - - org.apache.sysds.hops.estim.EstimatorBasicAvg

    public class EstimatorBasicAvg
    extends SparsityEstimator

Basic average case estimator for matrix sparsity: sp = 1 - Math.pow(1-sp1*sp2, k)

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.sysds.hops.estim.SparsityEstimator

`SparsityEstimator.OpCode`

### Field Summary

### Fields inherited from class org.apache.sysds.hops.estim.SparsityEstimator

`MIN_PAR_THRESHOLD, MULTI_THREADED_BUILD, MULTI_THREADED_ESTIM`

### Constructor Summary

Constructors
Constructor and Description
`EstimatorBasicAvg()`

### Method Summary

All Methods Instance Methods Concrete Methods
`double` `estim(MatrixBlock m1, MatrixBlock m2)` Estimates the output sparsity for a single matrix multiplication.
`double` `estim(MatrixBlock m1, MatrixBlock m2, SparsityEstimator.OpCode op)` Estimates the output sparsity for a given binary operation.
`double` `estim(MatrixBlock m, SparsityEstimator.OpCode op)` Estimates the output sparsity for a given unary operation.
`DataCharacteristics` `estim(MMNode root)` Estimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### EstimatorBasicAvg

    public EstimatorBasicAvg()

### Method Detail

#### estim

    public DataCharacteristics estim(MMNode root)

Description copied from class: `SparsityEstimator`
Estimates the output sparsity of a DAG of matrix multiplications for the given operator graph of a single root node.

Specified by:
  `estim` in class `SparsityEstimator`
Parameters:
  `root` - DAG root node
Returns:
  output data characteristics

#### estim

    public double estim(MatrixBlock m1,
                        MatrixBlock m2)

Description copied from class: `SparsityEstimator`
Estimates the output sparsity for a single matrix multiplication.

Specified by:
  `estim` in class `SparsityEstimator`
Parameters:
  `m1` - left-hand-side operand
  `m2` - right-hand-side operand
Returns:
  sparsity

#### estim

    public double estim(MatrixBlock m1,
                        MatrixBlock m2,
                        SparsityEstimator.OpCode op)

Description copied from class: `SparsityEstimator`
Estimates the output sparsity for a given binary operation.

Specified by:
  `estim` in class `SparsityEstimator`
Parameters:
  `m1` - left-hand-side operand
  `m2` - right-hand-side operand
  `op` - operator code
Returns:
  sparsity

#### estim

    public double estim(MatrixBlock m,
                        SparsityEstimator.OpCode op)

Description copied from class: `SparsityEstimator`
Estimates the output sparsity for a given unary operation.

Specified by:
  `estim` in class `SparsityEstimator`
Parameters:
  `m` - left-hand-side operand
  `op` - operator code
Returns:
  sparsity