English

Deterministic algorithms for skewed matrix products

Data Structures and Algorithms 2012-09-21 v1 Numerical Analysis

Abstract

Recently, Pagh presented a randomized approximation algorithm for the multiplication of real-valued matrices building upon work for detecting the most frequent items in data streams. We continue this line of research and present new {\em deterministic} matrix multiplication algorithms. Motivated by applications in data mining, we first consider the case of real-valued, nonnegative nn-by-nn input matrices AA and BB, and show how to obtain a deterministic approximation of the weights of individual entries, as well as the entrywise pp-norm, of the product ABAB. The algorithm is simple, space efficient and runs in one pass over the input matrices. For a user defined b(0,n2)b \in (0, n^2) the algorithm runs in time O(nb+nSort(n))O(nb + n\cdot\text{Sort}(n)) and space O(n+b)O(n + b) and returns an approximation of the entries of ABAB within an additive factor of ABE1/b\|AB\|_{E1}/b, where CE1=i,jCij\|C\|_{E1} = \sum_{i, j} |C_{ij}| is the entrywise 1-norm of a matrix CC and Sort(n)\text{Sort}(n) is the time required to sort nn real numbers in linear space. Building upon a result by Berinde et al. we show that for skewed matrix products (a common situation in many real-life applications) the algorithm is more efficient and achieves better approximation guarantees than previously known randomized algorithms. When the input matrices are not restricted to nonnegative entries, we present a new deterministic group testing algorithm detecting nonzero entries in the matrix product with large absolute value. The algorithm is clearly outperformed by randomized matrix multiplication algorithms, but as a byproduct we obtain the first O(n2+ε)O(n^{2 + \varepsilon})-time deterministic algorithm for matrix products with O(n)O(\sqrt{n}) nonzero entries.

Keywords

Cite

@article{arxiv.1209.4508,
  title  = {Deterministic algorithms for skewed matrix products},
  author = {Konstantin Kutzkov},
  journal= {arXiv preprint arXiv:1209.4508},
  year   = {2012}
}
R2 v1 2026-06-21T22:08:26.225Z