Description of fast matrix multiplication algorithm: ⟨16×18×32:5145⟩

Algorithm type

3⁢X8⁢Y8⁢Z12+7⁢X8⁢Y8⁢Z10+35⁢X8⁢Y8⁢Z8+2⁢X4⁢Y8⁢Z12+3⁢X4⁢Y12⁢Z6+2⁢X4⁢Y8⁢Z10+12⁢X2⁢Y18⁢Z2+13⁢X12⁢Y4⁢Z4+39⁢X4⁢Y12⁢Z4+14⁢X4⁢Y8⁢Z8+16⁢X4⁢Y4⁢Z12+X8⁢Y4⁢Z6+28⁢X4⁢Y8⁢Z6+16⁢X4⁢Y4⁢Z10+6⁢X2⁢Y12⁢Z4+4⁢X2⁢Y8⁢Z8+7⁢X2⁢Y4⁢Z12+2⁢X8⁢Y4⁢Z4+46⁢X4⁢Y8⁢Z4+29⁢X4⁢Y4⁢Z8+19⁢X2⁢Y12⁢Z2+8⁢X2⁢Y8⁢Z6+5⁢X2⁢Y4⁢Z10+12⁢X2⁢Y2⁢Z12+12⁢X6⁢Y6⁢Z2+3⁢X6⁢Y4⁢Z4+35⁢X4⁢Y4⁢Z6+19⁢X2⁢Y8⁢Z4+5⁢X2⁢Y6⁢Z6+20⁢X2⁢Y4⁢Z8+6⁢X2⁢Y2⁢Z10+42⁢X4⁢Y4⁢Z5+16⁢X6⁢Y4⁢Z2+X6⁢Y2⁢Z4+272⁢X4⁢Y4⁢Z4+9⁢X4⁢Y2⁢Z6+10⁢X2⁢Y8⁢Z2+13⁢X2⁢Y6⁢Z4+49⁢X2⁢Y4⁢Z6+2⁢X2⁢Y2⁢Z8+18⁢X2⁢Y6⁢Z3+12⁢X2⁢Y4⁢Z5+72⁢X⁢Y9⁢Z+99⁢X6⁢Y2⁢Z2+2⁢X4⁢Y4⁢Z2+X4⁢Y2⁢Z4+256⁢X2⁢Y6⁢Z2+131⁢X2⁢Y4⁢Z4+125⁢X2⁢Y2⁢Z6+6⁢X4⁢Y2⁢Z3+168⁢X2⁢Y4⁢Z3+96⁢X2⁢Y2⁢Z5+36⁢X⁢Y6⁢Z2+24⁢X⁢Y4⁢Z4+42⁢X⁢Y2⁢Z6+13⁢X4⁢Y2⁢Z2+290⁢X2⁢Y4⁢Z2+206⁢X2⁢Y2⁢Z4+114⁢X⁢Y6⁢Z+48⁢X⁢Y4⁢Z3+30⁢X⁢Y2⁢Z5+72⁢X⁢Y⁢Z6+72⁢X3⁢Y3⁢Z+18⁢X3⁢Y2⁢Z2+102⁢X2⁢Y2⁢Z3+114⁢X⁢Y4⁢Z2+30⁢X⁢Y3⁢Z3+120⁢X⁢Y2⁢Z4+36⁢X⁢Y⁢Z5+96⁢X3⁢Y2⁢Z+6⁢X3⁢Y⁢Z2+377⁢X2⁢Y2⁢Z2+54⁢X2⁢Y⁢Z3+60⁢X⁢Y4⁢Z+78⁢X⁢Y3⁢Z2+222⁢X⁢Y2⁢Z3+12⁢X⁢Y⁢Z4+126⁢X3⁢Y⁢Z+12⁢X2⁢Y2⁢Z+6⁢X2⁢Y⁢Z2+132⁢X⁢Y3⁢Z+282⁢X⁢Y2⁢Z2+174⁢X⁢Y⁢Z3+6⁢X2⁢Y⁢Z+84⁢X⁢Y2⁢Z+192⁢X⁢Y⁢Z2+30⁢X⁢Y⁢Z3X8Y8Z127X8Y8Z1035X8Y8Z82X4Y8Z123X4Y12Z62X4Y8Z1012X2Y18Z213X12Y4Z439X4Y12Z414X4Y8Z816X4Y4Z12X8Y4Z628X4Y8Z616X4Y4Z106X2Y12Z44X2Y8Z87X2Y4Z122X8Y4Z446X4Y8Z429X4Y4Z819X2Y12Z28X2Y8Z65X2Y4Z1012X2Y2Z1212X6Y6Z23X6Y4Z435X4Y4Z619X2Y8Z45X2Y6Z620X2Y4Z86X2Y2Z1042X4Y4Z516X6Y4Z2X6Y2Z4272X4Y4Z49X4Y2Z610X2Y8Z213X2Y6Z449X2Y4Z62X2Y2Z818X2Y6Z312X2Y4Z572XY9Z99X6Y2Z22X4Y4Z2X4Y2Z4256X2Y6Z2131X2Y4Z4125X2Y2Z66X4Y2Z3168X2Y4Z396X2Y2Z536XY6Z224XY4Z442XY2Z613X4Y2Z2290X2Y4Z2206X2Y2Z4114XY6Z48XY4Z330XY2Z572XYZ672X3Y3Z18X3Y2Z2102X2Y2Z3114XY4Z230XY3Z3120XY2Z436XYZ596X3Y2Z6X3YZ2377X2Y2Z254X2YZ360XY4Z78XY3Z2222XY2Z312XYZ4126X3YZ12X2Y2Z6X2YZ2132XY3Z282XY2Z2174XYZ36X2YZ84XY2Z192XYZ230XYZ3*X^8*Y^8*Z^12+7*X^8*Y^8*Z^10+35*X^8*Y^8*Z^8+2*X^4*Y^8*Z^12+3*X^4*Y^12*Z^6+2*X^4*Y^8*Z^10+12*X^2*Y^18*Z^2+13*X^12*Y^4*Z^4+39*X^4*Y^12*Z^4+14*X^4*Y^8*Z^8+16*X^4*Y^4*Z^12+X^8*Y^4*Z^6+28*X^4*Y^8*Z^6+16*X^4*Y^4*Z^10+6*X^2*Y^12*Z^4+4*X^2*Y^8*Z^8+7*X^2*Y^4*Z^12+2*X^8*Y^4*Z^4+46*X^4*Y^8*Z^4+29*X^4*Y^4*Z^8+19*X^2*Y^12*Z^2+8*X^2*Y^8*Z^6+5*X^2*Y^4*Z^10+12*X^2*Y^2*Z^12+12*X^6*Y^6*Z^2+3*X^6*Y^4*Z^4+35*X^4*Y^4*Z^6+19*X^2*Y^8*Z^4+5*X^2*Y^6*Z^6+20*X^2*Y^4*Z^8+6*X^2*Y^2*Z^10+42*X^4*Y^4*Z^5+16*X^6*Y^4*Z^2+X^6*Y^2*Z^4+272*X^4*Y^4*Z^4+9*X^4*Y^2*Z^6+10*X^2*Y^8*Z^2+13*X^2*Y^6*Z^4+49*X^2*Y^4*Z^6+2*X^2*Y^2*Z^8+18*X^2*Y^6*Z^3+12*X^2*Y^4*Z^5+72*X*Y^9*Z+99*X^6*Y^2*Z^2+2*X^4*Y^4*Z^2+X^4*Y^2*Z^4+256*X^2*Y^6*Z^2+131*X^2*Y^4*Z^4+125*X^2*Y^2*Z^6+6*X^4*Y^2*Z^3+168*X^2*Y^4*Z^3+96*X^2*Y^2*Z^5+36*X*Y^6*Z^2+24*X*Y^4*Z^4+42*X*Y^2*Z^6+13*X^4*Y^2*Z^2+290*X^2*Y^4*Z^2+206*X^2*Y^2*Z^4+114*X*Y^6*Z+48*X*Y^4*Z^3+30*X*Y^2*Z^5+72*X*Y*Z^6+72*X^3*Y^3*Z+18*X^3*Y^2*Z^2+102*X^2*Y^2*Z^3+114*X*Y^4*Z^2+30*X*Y^3*Z^3+120*X*Y^2*Z^4+36*X*Y*Z^5+96*X^3*Y^2*Z+6*X^3*Y*Z^2+377*X^2*Y^2*Z^2+54*X^2*Y*Z^3+60*X*Y^4*Z+78*X*Y^3*Z^2+222*X*Y^2*Z^3+12*X*Y*Z^4+126*X^3*Y*Z+12*X^2*Y^2*Z+6*X^2*Y*Z^2+132*X*Y^3*Z+282*X*Y^2*Z^2+174*X*Y*Z^3+6*X^2*Y*Z+84*X*Y^2*Z+192*X*Y*Z^2+30*X*Y*Z

Algorithm definition

The algorithm ⟨16×18×32:5145⟩ is the (Kronecker) tensor product of ⟨2×2×2:7⟩ with ⟨8×9×16:735⟩.

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