I have a matrix

`P`

with shape

`MxN`

and a 3d tensor

`T`

with shape

`KxNxR`

. I want to multiply

`P`

with every

`NxR`

matrix in

`T`

, resulting in a

`KxMxR`

3d tensor.

`P.dot(T).transpose(1,0,2)`

gives the desired result. Is there a

*nicer* solution (i.e. getting rid of

`transpose`

) to this problem? This must be quite a common operation, so I assume, others have found different approaches, e.g. using

`tensordot`

(which I tried but failed to get the desired result). Opinions/Views would be highly appreciated!