Matrix Multiplication

From Algorithm Wiki
Jump to navigation Jump to search

Problem Description

Matrix multiplication or multiplication of matrices is one of the operations that can be performed on matrices in linear algebra. Multiplication of matrix A with matrix B is possible when both the given matrices, A and B are compatible. Matrix multiplication is a binary operation, that gives a matrix from two given matrices.

Matrix multiplication was first introduced in 1812 by French mathematician Jacques Philippe Marie Binet, in order to represent linear maps using matrices. Let us understand the rule for multiplication of matrices and matrix multiplication formula in detail in the following sections.

Bounds Chart

Matrix MultiplicationBoundsChart.png

Step Chart

Matrix MultiplicationStepChart.png

Improvement Table

Complexity Classes Algorithm Paper Links Lower Bounds Paper Links
Exp/Factorial
Polynomial > 3
Cubic [- Naive algorithm (1940)]

Strassen's algorithm (1969) (1969)

Pan's algorithm (1978)

Bini's algorithm (1979)

Schonhage's algorithm (1980)

Romani's algorithm (1980)

Coppersmith–Winograd algorithm (1981)

[ Strassen's algorithm (1986) (1986)]

Coppersmith–Winograd algorithm (1990) (1990)

Williams 2014 (2014)

François Le Gall 2014 (2014)

Quadratic
nlogn
Linear
logn