fix a bug in tranpose and matrixmult