We show that the product of an nx3 matrix and a 3x3 matrix over a commutative ring can be computed using 6n+3 multiplications. For two 3x3 matrices this gives us an algorithm using 21 multiplications. This is an improvement with respect to Makarov algorithm using 22 multiplications[10]. We generalize our result for nx3 and 3x3 matrices and present an algorithm for computing the product of an lxn matrix and an nxm matrix over a commutative ring for odd n using n(lm+l+m-1) 2 multiplications if m is odd and using (n(lm+l+m-1)+l-1) 2 multiplications if m is even. Waksman algorithm for odd n needs (n-1)(lm+l+m-1) 2+lm multiplications[16], thus in both cases less multiplications are required by our algorithm.
Hopcroft and Musinski showed in @cite_16 that the number of multiplications to compute the product of an @math matrix and an @math matrix is the same number that is required to compute the product of an @math matrix and an @math matrix and of an @math matrix and an @math matrix etc. This means if one computes an algorithm for the product of an @math matrix and an @math matrix using @math multiplications there exists a matrix product algorithm for @math matrices using @math multiplications overall. This algorithm for square matrices will then have an exponent of @math .
@cite_16
2053839977
The paper considers the complexity of bilinear forms in a noncommutative ring. The dual of a computation is defined and applied to matrix multiplication and other bilinear forms. It is shown that the dual of an optimal computation gives an optimal computation for a dual problem. An @math by @math matrix product is shown to be the dual of an @math by @math or an @math by @math matrix product, implying that each of the matrix products requires the same number of multiplications to compute. Finally, an algorithm for computing a single bilinear form over a noncommutative ring with a minimum number of multiplications is derived by considering a dual problem.