2025-11-27T11:04:19.442540

A non-commutative algorithm for multiplying 4x4 matrices using 48 non-complex multiplications

Dumas, Pernet, Sedoglavic
The quest for non-commutative matrix multiplication algorithms in small dimensions has seen a lot of recent improvements recently. In particular, the number of scalar multiplications required to multiply two $4\times4$ matrices was first reduced in \cite{Fawzi:2022aa} from 49 (two recursion levels of Strassen's algorithm) to 47 but only in characteristic 2 or more recently to 48 in \cite{alphaevolve} but over complex numbers. We propose an algorithm in 48 multiplications with only rational coefficients, hence removing the complex number requirement. It was derived from the latter one, under the action of an isotropy which happen to project the algorithm on the field of rational numbers. We also produce a straight line program of this algorithm, reducing the leading constant in the complexity, as well as an alternative basis variant of it, leading to an algorithm running in $7 n^{2+\frac{\log_2 3}{2}} +o\left(n^{2+\frac{log_2 3}{2}}\right)$ operations over any ring containing an inverse of 2.
academic

非可換アルゴリズムによる4×4行列乗算:48個の非複素数乗算を用いた実装

基本情報

  • 論文ID: 2506.13242
  • タイトル: A non-commutative algorithm for multiplying 4×4 matrices using 48 non-complex multiplications
  • 著者: Jean-Guillaume Dumas、Clément Pernet、Alexandre Sedoglavic
  • 所属機関: グルノーブル・アルプス大学(Dumas & Pernet)、リール大学(Sedoglavic)
  • 分類: cs.SC(記号計算)
  • 発表日: 2025年11月27日(arXiv プレプリント)
  • 論文リンク: https://arxiv.org/abs/2506.13242

要約

本論文は、4×4行列乗算を48回のスカラー乗算で計算する非可換アルゴリズムを提案している。本アルゴリズムは有理数係数のみを使用し、複素数を必要としない。これはAlphaEvolve11が提案した複素数域アルゴリズムの改善であり、等方性変換(isotropy)を通じて有理数域に投影されたものである。論文はまた直線プログラム(straight-line program)実装を提供し、2の逆元を含む任意の環上で7n2+log232+o(n2+log232)7n^{2+\frac{\log_2 3}{2}} + o(n^{2+\frac{\log_2 3}{2}})の演算複雑度を実現する代替基変体を示している。

研究背景と動機

問題背景

  1. 中心的課題: 小次元行列乗算の最適な非可換アルゴリズムを探索すること、特に必要なスカラー乗算の回数を削減すること。行列乗算はコンピュータ科学と数値計算の基本演算であり、その効率は多くのアプリケーションのパフォーマンスに直接影響する。
  2. 重要性:
    • 行列乗算の時間複雑度は線形代数計算、機械学習、科学計算などの分野の効率に直接影響する
    • Strassen アルゴリズム(1969)は複雑度を初めてO(n3)O(n^3)からO(n2.81)O(n^{2.81})に低下させ、高速行列乗算研究の時代を開いた
    • 小次元行列乗算アルゴリズムは大規模行列への再帰的適用を通じて実用的価値を持つ
  3. 既存手法の限界:
    • Strassen アルゴリズムは4×4行列上で49回の乗算が必要(2層の再帰)
    • Fawzi等5は標数2の体上で47回の乗算を実現した
    • AlphaEvolve11は大規模言語モデルと進化的コーディングエージェントを使用して48回の乗算アルゴリズムを発見したが、複素数係数が必要である
    • 複素数係数は整数環や有限体などの特定の環上でのアルゴリズム適用を制限する
  4. 研究動機:
    • 複素数要件を排除し、より広範な代数構造上でアルゴリズムを適用可能にする
    • テンソル分解理論における対称性(等方性群作用)を利用して系統的にアルゴリズムを変換する
    • 実用的な直線プログラム実装を提供し、定数項を最適化する

核心的貢献

  1. 主要な理論的貢献: AlphaEvolve アルゴリズムの等方性軌道(isotropy orbit)に有理数点が存在することを証明し、48回の乗算を持つ純粋な有理数係数アルゴリズムを提案した
  2. 方法論的貢献: テンソル分解の等方性群理論を系統的に適用し、等方性変換(式24)を通じて複素数域アルゴリズムを有理数域に投影する
  3. 実用的貢献:
    • 完全な直線プログラム実装(リスト1-4)を提供し、合計341個の演算を実現
    • 理論的複雑度界は11.65625n2.79210.65625n211.65625n^{2.792} - 10.65625n^2
    • 代替基変体を提供し、わずか6個の演算(1+2+3)で7n2.7927n^{2.792}の複雑度を実現
  4. 汎用性: アルゴリズムは2の逆元を含む任意の環に適用可能であり、適用範囲を拡張する
  5. オープンソース実装: すべての行列とコードはPLinOptライブラリで公開されている

方法の詳細

タスク定義

入力: 2つの4×4行列A=(aij)A = (a_{ij})B=(bij)B = (b_{ij})、要素は12\frac{1}{2}を含む環RRから取得
出力: 積行列C=AB=(cij)C = A \cdot B = (c_{ij})
制約: スカラー乗算の回数を最小化し、有理数係数のみを使用(複素数を回避)

理論的枠組み:テンソル分解表現

1. 双線形写像のテンソル表現

行列乗算は双線形写像として表現できる: βmm:Rm×k×Rk×nRm×n,(A,B)AB\beta_{mm}: R^{m \times k} \times R^{k \times n} \rightarrow R^{m \times n}, \quad (A, B) \mapsto A \cdot B

この写像はテンソル空間(Rm×k)(Rk×n)Rm×n(R^{m \times k})^* \otimes (R^{k \times n})^* \otimes R^{m \times n}のテンソル分解として符号化される: T=i=1rMiNiOiT = \sum_{i=1}^r M_i \otimes N_i \otimes O_i

ここで:

  • rrテンソルランク(tensor rank)であり、必要なスカラー乗算の回数に対応する
  • (Mi,Ni,Oi)(M_i, N_i, O_i)はランク1テンソルである
  • 三線形表現はTrace(OiTMiNi)\text{Trace}(O_i^T \cdot M_i \cdot N_i)である

2. Strassen アルゴリズムのテンソル表現

Strassen の2×2行列乗算アルゴリズム(7回の乗算)はテンソルランク7の分解に対応し、型はX2Y2Z2+6XYZX^2Y^2Z^2 + 6XYZである。

3. 等方性群作用(Isotropy Group Action)

定理2.1: 行列乗算テンソルの等方性群は: psl±(Rm)×psl±(Rk)×psl±(Rn)S3\text{psl}_{\pm}(R^m) \times \text{psl}_{\pm}(R^k) \times \text{psl}_{\pm}(R^n) \rtimes S_3

定義2.2: 等方性g=(U×V×W)g = (U \times V \times W)がランク1テンソルABCA \otimes B \otimes Cに作用する方法は: (UTAVT)(VTBWT)(WTCUT)(U^{-T} \cdot A \cdot V^T) \otimes (V^{-T} \cdot B \cdot W^T) \otimes (W^{-T} \cdot C \cdot U^T)

これはテンソルランクを保持するが、係数を変更する。

核心的なアルゴリズム構成

重要な等方性変換

本論文の核心的な革新は特定の等方性変換(式24)を発見することである: [I00I01I00I101001][I0010II00II0I001][1000010000100001]\begin{bmatrix} I & 0 & 0 & I \\ 0 & 1 & I & 0 \\ 0 & -I & -1 & 0 \\ -1 & 0 & 0 & 1 \end{bmatrix} \otimes \begin{bmatrix} I & 0 & 0 & 1 \\ 0 & -I & -I & 0 \\ 0 & -I & I & 0 \\ -I & 0 & 0 & 1 \end{bmatrix} \otimes \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

ここでIIは虚数単位である。

有理数係数テンソル分解

上記の等方性を適用した後、48個のランク1テンソルの分解(式25-72)が得られ、各形式は: mi=(j,kαjk(i)ajk)(j,kβjk(i)bjk)(j,kγjk(i)cjk)m_i = \left(\sum_{j,k} \alpha_{jk}^{(i)} a_{jk}\right) \otimes \left(\sum_{j,k} \beta_{jk}^{(i)} b_{jk}\right) \otimes \left(\sum_{j,k} \gamma_{jk}^{(i)} c_{jk}\right)

主要な特性

  • すべての係数α,β,γ{1,12,0,12,1}\alpha, \beta, \gamma \in \{-1, -\frac{1}{2}, 0, \frac{1}{2}, 1\}(有理数)
  • テンソル型は16X2Y2Z2+32XYZ16X^2Y^2Z^2 + 32XYZ(16個のランク2×2×2、32個のランク1×1×1)
  • 分母は2、4、8の累乗のみを含む

例:最初の乗算項

m1=14(i,j(1)i+j+1aij)(b31+b41)(cterms)m_1 = \frac{1}{4}\left(\sum_{i,j} (-1)^{i+j+1} a_{ij}\right) \otimes (b_{31} + b_{41}) \otimes \left(\sum c_{terms}\right)

LRP 行列表現

アルゴリズムは3つの行列(L,R,P)(L, R, P)でコンパクトに表現できる:

  • LR48×16L \in R^{48 \times 16}: AAの要素から48個の左オペランドへの線形変換
  • RR48×16R \in R^{48 \times 16}: BBの要素から48個の右オペランドへの線形変換
  • PR16×48P \in R^{16 \times 48}: 48個の積からCCの要素への線形変換

計算フロー:vec(C)=P(Lvec(A)Rvec(B))\text{vec}(C) = P \cdot (L \cdot \text{vec}(A) \odot R \cdot \text{vec}(B))

ここで\odotは要素ごとの乗算(Hadamard積)を表す。

技術的革新点

  1. 対称性の系統的利用: 試行錯誤的な探索ではなく、安定化部分群(C2×D4)C2(C_2 \times D_4) \rtimes C_2と理論的指導による推測を利用して等方性変換を発見する
  2. 複素数から有理数への投影: 高次元複素数空間で発見されたアルゴリズムを有理数部分空間に投影できることを証明し、これは非自明な結果である
  3. 直線プログラムの最適化:
    • PLinOptツールを使用して最適化された直線プログラムを自動生成
    • 核分解(kernel decomposition)を通じて演算回数を削減
    • RR行列の係数が単純であっても、最適なSLPは非自明な乗算が必要な場合がある
  4. 代替基法: 基変換(change of basis)を通じてさらに簡略化し、演算を336個に削減(元の341個と比較)

実験設定

実装ツール

  • PLinOptライブラリ: 線形および双線形プログラムの最適化を処理するC++ルーチン集合
  • コード規模: 約8.09 kSLOC(千行のソースコード)
  • オープンソース: すべての行列とコードはGitHubで公開

データファイル

アルゴリズムの異なる表現は以下のように保存される:

  • 4x4x4_48_rational_L.sms_R.sms_P.sms: 標準LRP表現
  • 4x4x4_48_rational-ALT_*.sms: 代替基表現
  • 4x4x4_48_rational-CoB_*.sms: 基変換行列

評価指標

  1. テンソルランク: 必要なスカラー乗算の回数(48)
  2. 演算総数: 加算とシフト演算の総数
  3. 漸近複雑度: O(nlog43)O(n2.792)O(n^{\log_4 3}) \approx O(n^{2.792})
  4. 定数項: 主導定数と低次項の係数

実験結果

主要な結果

標準直線プログラム(リスト1-4)

演算の分解

  • LL行列:104回の加算
  • RR行列:84回の加算 + 1回の乗算(2進シフト)
  • PP行列:119回の加算 + 33回の乗算(2進シフト)
  • 合計:341個の演算

複雑度界(1+3414816)n2+log4334132n211.65625n2.79210.65625n2\left(1 + \frac{341}{48-16}\right)n^{2+\log_4 3} - \frac{341}{32}n^2 \approx 11.65625n^{2.792} - 10.65625n^2

代替基変体(付録C)

演算の分解

  • LaltL_{alt}:1回の加算
  • RaltR_{alt}:2回の加算
  • PaltP_{alt}:3回の加算
  • 合計:6個の演算

基変換のコスト

  • CoB_L:103回の加算
  • CoB_R:79回の加算 + 5回の乗算
  • CoB_P:116回の加算 + 33回の乗算
  • 合計:336個の演算

複雑度界7n2.792+33631(nlog447n2)=7n2.792+o(n2.792)7n^{2.792} + \frac{336}{31}(n^{\log_4 47} - n^2) = 7n^{2.792} + o(n^{2.792})

既存手法との比較

手法乗算回数係数体適用可能な環複雑度定数
Strassen (2層)49有理数任意-
Fawzi et al. 547有理数標数2-
AlphaEvolve 1148複素数複素数体-
本論文(標準)48有理数12\frac{1}{2}を含む環11.66
本論文(代替基)48有理数12\frac{1}{2}を含む環7.00

主要な発見

  1. 存在性の証明: AlphaEvolve アルゴリズムの等方性軌道に有理数点が実際に存在することを証明し、これは自明ではない
  2. 係数の簡潔性: すべての係数が{1,12,0,12,1}\{-1, -\frac{1}{2}, 0, \frac{1}{2}, 1\}であり、実装が容易である
  3. 最適化のパラドックス: RR行列の係数が{1,0,1}\{-1, 0, 1\}のみであっても、最適な直線プログラムは依然として非自明な乗算が必要である(核分解による)
  4. 代替基の利点: 基変換を通じて主導定数を11.66から7.00に削減でき、代償はo(n2.792)o(n^{2.792})の基変換コストである

関連研究

高速行列乗算の歴史

  1. Strassen (1969): 初めてのO(n2.81)O(n^{2.81})アルゴリズム、2×2行列の7回乗算計算
  2. de Groote (1978): 等方性群と最適アルゴリズムの代数幾何学的研究
  3. 定理2.2: すべての7回乗算の2×2アルゴリズムが単一の軌道を形成することを証明

最近の進展

  1. Fawzi et al. (2022) 5: 強化学習を使用して標数2上の47回乗算アルゴリズムを発見
  2. Kaporin (2024) 8: 非線形最小二乗法を使用してBrent方程式の複素数解を求解
  3. AlphaEvolve (2025) 11: 大規模言語モデルと進化的エージェントを使用して48回乗算(複素数)と63回乗算(3×4×7)アルゴリズムを発見

数値安定性研究

  • Dumas et al. (2024) 2: Strassen アルゴリズムの数値精度を研究し、それが最適な精度ではないことを発見
  • 本論文のアルゴリズムの数値分析はまだ完了していない

本論文の利点

  1. 理論的厳密性: 等方性群理論に基づき、純粋な発見的探索ではない
  2. 汎用性: 有理数係数により、より広範な代数構造に適用可能
  3. 再現可能性: 完全な行列表現とオープンソース実装

結論と考察

主要な結論

  1. AlphaEvolve の複素数アルゴリズムを有理数アルゴリズムに成功裏に変換し、48回の乗算を保持した
  2. 等方性群作用はアルゴリズム空間を系統的に探索するための効果的なツールである
  3. 2つの実装を提供:標準版(341演算)と代替基版(6+336演算)
  4. アルゴリズムは12\frac{1}{2}を含む任意の環に適用可能であり、適用範囲を拡張する

限界

  1. 環の制限: 2が可逆である必要があり、標数2の体には適用不可
  2. 定数項が大きい: 標準版の定数11.66は大きく、十分に大きな行列上でのみ利点がある
  3. 数値安定性が未知: 2と同様の数値精度分析がまだ実施されていない
  4. 非構成的: 等方性変換の発見は依然として「教育的推測」に依存し、完全に自動化されていない

今後の方向性

  1. 3×4×7アルゴリズム: 姉妹論文3がAlphaEvolveの別の複素数アルゴリズムを処理
  2. 数値分析: このアルゴリズムの誤差伝播と条件数を研究
  3. 自動化発見: 等方性変換を自動的に探索するための系統的方法を開発
  4. 他の次元: 同じ方法を5×5、3×3×3などの場合に適用
  5. 実際のパフォーマンス: キャッシュ、並列化などを考慮して実際のハードウェア上でパフォーマンスをテスト

深い評価

利点

1. 理論的貢献が顕著

  • 重要な空白を埋める: AlphaEvolve アルゴリズムの複素数係数制限という実際的な問題を解決
  • 方法論的革新: 等方性群理論を系統的に適用し、複素数から有理数への理論的経路を提供
  • 数学的厳密性: Landsbergのテンソル幾何学理論に基づき、堅実な代数幾何学的基礎を持つ

2. 実用的価値が高い

  • 完全な実装: 直線プログラムとLRP行列を提供し、直接使用可能
  • オープンソースで再現可能: すべてのデータとコードはPLinOptライブラリで公開
  • 適用性が広い: 有理数係数により、整数、有理数、有限体(奇標数)などで使用可能

3. 技術的詳細が充分

  • 完全なアルゴリズム表示: 式25-72で48個の乗算項すべてを詳細に列挙
  • 複数の表現: 三線形形式、LRP行列、直線プログラムなど複数の表現を提供
  • 最適化戦略: 核分解と代替基などの最適化技術を展示

4. 記述が明確

  • 背景説明が充分: Strassen アルゴリズムからテンソル分解理論まで段階的に導入
  • 例が豊富: 例2.1は等方性がどのように複素数を導入するかを示す
  • 記号が系統化: 定義が明確で、記号が一貫している

不足

1. 方法の限界

  • 等方性変換の発見: 「教育的推測」の使用を認め、系統的な探索方法が欠ける
  • 安定化部分群への依存: 安定化部分群(C2×D4)C2(C_2 \times D_4) \rtimes C_2が既知である必要があり、新しい問題では取得が困難な可能性
  • 標数制限: 標数2の体には適用不可(Fawziの47回アルゴリズムは反対に使用可能)

2. 実験分析が不足

  • 実際のパフォーマンステストがない: 実際のハードウェア上での実行時間がテストされていない
  • 数値安定性分析がない: 実際のアプリケーションにとって重要であるが、これは今後の作業として認められている
  • 定数項の比較がない: 他のアルゴリズムの定数項との定量的な比較がない

3. 理論的深さ

  • 存在性証明が不完全: 1つの有理数点のみが示され、その一意性や最適性は証明されていない
  • 軌道構造が未探索: 有理数点が軌道内のどこに位置するか、数量などの問題が議論されていない
  • 下界に未対応: 4×4行列乗算の理論的下界(48未満が可能か?)が議論されていない

4. 表現の詳細

  • 記号が複雑: 多くの下付き文字とテンソル記号は非専門家にとって理解しにくい可能性
  • コードの可読性: 直線プログラム(リスト1-4)にコメントが不足
  • 行列表示: 付録Bの大規模行列は構造を直接理解するのが困難

影響力

分野への貢献

  1. 理論と実践の橋渡し: AI が発見したアルゴリズムを数学理論を使用して使用可能な形式に変換
  2. 方法論の示範: 等方性群理論のアルゴリズム最適化への実際の応用を示す
  3. 後続研究への刺激: 他のAI発見複素数アルゴリズムを処理するためのテンプレートを提供

実用的価値

  1. 中程度: 定数項が大きい(11.66)ため、大規模行列(n>100n > 100)でのみ利点がある
  2. 特定分野: 精密有理数計算が必要な記号計算システムでより高い価値
  3. 教育的意義: テンソル分解と等方性群理論の応用の優れたケーススタディ

再現可能性

  • 優秀: 完全な行列、コード、ツールチェーンが公開
  • 使いやすさ: PLinOptライブラリは直線プログラムを自動生成するツールを提供
  • ドキュメント完全: 付録にすべてのデータファイルの位置が詳細に列挙

適用シナリオ

理想的な応用シナリオ

  1. 記号計算システム: Maple、Mathematicaなどの精密行列演算
  2. 有限体計算: 奇標数有限体上の線形代数
  3. 大規模行列: n128n \geq 128の行列への再帰的適用
  4. 理論研究: 高速アルゴリズムとテンソルランク研究のツール

不適用なシナリオ

  1. 小規模行列: 単一の4×4行列では、朴素なアルゴリズム(64回乗算)が定数項が小さいため高速な可能性
  2. 浮動小数点計算: 数値安定性が未知であり、従来のアルゴリズムより劣る可能性
  3. 標数2体: Fawziの47回アルゴリズムがより優れている
  4. ハードウェア加速: 最新のGPU最適化行列乗算がより高速な可能性

参考文献

主要な引用

  1. 13 Strassen (1969): 「ガウス消去法は最適ではない」- 高速行列乗算の基礎的研究
  2. 6,7 de Groote (1978): 等方性群理論の原始論文
  3. 11 Novikov et al. (2025): AlphaEvolve - 本論文が改善した元の複素数アルゴリズム
  4. 10 Landsberg (2016): 「幾何学と複雑性理論」- 理論的基礎
  5. 2 Dumas et al. (2024): Strassen アルゴリズムの数値精度分析

関連研究

  • 5 Fawzi et al. (2022): 強化学習で発見された47回アルゴリズム(標数2)
  • 9 Karstadt & Schwartz (2017): 行列乗算の他の最適化
  • 4 Dumas et al. (2025): 高速精密アルゴリズムの自動生成方法
  • 3 Dumas et al. (2025): 3×4×7行列の63回乗算アルゴリズム(姉妹論文)

総合評価

これは高品質な理論計算機科学論文であり、AI が発見した複素数域アルゴリズムを有理数域アルゴリズムに成功裏に変換し、重要な理論的意義と一定の実用的価値を持つ。論文の主な利点は:

  1. 実際的な問題を解決: AlphaEvolve の複素数係数制限が適用範囲を制限していた
  2. 方法が厳密: 成熟したテンソル分解と等方性群理論に基づく
  3. 実装が完全: 再現可能なオープンソース実装を提供

主な不足は:

  1. 等方性変換の発見が依然として人工的な推測を必要とする
  2. 実際のパフォーマンスと数値安定性分析が欠ける
  3. 定数項が大きく、実用性を制限する

推奨指数: ⭐⭐⭐⭐ (4/5)
記号計算、テンソル分解、高速アルゴリズムに関心のある研究者に適している。実際のアプリケーションについては、特定のシナリオに基づいて従来の方法より優れているかどうかを評価する必要がある。