コンテンツにスキップ

シュトラッセンのアルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』

シュトラッセンのアルゴリズム(Strassen algorithm)は、行列の積を高速に計算するアルゴリズムである。通常、行列同士の積を計算するにはの時間が必要だが、このアルゴリズムを用いると、の時間で計算できる[1]1969年フォルカー・シュトラッセンが開発した[1][2]

便宜上、を偶数と考えて、以下のように部分行列に分解する。

そして、以下の七つの行列をつくる。

このとき、

の関係が成り立つ。

この関係を利用して計算すると、部分行列同士の乗算が、通常の方法では8回必要なのに、この方法では7回ですむようになり、計算時間が削減される。部分行列への分割を再帰的に行うことにより、さらに計算時間を削減することができる。


その後、多くの研究者がNの指数2.807を下げる研究を進めた(ただし小さい指数は巨大なNに対してのものになる)。

指数     : 発表年 :著者
2.81  : 1969  : Strassen
2.79  : 1979  : Pan
2.78  : 1979  : Bini, Capovani, Romani and Lotti
2.55  : 1981  : Schōnhage
2.53  : 1981  : Pan
2.52  : 1982  : Romani
2.50  : 1982  : Coppersmith and Winograd
2.48  : 1986  : Strassen
2.376  : 1987  : Coppersmith and Winograd
2.374  : 2010  : Stothers
2.3729  : 2012  : Vassilevska Williams
2.3728639  : 2014  : Le Gall


脚注

[編集]
  1. 1 2 奥村晴彦『C言語による最新アルゴリズム事典』技術評論社、1991年、51頁。ISBN 4-87408-414-1
  2. Strassen, Volker, Gaussian Elimination is not Optimal, Numer. Math. 13, p. 354-356, 1969

関連文献

[編集]
  • Ushiro, Y. (1998). An extension of Strassen's algorithm on matrix multiplication, Hitachi, Ltd. General Purpose Computer Division.
  • Don Coppersmith and Shmuel Winograd: "Matrix multiplication via arithmetic progressions", J. Symbolic Computation, Vol.9 No.3 (1990), pp.251-280. # 漸近的な多項式オーダーの次数ωは2.375477未満。
  • Virginia Vassilevska Williams: "Multiplying matrices faster than Coppersmith-Winograd", Proceedings of the Forty-Fourth Annual ACM Symposium on Theory of Computing (2012), pp. 887-898.
  • Roser Homs, Joachim Jelisiejew, Mateusz Michałek and Tim Seynnaeve: "Bounds on complexity of matrix multiplication away from Coppersmith–Winograd tensors", Journal of Pure and Applied Algebra, Vol. 226, No. 12, (Dec. 2022), p.107142.
  • Davis Blalock and John Guttag: "Multiplying Matrices Without Multiplying", https://doi.org/10.48550/arXiv.2106.10860 . #近似計算法
  • Jerzy S. Respondek: "Fast Matrix Multiplication with Applications", Springer, ISBN 978-3-031-76929-0 (2025).

解説記事

[編集]

精度保証付き数値計算

[編集]