Matrix Multiplication with Less Arithmetic Complexity and IO Complexity
After Strassen presented the first sub-cubic matrix multiplication algorithm, many Strassen-like algorithms are presented. Most of them with low asymptotic cost have large hidden leading coefficient which are thus impractical. To reduce the leading coefficient, Cenk and Hasan give a general approach reducing the leading coefficient of <2,2,2;7>-algorithm to 5 but increasing IO complexity. In 2017, Karstadt and Schwartz also reduce the leading coefficient of <2,2,2;7>-algorithm to 5 by the Alternative Basis Matrix Multiplication method. Meanwhile, their method reduces the IO complexity and low-order monomials in arithmetic complexity. In 2019, Beniamini and Schwartz generalize Alternative Basis Matrix Multiplication method reducing leading coefficient in arithmetic complexity but increasing IO complexity. In this paper, we propose a new matrix multiplication algorithm which reduces leading coefficient both in arithmetic complexity and IO complexity. We apply our method to Strassen-like algorithms improving arithmetic complexity and IO complexity (the comparison with previous results are shown in Tables 1 and 2). Surprisingly, our IO complexity of <3,3,3;23>-algorithm is 14n^log_323M^-1/2 + o(n^log_323) which breaks Ballard's IO complexity low bound (Ω(n^log_323M^1-log_323/2)) for recursive Strassen-like algorithms.
READ FULL TEXT