Більше зображення за вибором матриць в алгоритмі Страссена


17

В алгоритмі Страссена для обчислення добутку двох матриць і B матриці A і B діляться на 2 × 2 блок-матриці, і алгоритм протікає рекурсивно, обчислюючи 7 блок-матричних матричних добутків на відміну від наївних 8- матричних блокових матриць- матричні продукти, тобто, якщо ми хочемо C = A B , де A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2ABAB2×278C=AB+ A 1 тоді маємо C 1 , 1 = A 1 , 1 B 1 , 1 , 2 B 2

A=[А1,1А1,2А2,1А2,2] , Б=[Б1,1Б1,2Б2,1Б2,2] , С=[С1,1С1,2С2,1С2,2]
що вимагає8множень. Замість Strassen ми обчислюємо M 1 :=( A 1 , 1 + A 2 , 2 )( B 1 , 1 + B 2
С1,1=А1,1Б1,1+А1,2Б2,1С1,2=А1,1Б1,2+А1,2Б2,2С2,1=А2,1Б1,1+А2,2Б2,1С2,2=А2,1Б1,2+А2,2Б2,2
8 і отримаємо C i , j , використовуючи M k 's як C 1 , 1 = M 1 + M 4 - М 5 + М 7
М1: =(А1,1+А2,2)(Б1,1+Б2,2)М2: =(А2,1+А2,2)Б1,1М3: =А1,1(Б1,2-Б2,2)М4: =А2,2(Б2,1-Б1,1)М5: =(А1,1+А1,2)Б2,2М6: =(А2,1-А1,1)(Б1,1+Б1,2)М7: =(А1,2-А2,2)(Б2,1+Б2,2)
Сi,jМк
C1,1=M1+M4M5+M7C1,2=M3+M5C2,1=M2+M4C2,2=M1M2+M3+M6
MkAB? Also, I would expect Mk's to involve Ai,j's and Bi,j's in a symmetric fashion, which does not seem to be the case here. For instance, we have M2:=(A2,1+A2,2)B1,1. I would expect its counterpart say A1,1(B1,2+B2,2) also to be computed. However, it is not since it can be obtained from other Mk's.

I would appreciate if someone could throw some light on this.

Відповіді:


15

De Groote (Про різновиди оптимальних алгоритмів для обчислення білінеарних відображень. II. Оптимальні алгоритми для матричного множення 2х2. Теор. Обчислення. Наук. 7: 127-148, 1978) доводить, що існує лише один алгоритм множення. 2×2-матриці з 7 множеннями до еквівалентності. Це може бути унікальною особливістю2×2-матричне множення. (Примітка. Ви знайдете різні варіанти алгоритму Страссена в літературі. Всі вони еквівалентні правильному поняттю еквівалентності.)

Якщо ви зараз почнете доводити нижню межу для 2×2-матричне множення - див. книгу Бюргіссера, Клаузена та Шкроллахі, як це зробити - тоді алгоритм Страссена чи якийсь варіант відображається цілком природно. Ви дізнаєтесь багато ідентичності, яка визначає, як виглядають вироби. Тоді можна закінчити деякими здогадками. (Доказ Де Гроота показує, що навіть здогадки не потрібні.)

Один раз Шенхаге сказав мені, що Страссен якось сказав йому, що він знайшов свій алгоритм таким чином, намагаючись довести нижню межу.


11

Існує якесь пояснення в книзі «Алгебраїчна теорія складності» Бюргіссера, Клаузена і Шокроллахі (с. 11-12). Ідея - почати з двох основА0,А1,А2,А3 і Б0,Б1,Б2,Б3 простору 2×2 реальні матриці, які задовольняють такій властивості: АiБj{0,А0,А1,А2,А3,Б0,Б1,Б2,Б3}. Крім того,А0=Б0. Помножити дві матриціА і Б, представити кожну з них у відповідній основі та оцінити продукт. Оскільки в результаті з'являються лише сім різних ненульових матриць (А0=Б0,А1,А2,А3,Б1,Б2,Б3) потрібно лише сім продуктів. TheМ матриці - саме ці основи.

Я не знаю, чи придумав Страссен такий спосіб його погляду. Враховуючи інші тотожності, що лежать в основі алгоритмів множення матриць швидкої матриці, незрозуміло, чи є щось глибше, ніж деякі формули, що розробляються. Ми вже проходили це раніше - Лагранж використовував чотири квадратну тотожність (про яку було відомо раніше), щоб довести теорему чотирьох квадратних. Спочатку це, мабуть, було просто цікавою алгебраїчною ідентичністю, але тепер ми знаємо, що вона констатує властивість мультиплікативності кватерніонної норми. З огляду на сучасний стан знань, важко сказати, чи є вищезазначене тлумачення настільки продуктивним.


3
Такі бази називаються парами М, див. Главу про алгебри мінімального рангу в книзі Бюргіссера, Клаузена та Шокроллахі. Я думаю, що досить важко придумати думку, що M-пари існують, не знаючи теореми Альдера-Страссена (див. Знову книгу вище). Зокрема,2×2-матриці - єдина алгебра матриці, для якої існує пара М.
Маркус Блазер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.