Source: cirosantilli/commutative-matrix-multiplication-algorithm

= Commutative matrix multiplication algorithm

A "commutative matrix multiplication algorithm" is a matrix multiplication algorithm that requires the ring to be commutative. Such algorithms are inferior because you cannot use them to create more efficient algorithms for <general matrix matrix multiplication> by decomposing the bigger matrix into smaller ones.

For example, the <Strassen algorithm> is based on reduction to non-commutative <2x2 matrix multiplication> optimized to be done in 7 multiplications rather than 8 as in the native algorithm.

For <3x3 matrix multiplication>, the best algorithms as of 2025 are:
* commutative: 21 multiplications
* non-commutative: 23 multiplications
and beating the <Strassen algorithm> using 3x3 matrices would require a non-commutative algorithm with 21 multiplications.

Bibliography:
* https://stackoverflow.com/questions/10827209/ladermans-3x3-matrix-multiplication-with-only-23-multiplications-is-it-worth-i