An alternative could be to use TensorProduct
and TensorContract
:
mA = {{a11, a12}, {a21, a22}};
mB = {{b11, b12}, {b21, b22}};
In[3]:= TensorContract[TensorProduct[mA, mB], {1, 3}]
Out[3]= {{a11 b11 + a21 b21, a11 b12 + a21 b22}, {a12 b11 + a22 b21, a12 b12 + a22 b22}}
Same result as with Sam's method:
In[4]:= Transpose[mA].mB
Out[4]= {{a11 b11 + a21 b21, a11 b12 + a21 b22}, {a12 b11 + a22 b21, a12 b12 + a22 b22}}