Fast multiplication of matrices over a finitely generated semiring
In this paper we show that n x n matrices with entries from a semiring R which is generated additively by q generators can be multiplied in time O(q(2)n(omega)), where n(omega) is the complexity for matrix multiplication over a ring (Strassen: omega < 2.807, Coppersmith and Winograd: omega < 2.376). We first present a combinatorial matrix multiplication algorithm for the case of semirings with q elements, with complexity O(n(3)/log(q)(2) n), matching the best known methods in this class. Next we show how the ideas used can be combined with those of the fastest known boolean matrix multiplication algorithms to give an O(q(2)n(omega)) algorithm for matrices of, not necessarily finite, semirings, with q additive generators. For finite semirings our combinatorial algorithm is simple enough to be a practical algorithm and is expected to be faster than the O(q(2)n(omega)) algorithm for matrices of practically relevant sizes. (C) 2008 Published by Elsevier B.V.
semirings matrix multiplication