how to construct diagonal array using a 2d array in numpy?,"np.eye(foo.shape[1]) * foo[:, (np.newaxis)]"