Matrix Multiplication: Difference between revisions

From Algorithm Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:
== Parameters ==  
== Parameters ==  


n: dimension of square matrix
$n$: dimension of square matrix


== Table of Algorithms ==  
== Table of Algorithms ==  
Line 42: Line 42:
| [[Bini's algorithm (Matrix Multiplication Matrix Product)|Bini's algorithm]] || 1979 || O(n2.7799) || O(n2) || O(nlogn) error || Deterministic || [https://doi.org/10.1016/0020-0190(79)90113-3 Time]
| [[Bini's algorithm (Matrix Multiplication Matrix Product)|Bini's algorithm]] || 1979 || O(n2.7799) || O(n2) || O(nlogn) error || Deterministic || [https://doi.org/10.1016/0020-0190(79)90113-3 Time]
|-
|-
| [[Schonhage's algorithm (Matrix Multiplication Matrix Product)|Schonhage's algorithm]] || 1980 || $O(n^{({3}*log52/log110)}) ~ O(n^{2.{521}8})||O(n^{2})$ || ? || Deterministic || [https://epubs.siam.org/doi/abs/10.1137/0210032 Time]
| [[Schonhage's algorithm (Matrix Multiplication Matrix Product)|Schonhage's algorithm]] || 1980 || $O(n^{({3}*\log {52}/l \og {110})}) ~ O(n^{2.{521}8})||O(n^{2})$ || ? || Deterministic || [https://epubs.siam.org/doi/abs/10.1137/0210032 Time]
|-
|-
| [[Output-Sensitive Quantum BMM (Boolean Matrix Multiplication Matrix Product)|Output-Sensitive Quantum BMM]] || 2018 || O*( \min \{n^{1/3} L^{17/{3}0}, n^{1.5} L^{1/4}\}) ||  || Exact || Quantum || [https://dl.acm.org/doi/pdf/10.1145/3186893, Time]
| [[Output-Sensitive Quantum BMM (Boolean Matrix Multiplication Matrix Product)|Output-Sensitive Quantum BMM]] || 2018 || O*( \min \{n^{1/3} L^{17/{3}0}, n^{1.5} L^{1/4}\}) ||  || Exact || Quantum || [https://dl.acm.org/doi/pdf/10.1145/3186893, Time]

Revision as of 09:18, 10 April 2023

Description

Matrix Multiplication or Matrix Product is a binary operation that produces a matrix from two matrices with entries in a field; or; more generally; in a ring or even a semiring.

Related Problems

Subproblem: Boolean Matrix Multiplication, Matrix Product Verification

Related: Boolean Matrix Multiplication (Combinatorial), Matrix Product Verification, Distance Product, (min,) Product

Parameters

n: dimension of square matrix

Table of Algorithms

Name Year Time Space Approximation Factor Model Reference
Naive algorithm 1940 O(n3) O(1) auxiliary Exact Deterministic
Strassen's algorithm 1969 O(n(log7/log2)) O(n2.807) O(n2) Exact Deterministic Time & Space
Pan's algorithm 1978 O(n(log(143640)/log(70))) O(n2.795) O(n2) Exact Deterministic Time
Romani's algorithm 1981 O(n2.51665) O(n2) Exact Deterministic Time
Coppersmith–Winograd algorithm 1981 O(n2.495548) O(n2) Exact Deterministic Time
Strassen's algorithm 1986 O(n(log54/log5)) O(n(2.4785)) O(n2) Exact Deterministic Time
Coppersmith–Winograd algorithm 1990 O(n2.3755) O(n2) Exact Deterministic Time
Vassilevska Williams 2014 O(n2.372873) O(n2) Exact Deterministic Time
François Le Gall 2014 O(n2.3728639) O(n2) Exact Deterministic Time
Bini's algorithm 1979 O(n2.7799) O(n2) O(nlogn) error Deterministic Time
Schonhage's algorithm 1980 O(n(3log52/l\og110)) O(n2.5218) O(n2) ? Deterministic Time
Output-Sensitive Quantum BMM 2018 O*( \min \{n^{1/3} L^{17/{3}0}, n^{1.5} L^{1/4}\}) Exact Quantum Time
2018 O(n3/log2.25n) Exact Deterministic Time
O'Neil 1973 O(n3) Exact Deterministic Time
Method of Four Russians 1970 O(n3/(logn)^{2}) Exact Deterministic Time
Bansal, Williams 2009 O(n3(loglogn)^{2} / log^{2.25} n) Exact Randomized Time
Bansal, Williams 2009 O(n3(loglogn)^{2} / (w * (log n)^{7}/{6})) Exact Randomized Time
Chan 2015 O(n3(loglogn)^{3} / log^{3} n) Exact Deterministic Time
Chan 2015 O(n3(logw)^{3} / (w * log^{2} n)) Exact Deterministic Time
Yu 2015 O(n3poly(loglogn)/log^{4} n) Exact Deterministic Time

Time Complexity Graph

Matrix Product - Matrix Multiplication - Time.png

Space Complexity Graph

Matrix Product - Matrix Multiplication - Space.png

Time-Space Tradeoff

Matrix Product - Matrix Multiplication - Pareto Frontier.png

References/Citation

https://arxiv.org/pdf/2010.05846.pdf