It's not too surprising; probably due to Fortran vs. C arrays (column-major or row-major). Input to `np.dot` should ideally be a C and a Fortran array, in that order, IIRC.