x = [1,2,3;4,5,6;7,8,9] and y = [1,2,3], I want to get y[0]*x, y[1]*x and y[2]*x by vectorization operation.

Just transform y in a 3x9 matrix

y0 0 0 y1 0 0 y2 0 0

0 y0 0 0 y1 0 0 y2 0

0 0 y0 0 0 y1 0 0 y2

and do torch.mm(x,y)

you will get

`result = (x*y0 | x*y1 | x*y2)`

You could also use broadcasting, which will save some memory:

```
x * y.view(-1, 1)
> tensor([[ 1., 2., 3., 4., 5., 6., 7., 8.],
[ 2., 4., 6., 8., 10., 12., 14., 16.],
[ 3., 6., 9., 12., 15., 18., 21., 24.]])
```