Strassen算法中选择矩阵的背后有更大的图景


17

在Strassen算法中,要计算两个矩阵B的乘积,将矩阵AB划分为2 × 2块矩阵,并且该算法以递归方式计算7个块矩阵矩阵乘积,而不是朴素的8块矩阵-基质的产品,即,如果我们想ç = ,其中 = [ 1 ]  ,  = [ 1 1个1 2 一种一种2×278C=一种 然后,我们有 Ç11=11个11+1

一种=[一种1个1个一种1个2一种21个一种22] , =[1个1个1个221个22] , C=[C1个1个C1个2C21个C22]
这需要8个乘法。相反在Strassen的,我们计算 中号1=1 1 +2 21 1 +2 2
C1个1个=一种1个1个1个1个+一种1个221个C1个2=一种1个1个1个2+一种1个222C21个=一种21个1个1个+一种2221个C22=一种21个1个2+一种2222
8 ,将获得 Ç Ĵ的使用中号ķ的作为 Ç 1 1 =中号1 +中号4 M 5 + M 7
中号1个:=一种1个1个+一种221个1个+22中号2:=一种21个+一种221个1个中号3:=一种1个1个1个2-22中号4:=一种2221个-1个1个中号5:=一种1个1个+一种1个222中号6:=一种21个-一种1个1个1个1个+1个2中号7:=一种1个2-一种2221个+22
C一世Ĵ中号ķ
C1个1个=中号1个+中号4-中号5+中号7C1个2=中号3+中号5C21个=中号2+中号4C22=中号1个-中号2+中号3+中号6
中号ķ一种中号ķ一种一世Ĵ一世Ĵ中号2:=一种21个+一种221个1个一种1个1个1个2+22也要计算。但是,并非如此,因为它可以从其他地方获得中号ķ的。

如果有人可以对此有所启发,我将不胜感激。

Answers:


15

De Groote(关于双线性映射计算的最佳算法的种类。II。2x2矩阵乘法的最佳算法。Theor。Comput。Sci。7:127-148,1978)证明只有一种算法可以乘法 2×2-具有7个乘法的矩阵,直到等价。这可能是2×2-矩阵乘法。(注意:您会在文献中找到Strassen算法的不同变体。它们都等同于正确的等价概念。)

如果您现在开始证明下界 2×2-矩阵乘法-参见Bürgisser,Clausen和Shokrollahi的书如何做到这一点-然后Strassen的算法或某些变体自然出现。您会发现许多确定产品外观的身份。然后,您可以通过一些猜测来完成。(De Groote的证明表明,甚至没有必要进行猜测。)

Schönhage曾经告诉我Strassen曾经告诉他,他通过尝试证明下界以这种方式找到了自己的算法。


11

Bürgisser,Clausen和Shokrollahi撰写的《代数复杂性理论》一书中有某种解释(第11-12页)。这个想法是从两个基础开始一种0一种1个一种2一种301个23 的空间 2×2 满足以下属性的实数矩阵: 一种一世Ĵ{0一种0一种1个一种2一种301个23}。此外,一种0=0。乘以两个矩阵一种,在相应的基础上分别代表它们,并评估产品。由于结果中仅出现七个不同的非零矩阵(一种0=0一种1个一种2一种31个23),只需要七个产品。的中号 矩阵就是这些基础。

我不知道Strassen是否提出了这种研究方式。考虑到快速矩阵乘法算法所基于的其他身份,尚不清楚是否有任何深层次的事情发生,而不是某些公式正在制定中。我们之前曾经历过-拉格朗日使用四平方恒等式(之前已知)证明四平方定理。起初它一定只是一个好奇的代数恒等式,但是现在我们知道它陈述了四元数范数的可乘性。考虑到当前的知识状态,很难判断上述解释是否具有生产力。


3
这样的基数称为M对,请参见Bürgisser,Clausen和Shokrollahi在书中有关最小秩的代数的章节。我认为在不知道Alder-Strassen定理的情况下很难提出M对的想法(再次参见上本书)。尤其是,2×2-矩阵是存在M对的唯一矩阵代数。
MarkusBläser2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.