алгоритм умножения квадратных матриц Из Википедии, свободной энциклопедии
Алгоритм Копперсмита—Винограда — алгоритм умножения квадратных матриц, предложенный в 1987 году Д. Копперсмитом и Ш. Виноградом[англ.]. В исходной версии асимптотическая сложность алгоритма составляла , где — размер стороны матрицы. Алгоритм Копперсмита—Винограда, с учетом серии улучшений и доработок в последующие годы, обладает лучшей асимптотикой среди известных алгоритмов умножения матриц.
На практике алгоритм Копперсмита—Винограда не используется, так как он имеет очень большую константу пропорциональности и начинает выигрывать в быстродействии у других известных алгоритмов только для матриц, размер которых превышает память современных компьютеров.
В 2010 Эндрю Стотерс усовершенствовал алгоритм до [1]
В 2011 году Вирджиния Вильямс[англ.] усовершенствовала алгоритм ещё раз до [2]
В 2014 году Франсуа Ле Галль упростил метод Вильямс и получил новую оценку [3]
В 2020 году Джош Алман и Вирджиния Вильямс улучшили метод снова достигнув оценки [4]
«Even if someone manages to prove one of the conjectures—thereby demonstrating that ω = 2—the wreath product approach is unlikely to be applicable to the large matrix problems that arise in practice. (…) the input matrices must be astronomically large for the difference in time to be apparent.»Le Gall, François (2014), "Powers of tensors and fast matrix multiplication", Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC 2014), arXiv:1401.7714
Henry Cohn, Robert Kleinberg, Balazs Szegedy, and Chris Umans. Group-theoretic Algorithms for Matrix Multiplication. arXiv:math.GR/0511460. Proceedings of the 46th Annual Symposium on Foundations of Computer Science, 23-25 October 2005, Pittsburgh, PA, IEEE Computer Society, pp. 379—388.
Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation, 9:251-280, 1990.