It seems `(Y @ X)[None]` produces a row vector of shape (1,3),
(Y @ X)[None] # array([[14, 32, 50]])
(Y @ X)[None].T # array([[14], # [32], # [50]])