Browse 2,300+ verified factor matrices for fast matrix-multiplication algorithms, drawn from Strassen 1969 → AlphaEvolve 2025. Every entry here has its factor matrices on disk and round-trips through a Java verifier. See the repository for the methodology and source.
| Tag | Algebra | Coefficients | Notes |
|---|---|---|---|
F2 (= Z2) |
GF(2) | {0, 1}, integers mod 2 | Characteristic 2 — its own universe, no inclusion into the characteristic-0 chain. AlphaTensor's home field. |
F3 (= Z3) |
GF(3) | {0, 1, 2}, integers mod 3 | Ternary modular — three residues in a characteristic-3 field. Distinct from ZT below: same "three values" count, completely different arithmetic. |
Z |
integers ℤ | any integer | Characteristic 0. Z ⊂ Q ⊂ R ⊂ C. |
↳ ZT |
sub-class of Z — not a field | {−1, 0, +1} ⊂ ℤ | Ternary integer: a Z scheme whose every
factor-matrix coefficient is −1, 0 or +1 (Perminov's "ternary"
schemes). Carried as the per-scheme boolean ZT, present
only when Z is covered. It is NOT F₂/Z₂ — that was
a historical conflation; ZT is integer arithmetic, not mod-2. |
Q |
rationals ℚ | any rational | Characteristic 0; implies R, C. |
R |
reals ℝ | any real | Characteristic 0; implies C. |
C |
complex ℂ | any complex | Accepts every R/Q/Z scheme; plus C-only schemes (e.g. AlphaEvolve's complex-coefficient originals — its ⟨4,4,4⟩=48 rank is no longer C-only since Dumas–Pernet–Sedoglavic 2025 rationalised it to Q/R). |
"Ternary" is overloaded: F3/Z3 is ternary
modular (GF(3)), whereas ZT is ternary
integer (coefficients in {−1,0,1} over ℤ). They are unrelated
algebras that happen to share the word.
| format | field | ω | rank (UB) | + adds | buds | lineage | source | scheme |
|---|
The matrix-multiplication exponent ω — smallest constant such that
⟨n,n,n⟩ can be done in O(n^ω) operations as
n → ∞. Lower bound is the information-theoretic
ω ≥ 2; whether ω = 2 is open. Data from
docs/omega-history.json. The plot also overlays the
commutative exponent ωc
(data from docs/omega-history-commutative.json) — each
green point is a single-shape upper bound
logn(Rc(n)); commutative algorithms
do NOT lift to recursive matrix matmul, so the commutative series
is not an aggregated asymptotic like NC ω.
| kind | year | ω ≤ | method | source | notes |
|---|
Each cell is a format ⟨n,m,p⟩ coloured by its effective exponent
ω = 3·ln(r)/ln(n·m·p) (the best non-commutative rank we hold;
lower = closer to optimal, 3 = naïve). Rows are the largest
axis maxDim = p (2…32), labelled on the right.
Each row is right-anchored on the cube axis: the rightmost
cell of every row is the cube ⟨p,p,p⟩ (outlined), so the cubes line up in a
single vertical column on the right. Moving left within a
row visits the smaller shapes ⟨n,m,p⟩ (n≤m≤p), so the left edge
is ragged — the lone ⟨2,2,2⟩ cell up top, the full ⟨…,…,32⟩ row at the
bottom. Prime maxDim rows are flagged
◆ — they are the smoothness
floor where serendipity and cube-projection have least to exploit. Block
width tapers with distance from the cube so the cube and
near-cube columns stay legible while the long tail stays compact. Hover a
cell for the exact rank and ω.
— same cells (best held NC rank per shape), recoloured / reordered.
Colour is self-calibrated to the best/worst ω actually held (not a fixed 2…3 window): best → worst no scheme ω < Strassen (log₂7 ≈ 2.807) — better-than-Strassen shape. Heatmap respects the Field filter.
Lower-bound citations referenced in the table above. Numbers are stable across filter changes.