It is widely known that the lower bound for the algorithmic complexity of square matrix multiplication resorts to at least $n^2$ arithmetic operations. The justification builds upon the following reasoning: given that there are $2 n^2$ numbers in the input matrices, any algorithm necessarily must operate on each at least once. In this paper, we show that this is not necessarily the case for certain instances of the problem, for instance matrices with natural number entries. We present an algorithm performing a single multiplication and $(n - 1)$ sums, therefore using n arithmetic operations. The ingenuity of the approach relies on encoding the original $2n^2$ elements as two numbers of much greater magnitude. Thus, though processing each of the inputs at least once, it relies on a lower count of arithmetic operations. In the computational model used to analyze this problem, such encoding operation is not available, thus it is not clear this work affects the currently accepted complexity results for matrix multiplication, but the new algorithm complexity (when taking into account the encodings) is $3n^2 + 2n - 1$ operations. In addition, given the exponential increase in multiplication operands magnitude, its practical usage is constrained to certain instances of the problem. Nonetheless, this work presents a novel mathematically inspired algorithm while pointing towards an alternative research path, which opens the possibility of novel algorithms and a taxonomy of matrix multiplications and associated complexities.
翻译:暂无翻译