Как доказать, что матричное умножение двух матриц 2x2 не может быть выполнено менее чем за 7 умножений?


19

В матричном умножении Штрассена мы констатируем один странный (по крайней мере для меня) факт, что умножение матрицы на два 2 x 2 требует 7 умножения.

Вопрос: Как доказать, что невозможно умножить две матрицы 2 x 2 на 6 умножений?

Обратите внимание, что матрицы над целыми числами.


Есть другие алгоритмы умножения матриц, которые могут быть быстрее. Эта веб-статья из класса Stanford CME 323 содержит подробности об алгоритме Штрассена, Матричном умножении: алгоритм Штрассена . Есть тема в Википедии, алгоритм Штрассена, который углубляется в детали и содержит ссылки на дополнительную информацию.
Ричард Чамберс

@RichardChambers Обратите внимание, что алгоритм Штрассена имеет умножений. Мне кажется правдоподобным, что эта нижняя граница верна. 7
Стелла Бидерман

Как сформулирован этот вопрос неверен. Существует множество матриц, которые можно умножить на умножений. Вы хотите запросить доказательство того, что в худшем случае требуется 7, то есть существует некоторая матрица, которая требует 76
Стелла Бидерман

@StellaBiderman да, я видел, что у Штрассена есть 7 умножений. Я не смотрел на другие, более быстрые и алгоритмы с меньшей сложностью. Из того, что я могу сказать, они используют тот же субматричный подход, что и Штрассен, но я не уверен. Я просто добавляю дополнительную информацию о Штрассене.
Ричард Чемберс

5
Кажется, в вашем вопросе чего-то не хватает. Я легко могу дать алгоритм, который может умножить хотя бы несколько матриц на 0 умножений. Вероятно, есть ограничение, которое вы не упоминаете.
Йорг Миттаг

Ответы:


23

Это классический результат Винограда: О умножении матриц 2х2 .

Штрассен показал, что показатель степени умножения матриц совпадает с показателем степени тензора ранг тензоров умножения матриц: алгебраическая сложность умножения матриц равна тогда и только тогда, когда ранг тензоров равен (тензор умножения матриц, соответствующий умножению двух матриц) - это . Алгоритм Штрассена использует простое направление, чтобы вывести из верхней границы .О ( п α ) п , п , п п × п O ( п α ) О ( п войти 2 7 ) R ( 2 , 2 , 2 ) 7n×nO(nα)n,n,nn×nO(nα)O(nlog27)R(2,2,2)7

Из результата Винограда следует, что . Ландсберг показал, что граничный ранг также равен 7, и Bläser et al. недавно расширил это, чтобы поддержать ранг и границу поддержки ранга. Пограничный ранг и поддержка ранг является более слабым (= меньшим) понятием ранга , которые были использованы (в случае пограничного ранга) или предлагаемый (в случае поддержки ранга) в алгоритмах умножения быстрых матриц.2 , 2 , 2 R(2,2,2)=72,2,2


7

Вы можете найти результат по адресу:

С. Виноград, О умножении матриц 2 × 2 , Линейная алгебра и Appl. 4 (1971), 381–388, MR0297115 (45: 6173).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.