Because matrix multiplication is such a central operation in many numerical algorithms, much work has been invested in making matrix multiplication algorithms efficient. Applications of matrix multiplication in computational problems are found in many fields including scientific computing and pattern recognition and in seemingly unrelated problems such as counting the paths through a graph.[1] Many different algorithms have been designed for multiplying matrices on different types of hardware, including parallel and distributed systems, where the computational work is spread over multiple processors (perhaps over a network).
Directly applying the mathematical definition of matrix multiplication gives an algorithm that takes time on the order of n3 field operations to multiply two n × n matrices over that field (Θ(n3) in big O notation). Better asymptotic bounds on the time required to multiply matrices have been known since the Strassen's algorithm in the 1960s, but the optimal time (that is, the computational complexity of matrix multiplication) remains unknown. As of April 2024[update], the best announced bound on the asymptotic complexity of a matrix multiplication algorithm is O(n2.371552) time, given by Williams, Xu, Xu, and Zhou.[2][3] This improves on the bound of O(n2.3728596) time, given by Alman and Williams.[4][5] However, this algorithm is a galactic algorithm because of the large constants and cannot be realized practically.
^Cite error: The named reference skiena was invoked but never defined (see the help page).
^
Williams, Virginia Vassilevska; Xu, Yinzhan; Xu, Zixuan; Zhou, Renfei (2024), New Bounds for Matrix Multiplication: from Alpha to Omega, arXiv:2307.07970
Because matrixmultiplication is such a central operation in many numerical algorithms, much work has been invested in making matrixmultiplication algorithms...
complexity of matrixmultiplication dictates how quickly the operation of matrixmultiplication can be performed. Matrixmultiplicationalgorithms are a central...
in linear algebra, matrixmultiplication is a binary operation that produces a matrix from two matrices. For matrixmultiplication, the number of columns...
Strassen algorithm, named after Volker Strassen, is an algorithm for matrixmultiplication. It is faster than the standard matrixmultiplicationalgorithm for...
denotes the n-by-n identity matrix and the multiplication used is ordinary matrixmultiplication. If this is the case, then the matrix B is uniquely determined...
Matrix chain multiplication (or the matrix chain ordering problem) is an optimization problem concerning the most efficient way to multiply a given sequence...
space) Strassen algorithm (algorithm for matrixmultiplication that is faster than the conventional matrixmultiplicationalgorithm) Eves, Howard (1980)...
bounds on cap sets imply lower bounds on certain types of algorithms for matrixmultiplication. The Games graph is a strongly regular graph with 729 vertices...
sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocks (PDF). ACM Symp. on Parallelism in Algorithms and Architectures...
then the inverse of the example matrix should be used, which coincides with its transpose. Since matrixmultiplication has no effect on the zero vector...
peasant multiplicationalgorithm, does not. The example below illustrates "long multiplication" (the "standard algorithm", "grade-school multiplication"):...
variety of multiplicationalgorithms, M ( n ) {\displaystyle M(n)} below stands in for the complexity of the chosen multiplicationalgorithm. This table...
dimensions m×q, and will require m*n*q scalar multiplications (using a simplistic matrixmultiplicationalgorithm for purposes of illustration). For example...
and practical. The n × n orthogonal matrices form a group under matrixmultiplication, the orthogonal group denoted by O(n), which—with its subgroups—is...
triangular matrix. The convolution operation can be constructed as a matrixmultiplication, where one of the inputs is converted into a Toeplitz matrix. For...
The matrix method is as efficient as the equivalent recursion, with two multiplications and two additions per step of the Euclidean algorithm. Bézout's...
modular multiplicative inverse of b modulo a. Similarly, the polynomial extended Euclidean algorithm allows one to compute the multiplicative inverse...
brute-force matrixmultiplication (which needs O ( n 3 ) {\displaystyle O(n^{3})} multiplications) was the Strassen algorithm: a recursive algorithm that needs...
include: fast large-integer multiplicationalgorithms and polynomial multiplication, efficient matrix–vector multiplication for Toeplitz, circulant and...
randomization and is based on the fast matrix multiplicationalgorithm. This gives a randomized algorithm for general graphs with complexity O ( V 2.376...
In numerical linear algebra, the tridiagonal matrixalgorithm, also known as the Thomas algorithm (named after Llewellyn Thomas), is a simplified form...
mathematics, the Bareiss algorithm, named after Erwin Bareiss, is an algorithm to calculate the determinant or the echelon form of a matrix with integer entries...
"Simple, Fast and Practicable Algorithms for Cholesky, LU and QR Decomposition Using Fast Rectangular MatrixMultiplication". arXiv:1812.02056 [cs.NA]....