Этот исходный код (в Python) представляет собой предварительную реализацию моей квадратичной положительной размножения целочисленного целого числа, которая теоретически доказала его сложности времени и пространства в одной из моих препаратов [1]. Было несколько предложений об оптимизации суббобических алгоритмов с момента импровизации рекурсивной версии Strassen (работа в O (n^log2 (7)) = O (n^2.807)) [2], например, Bini et al. (работает в O (n^2,78)) [3], еще один от Strassen (бег в O (n^2,479)) [4], Coppersmith и Winograd (бег в O (n^2,375)) [5], Уильямс (бег в O (n^2,3729)) [6] и совсем недавно по франкоуису (n^277). Но все они теоретически обоснованы, но не практически реализуются из -за тяжелых структур данных, таких как тензоры. Теоретический фон был показан и доказан на его правильности на основе теоретических методов числа [1]. Файл 'matrix_multiply_test.py' - это в основном файл модульного тестирования, который практически доказывает правильность моего метода. Но метод был разработан и протестирован только для положительных целых чисел, которые могут быть удачно изменены в соответствии с случаями с отрицательными целыми числами, плавающими числами и сложными числами. Фактическая реализация алгоритма была показана в файле 'matrix_multiply_quadratic.py'. Наряду со всем этим, я включил реализацию на основе многопоточной, которая является действительно хорошим примером сотового автомата. Протестированная версия реализации, основанной на CA, показана в 'camatrix_mult_test.py'. Анализ сложности времени был показан в 'Camatrix_mult.py'.
[1] S. Mohapatra, «Служба-теоретичный метод, теоретичный чисел для оптимизации умножения целочисленной матрицы», [Arxiv: 1806.03701], 2018
[2] В. Страссен, «Гауссовое устранение не является оптимальным», число. Математика 13, с. 354-356, 1969
[3] Д. Бини, М. Каповани, Ф. Романи и Г. Лотти. «O (n^2,7799) Сложность для n × n приблизительного умножения матрицы» Inf. Процесс. Lett., Стр. 234–235, 1979
[4] В. Страссен, «Асимптотический спектр тензоров и показатель умножения матрицы», Proc. 27 -я Энн. IEEE симп. О основаниях информатики, с. 49-54, 1984
[5] D. Coppersmith, S. Winograd, «Умножение матрицы посредством арифметических прогрессии». J. Symbolic Comput. С. 251–280, 1980
[6] В. Уильямс, «Умножение матриц быстрее, чем Coppersmith-Winograd». ACM: стр.887–898, 2012
[7] Ф. Ле -Галл, «Сила тензоров и быстрого умножения матрицы», Proc. 39th Int. Симптат о символических и алгебраических вычислениях, 2014