Suppose I have a tensor X of dimension `a x a`

, and another tensor Y of the same dimension. How do I multiply every row of X with every row of Y and get an $a x a$ tensor? Thanks!

What do you want is just a matrix multiplication with the transpose.

```
import torch
x = torch.Tensor([[1, 2], [3, 4]])
y = torch.Tensor([[1, 2], [3, 4]]) + 1
x.matmul(y.transpose(0, 1))
```

1 Like