Suppose to have a coefficients tensor with a shape (A,B) and another tensor of values with shape (A,B,C,D…) how can i do an scalar element-wise multiplication such that the results will be each subtensor of shape (C,D,…) multiplied by each element in the coefficients tensor?

To be clear with A=3, B=3, C=2 and D=2

the coefficients tensor can be something like

C = [[0.1 0.2 0.3]

[0.4 0.5 0.6]

[0.7 0.8 0.9]

and the values tensor (V) will be a 3x3x2x2 tensor with each 3x3 “cell” being a 2x2 matrix

the results of this operation should be each 2x2 matrix scalarly multiplied by the respective element in C so that

V[0][0] = V[0][0] * C[0][0]

V[0][1] = V[0][1] * C[0][1]

V[0][2] = V[0][2] * C[0][2]

V[1][0] = V[1][0] * C[1][0]

and so on…

Where each of this * is a scalar multiplication between an element of the matrix C and a matrix of the tensor V

```
>>> C = torch.randn(3,3)
>>> V = torch.randn(3,3,2,2)
>>> C*V
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 3
>>> torch.dot(C,V)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: dot: Expected 1-D argument self, but got 2-D
>>> torch.mul(C,V)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: The size of tensor a (3) must match the size of tensor b (2) at non-singleton dimension 3
```

Maybe somewhere in the docs there is the answer to my question but i could find it, thanks in advice!