執行 矩陣乘法 通常所需的標量運算數(即,加法和乘法的總數)是
|
(1)
|
(即, 次乘法和
次加法)。然而,Strassen (1969) 發現瞭如何用
|
(2)
|
次標量運算來乘兩個 矩陣,其中 是以 2 為底的 對數,這小於
,當
時。對於
為 2 的冪次方 (
),(2) 的兩部分可以寫成
|
(3)
| |||
|
(4)
| |||
|
(5)
| |||
|
(6)
| |||
|
(7)
| |||
|
(8)
| |||
|
(9)
| |||
|
(10)
| |||
|
(11)
| |||
|
(12)
|
因此 (◇) 變為
|
(13)
|
對於 2 的冪次方,Strassen 演算法的領先指數因此為 。
下表總結了 Coppersmith 和 Winograd (1990) 的構造在 次冪的領先指數
中已證明的極限的改進(參見 Le Gall 2014,表 I)。
| 上限 | 參考文獻 | |
| 1 | 2.3871900 | Coppersmith 和 Winograd (1990) |
| 2 | 2.3754770 | Coppersmith 和 Winograd (1990) |
| 4 | 2.3736898 | Strothers (2010), Davie 和 Strothers (2013) |
| 4 | 2.3729269 | Vassilevska Williams (2012) |
| 8 | 2.3729 | Vassilevska Williams (2014) |
| 8 | 2.3728642 | Le Gall (2014) |
| 16 | 2.3728640 | Le Gall (2014) |
| 32 | 2.3728639 | Le Gall (2014) |
使用 Strassen 乘法, 矩陣可以相乘
|
(14)
|
|
(15)
|
僅需
|
(16)
|
次標量運算(結果表明,其中七次是乘法,18 次是加法)。定義七個乘積(總共涉及 10 次加法)為
|
(17)
| |||
|
(18)
| |||
|
(19)
| |||
|
(20)
| |||
|
(21)
| |||
|
(22)
| |||
|
(23)
|
然後,使用剩餘的八次加法,矩陣乘積給出為
|
(24)
| |||
|
(25)
| |||
|
(26)
| |||
|
(27)
|
(Strassen 1969, Press et al. 1989)。
一個 矩陣
的矩陣求逆以產生
也可以用比預期更少的操作完成,使用以下公式
|
(28)
| |||
|
(29)
| |||
|
(30)
| |||
|
(31)
| |||
|
(32)
| |||
|
(33)
| |||
|
(34)
| |||
|
(35)
| |||
|
(36)
| |||
|
(37)
| |||
|
(38)
|
(Strassen 1969, Press et al. 1989)。
不幸的是,Strassen 演算法的數值表現不佳。它只是弱穩定,即,計算結果 滿足不等式
|
(39)
|
其中 是單位舍入誤差,而相應的強穩定性不等式(透過用矩陣元素的絕對值替換矩陣範數獲得)不成立。