Output-Sparse Matrix Multiplication Using Compressed Sensing
By: Huck Bennett , Karthik Gajulapalli , Alexander Golovnev and more
Potential Business Impact:
Makes multiplying big, mostly empty math grids faster.
We give two algorithms for output-sparse matrix multiplication (OSMM), the problem of multiplying two $n \times n$ matrices $A, B$ when their product $AB$ is promised to have at most $O(n^{\delta})$ many non-zero entries for a given value $\delta \in [0, 2]$. We then show how to speed up these algorithms in the fully sparse setting, where the input matrices $A, B$ are themselves sparse. All of our algorithms work over arbitrary rings. Our first, deterministic algorithm for OSMM works via a two-pass reduction to compressed sensing. It runs in roughly $n^{\omega(\delta/2, 1, 1)}$ time, where $\omega(\cdot, \cdot, \cdot)$ is the rectangular matrix multiplication exponent. This substantially improves on prior deterministic algorithms for output-sparse matrix multiplication. Our second, randomized algorithm for OSMM works via a reduction to compressed sensing and a variant of matrix multiplication verification, and runs in roughly $n^{\omega(\delta - 1, 1, 1)}$ time. This algorithm and its extension to the fully sparse setting have running times that match those of the (randomized) algorithms for OSMM and FSMM, respectively, in recent work of Abboud, Bringmann, Fischer, and K\"{u}nnemann (SODA, 2024). Our algorithm uses different techniques and is arguably simpler. Finally, we observe that the running time of our randomized algorithm and the algorithm of Abboud et al. are optimal via a simple reduction from rectangular matrix multiplication.
Similar Papers
(Approximate) Matrix Multiplication via Convolutions
Data Structures and Algorithms
Makes computers multiply big numbers much faster.
Faster Linear Algebra Algorithms with Structured Random Matrices
Data Structures and Algorithms
Makes computer math faster and more accurate.
(Approximate) Matrix Multiplication via Convolutions
Data Structures and Algorithms
Makes computers solve math problems much faster.