在Strassen算法中,要计算两个矩阵和B的乘积,将矩阵A和B划分为2 × 2块矩阵,并且该算法以递归方式计算7个块矩阵矩阵乘积,而不是朴素的8块矩阵-基质的产品,即,如果我们想ç = 甲乙,其中 甲 = [ 阿1 ] , 乙 = [ 乙1 ,1个乙1 ,2 乙 然后,我们有 Ç1,1=阿1,1个乙1,1+阿1
如果有人可以对此有所启发,我将不胜感激。
在Strassen算法中,要计算两个矩阵和B的乘积,将矩阵A和B划分为2 × 2块矩阵,并且该算法以递归方式计算7个块矩阵矩阵乘积,而不是朴素的8块矩阵-基质的产品,即,如果我们想ç = 甲乙,其中 甲 = [ 阿1 ] , 乙 = [ 乙1 ,1个乙1 ,2 乙 然后,我们有 Ç1,1=阿1,1个乙1,1+阿1
如果有人可以对此有所启发,我将不胜感激。
Answers:
De Groote(关于双线性映射计算的最佳算法的种类。II。2x2矩阵乘法的最佳算法。Theor。Comput。Sci。7:127-148,1978)证明只有一种算法可以乘法 -具有7个乘法的矩阵,直到等价。这可能是-矩阵乘法。(注意:您会在文献中找到Strassen算法的不同变体。它们都等同于正确的等价概念。)
如果您现在开始证明下界 -矩阵乘法-参见Bürgisser,Clausen和Shokrollahi的书如何做到这一点-然后Strassen的算法或某些变体自然出现。您会发现许多确定产品外观的身份。然后,您可以通过一些猜测来完成。(De Groote的证明表明,甚至没有必要进行猜测。)
Schönhage曾经告诉我Strassen曾经告诉他,他通过尝试证明下界以这种方式找到了自己的算法。
Bürgisser,Clausen和Shokrollahi撰写的《代数复杂性理论》一书中有某种解释(第11-12页)。这个想法是从两个基础开始 和 的空间 满足以下属性的实数矩阵: 。此外,。乘以两个矩阵 和 ,在相应的基础上分别代表它们,并评估产品。由于结果中仅出现七个不同的非零矩阵(),只需要七个产品。的 矩阵就是这些基础。
我不知道Strassen是否提出了这种研究方式。考虑到快速矩阵乘法算法所基于的其他身份,尚不清楚是否有任何深层次的事情发生,而不是某些公式正在制定中。我们之前曾经历过-拉格朗日使用四平方恒等式(之前已知)证明四平方定理。起初它一定只是一个好奇的代数恒等式,但是现在我们知道它陈述了四元数范数的可乘性。考虑到当前的知识状态,很难判断上述解释是否具有生产力。