ClearAll[TropicalPlus,TropicalTimes,TropicalMatrixPower]TropicalPlus[a_,b_]:=Min[a,b]TropicalTimes[a_,b_]:=a+bTropicalMatrixTimes[mat1_,mat2_]:=Module[{n,m,p},{n,m}=Dimensions[mat1];{m,p}=Dimensions[mat2];Table[Min@@Table[TropicalPlus[mat1[[i,k]],mat2[[k,j]]],{k,m}],{i,n},{j,p}]]TropicalMatrixPower[base_,exponent_]:=Module[{result=IdentityMatrix[Length[base]],i},Do[result=TropicalMatrixTimes[result,base],{i,exponent}];result]a={{2,3},{5,7}};b={{4,2},{1,2}};result=TropicalMatrixPower[a,b];MatrixForm[result]
Out[]//MatrixForm=
0 | 0 |
0 | 0 |