Description of fast matrix multiplication algorithm: ⟨10×25×25:3703⟩

Algorithm type

X2⁢Y15⁢Z4+5⁢X⁢Y15⁢Z2+2⁢X2⁢Y11⁢Z4+X⁢Y14⁢Z2+X2⁢Y11⁢Z3+3⁢X2⁢Y9⁢Z4+2⁢X⁢Y12⁢Z2+2⁢X2⁢Y9⁢Z3+4⁢X⁢Y11⁢Z2+X2⁢Y7⁢Z4+X⁢Y11⁢Z+4⁢X⁢Y10⁢Z2+10⁢X6⁢Y4⁢Z2+320⁢X4⁢Y4⁢Z4+6⁢X4⁢Y2⁢Z6+6⁢X2⁢Y6⁢Z4+9⁢X⁢Y9⁢Z2+7⁢X4⁢Y2⁢Z5+4⁢X3⁢Y2⁢Z6+7⁢X2⁢Y5⁢Z4+2⁢X⁢Y9⁢Z+X⁢Y8⁢Z2+10⁢X4⁢Y4⁢Z2+4⁢X3⁢Y6⁢Z+9⁢X3⁢Y2⁢Z5+X3⁢Y⁢Z6+128⁢X2⁢Y6⁢Z2+3⁢X2⁢Y5⁢Z3+3⁢X2⁢Y4⁢Z4+8⁢X⁢Y7⁢Z2+X5⁢Y⁢Z3+7⁢X4⁢Y2⁢Z3+4⁢X3⁢Y2⁢Z4+4⁢X2⁢Y6⁢Z+X2⁢Y5⁢Z2+2⁢X2⁢Y4⁢Z3+X2⁢Y3⁢Z4+4⁢X2⁢Y2⁢Z5+7⁢X2⁢Y⁢Z6+4⁢X⁢Y6⁢Z2+110⁢X4⁢Y2⁢Z2+5⁢X4⁢Y⁢Z3+10⁢X3⁢Y4⁢Z+430⁢X2⁢Y4⁢Z2+100⁢X2⁢Y2⁢Z4+6⁢X2⁢Y⁢Z5+40⁢X⁢Y6⁢Z+10⁢X⁢Y5⁢Z2+2⁢X4⁢Y⁢Z2+6⁢X3⁢Y⁢Z3+10⁢X2⁢Y4⁢Z+5⁢X2⁢Y3⁢Z2+9⁢X2⁢Y2⁢Z3+X2⁢Y⁢Z4+2⁢X⁢Y4⁢Z2+X⁢Y3⁢Z3+X⁢Y⁢Z5+4⁢X4⁢Y⁢Z+16⁢X3⁢Y2⁢Z+3⁢X3⁢Y⁢Z2+52⁢X2⁢Y3⁢Z+722⁢X2⁢Y2⁢Z2+8⁢X2⁢Y⁢Z3+115⁢X⁢Y4⁢Z+61⁢X⁢Y3⁢Z2+4⁢X⁢Y2⁢Z3+4⁢X⁢Y⁢Z4+126⁢X2⁢Y2⁢Z+8⁢X2⁢Y⁢Z2+79⁢X⁢Y3⁢Z+122⁢X⁢Y2⁢Z2+5⁢X⁢Y⁢Z3+184⁢X2⁢Y⁢Z+352⁢X⁢Y2⁢Z+173⁢X⁢Y⁢Z2+317⁢X⁢Y⁢ZX2Y15Z45XY15Z22X2Y11Z4XY14Z2X2Y11Z33X2Y9Z42XY12Z22X2Y9Z34XY11Z2X2Y7Z4XY11Z4XY10Z210X6Y4Z2320X4Y4Z46X4Y2Z66X2Y6Z49XY9Z27X4Y2Z54X3Y2Z67X2Y5Z42XY9ZXY8Z210X4Y4Z24X3Y6Z9X3Y2Z5X3YZ6128X2Y6Z23X2Y5Z33X2Y4Z48XY7Z2X5YZ37X4Y2Z34X3Y2Z44X2Y6ZX2Y5Z22X2Y4Z3X2Y3Z44X2Y2Z57X2YZ64XY6Z2110X4Y2Z25X4YZ310X3Y4Z430X2Y4Z2100X2Y2Z46X2YZ540XY6Z10XY5Z22X4YZ26X3YZ310X2Y4Z5X2Y3Z29X2Y2Z3X2YZ42XY4Z2XY3Z3XYZ54X4YZ16X3Y2Z3X3YZ252X2Y3Z722X2Y2Z28X2YZ3115XY4Z61XY3Z24XY2Z34XYZ4126X2Y2Z8X2YZ279XY3Z122XY2Z25XYZ3184X2YZ352XY2Z173XYZ2317XYZX^2*Y^15*Z^4+5*X*Y^15*Z^2+2*X^2*Y^11*Z^4+X*Y^14*Z^2+X^2*Y^11*Z^3+3*X^2*Y^9*Z^4+2*X*Y^12*Z^2+2*X^2*Y^9*Z^3+4*X*Y^11*Z^2+X^2*Y^7*Z^4+X*Y^11*Z+4*X*Y^10*Z^2+10*X^6*Y^4*Z^2+320*X^4*Y^4*Z^4+6*X^4*Y^2*Z^6+6*X^2*Y^6*Z^4+9*X*Y^9*Z^2+7*X^4*Y^2*Z^5+4*X^3*Y^2*Z^6+7*X^2*Y^5*Z^4+2*X*Y^9*Z+X*Y^8*Z^2+10*X^4*Y^4*Z^2+4*X^3*Y^6*Z+9*X^3*Y^2*Z^5+X^3*Y*Z^6+128*X^2*Y^6*Z^2+3*X^2*Y^5*Z^3+3*X^2*Y^4*Z^4+8*X*Y^7*Z^2+X^5*Y*Z^3+7*X^4*Y^2*Z^3+4*X^3*Y^2*Z^4+4*X^2*Y^6*Z+X^2*Y^5*Z^2+2*X^2*Y^4*Z^3+X^2*Y^3*Z^4+4*X^2*Y^2*Z^5+7*X^2*Y*Z^6+4*X*Y^6*Z^2+110*X^4*Y^2*Z^2+5*X^4*Y*Z^3+10*X^3*Y^4*Z+430*X^2*Y^4*Z^2+100*X^2*Y^2*Z^4+6*X^2*Y*Z^5+40*X*Y^6*Z+10*X*Y^5*Z^2+2*X^4*Y*Z^2+6*X^3*Y*Z^3+10*X^2*Y^4*Z+5*X^2*Y^3*Z^2+9*X^2*Y^2*Z^3+X^2*Y*Z^4+2*X*Y^4*Z^2+X*Y^3*Z^3+X*Y*Z^5+4*X^4*Y*Z+16*X^3*Y^2*Z+3*X^3*Y*Z^2+52*X^2*Y^3*Z+722*X^2*Y^2*Z^2+8*X^2*Y*Z^3+115*X*Y^4*Z+61*X*Y^3*Z^2+4*X*Y^2*Z^3+4*X*Y*Z^4+126*X^2*Y^2*Z+8*X^2*Y*Z^2+79*X*Y^3*Z+122*X*Y^2*Z^2+5*X*Y*Z^3+184*X^2*Y*Z+352*X*Y^2*Z+173*X*Y*Z^2+317*X*Y*Z

Algorithm definition

The algorithm ⟨10×25×25:3703⟩ is serendipitous tensor product (⟨5×5×5:93⟩ - 10) ⊗ ⟨2×5×5:40⟩ +⟨2×5×15:118⟩ +⟨2×5×10:79⟩ +⟨6×5×5:110⟩ +⟨4×5×5:76⟩.

Algorithm description

These encodings are given in compressed text format using the maple computer algebra system. In each cases, the last line could be understood as a description of the encoding with respect to classical matrix multiplication algorithm. As these outputs are structured, one can construct easily a parser to its favorite format using the maple documentation without this software.


Back to main table