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

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

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

このとき、

の関係が成り立つ。

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

脚注

編集
  1. ^ a b 奥村晴彦『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 . #近似計算法

解説記事

編集
  • Huang, J., Smith, T. M., Henry, G. M., & van de Geijn, R. A. (2016, November). Strassen's algorithm reloaded. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (p. 59). IEEE Press.
  • Gates, A. Q., & Kreinovich, V. (2001). Strassen's Algorithm Made (Somewhat) More Natural: A Pedagogical Remark. Bulletin of the EATCS, 73, 142-145.
  • Grochow, J. A., & Moore, C. (2017). Designing Strassen's algorithm. arXiv preprint arXiv:1708.09398.
  • Ikenmeyer, C., & Lysikov, V. (2017). Strassen's 2x2 matrix multiplication algorithm: A conceptual perspective. arXiv preprint arXiv:1708.08083.

精度保証付き数値計算

編集

📚 Artikel Terkait di Wikipedia

行列の乗法

doi:10.1145/509907.509932. Robinson, Sara, Toward an Optimal Algorithm for Matrix Multiplication, SIAM News 38(9), November 2005. PDF Strassen, Volker, Gaussian

楕円曲線DSA

Curve Digital Signature Algorithm、Elliptic Curve DSA、楕円DSA、ECDSA)は、楕円曲線暗号における離散対数問題を用いたデジタル署名の一種であり、Digital Signature Algorithm (DSA) の強化版の一つである。

大石進一

(2012). Error-free transformations of matrix multiplication by using fast routines of matrix multiplication and its applications. Numerical Algorithms,

プレスバーガー算術

ロビンソン算術 Cooper, D. C., 1972, "Theorem Proving in Arithmetic without Multiplication" in B. Meltzer and D. Michie, eds., Machine Intelligence Vol. 7. Edinburgh

楕円曲線暗号

={\frac {-3x_{1}^{3}-\alpha x_{1}+2y_{1}^{2}}{2y_{1}}}.} スカラー倍算(Scalar Multiplication)は楕円曲線上における掛け算である。楕円曲線上の点と点を掛けるのではなく、点に整数(スカラー)を掛けることに注意。 E {\displaystyle

ブースの乗算アルゴリズム

id=10Pi0MRbaOYC&pg=PA234&redir_esc=y&hl=ja  Andrew D. Booth. A signed binary multiplication technique. The Quarterly Journal of Mechanics and Applied Mathematics

除算 (デジタル)

 311–323. ISBN 0-387-18047-8. ^ Division by Invariant Integers using Multiplication Torbjörn Granlund and Peter L. Montgomery. ACM SIGPLAN Notices Vol 29

離散フーリエ変換 (一般)

(複素関数における)離散フーリエ変換 ガウス和 畳み込み Multiplication algorithm 高速フーリエ変換(FFT) フーリエ級数 フーリエ変換 Z変換 直交関数系 離散時間フーリエ変換 ^ a b c Martin Fürer, "Faster Integer Multiplication", STOC 2007