There was a bug when doing [:, None] indexing in PyTorch.
It was fixed 2 days ago in https://github.com/pytorch/pytorch/pull/2779 4
If we compile with latest master, we get the same result in PyTorch too:
import numpy as np
x = np.array([1.8507 ,-2.7324])
y = np.array([0.9722 , 0.4470 , 1.0000 , 0.0000 , 0.0000 , 0.0000])
print(x * y[:, None])
# array([[ 1.79925054, -2.65643928],
#       [ 0.8272629 , -1.2213828 ],
#       [ 1.8507    , -2.7324    ],
#       [ 0.        , -0.        ],
#       [ 0.        , -0.        ],
#       [ 0.        , -0.        ]])

print(torch.from_numpy(x) * torch.from_numpy(y)[:, None])

# 1.7993 -2.6564
# 0.8273 -1.2214
# 1.8507 -2.7324
# 0.0000 -0.0000
# 0.0000 -0.0000
# 0.0000 -0.0000
#[torch.DoubleTensor of size 6x2]