Let A and B two nxn matrices over a ring R (e.g., the reals or the integers) each containing at most m non-zero elements. We present a new algorithm that multiplies A and B using O(m~(0.7)n~(1.2) + n~((2+o)(1))) algebraic operations (i.e., multiplications, additions and subtractions) over R. For m < n1'14, the new algorithm performs an almost optimal number of only n~(2+o(1)) operations. For m ≤ n~(1.68), the new algorithm is also faster than the best known matrix multiplication algorithm for dense matrices which uses O(n~(2.38)) algebraic operations. The new algorithm is obtained using a surprisingly straightforward combination of a simple combinatorial idea and existing fast rectangular matrix multiplication algorithms. We also obtain improved algorithms for the multiplication of more than two sparse matrices. As the known fast rectangular matrix multiplication algorithms are far from being practical, our result, at least for now, is only of theoretical value.
展开▼