2010
DOI: 10.1007/978-3-642-15369-3_31
|View full text |Cite
|
Sign up to set email alerts
|

Better Size Estimation for Sparse Matrix Products

Abstract: Abstract. We consider the problem of doing fast and reliable estimation of the number of non-zero entries in a sparse boolean matrix product. Let n denote the total number of non-zero entries in the input matrices. We show how to compute a 1 ± ε approximation (with small probability of error) in expected time O(n) for any ε > 4/ 4 √ n. The previously best estimation algorithm, due to Cohen (JCSS 1997), uses time O(n/ε 2 ). We also present a variant using O(sort(n)) I/Os in expectation in the cache-oblivious mo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
9
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
5
1
1

Relationship

3
4

Authors

Journals

citations
Cited by 15 publications
(9 citation statements)
references
References 16 publications
0
9
0
Order By: Relevance
“…The second method, probabilistic method, estimates an imprecise nnz(C). This group of approaches [28,29,30] are based on random sampling and probability analysis on the input matrices. Since they do not guarantee a safe lower bound for the resulting matrix C and extra memory has to be allocated while the estimation fails, they were mostly used for estimating the shortest execution time of multiplication of multiple sparse matrices.…”
Section: Memory Pre-allocation For the Resulting Matrixmentioning
confidence: 99%
See 1 more Smart Citation
“…The second method, probabilistic method, estimates an imprecise nnz(C). This group of approaches [28,29,30] are based on random sampling and probability analysis on the input matrices. Since they do not guarantee a safe lower bound for the resulting matrix C and extra memory has to be allocated while the estimation fails, they were mostly used for estimating the shortest execution time of multiplication of multiple sparse matrices.…”
Section: Memory Pre-allocation For the Resulting Matrixmentioning
confidence: 99%
“…Algorithm 3 Pseudocode for the second stage on a CPU core. 1: for each entry u i in U do 2: if u i = 0 then ⊲ The 1st bin group 3: insert i to bin else if u i > 512 then ⊲ The 5th bin group 24: insert i to bin 37 25: nnz( c i * ) ← 256 26: end if 27: end for 28: nnz( C) ← nnz( c i * ) each delete-max step in our variant heapsort, the root node and the first entry of the resulting sequence are fused if they share the same index; otherwise the root node is inserted to the head part of the sequence. Our method is also distinguished from a heap-based sparse accumulator given by Gilbert et al [43] by the mechanism of eliminating duplicate entries.…”
Section: Algorithmmentioning
confidence: 99%
“…In contrast we show that surprisingly, at least to the authors,Õ(n/ϵ) bits of communication is possible with only 2 rounds. In [5], Amossen, Campagna, and Pagh improve the time complexity of [12], provided ϵ is not too small. However, a direct adaptation of this algorithm to the distributed model would result an even higher communication cost of Ω(n 2 ).…”
Section: Related Workmentioning
confidence: 99%
“…It is proportional to the join product of two matrix relations A and B with the condition A.col = B.row. The multiplication then rather turns into a relational join followed by a projection [10] where techniques of join size estimation (e.g., based on hashing [16]) can be applied to estimate the cost of the sparse algorithm.…”
Section: Architecture and Requirementsmentioning
confidence: 99%