Numpy:将矩阵与3d张量相乘 - 建议

osd*_*sdf 13 python numpy matrix linear-algebra scipy

我有一个矩阵P与形状MxN和三维张量T与形状KxNxR.我想P与每个NxR矩阵相乘T,产生一个KxMxR3d张量.

P.dot(T).transpose(1,0,2)给出了期望的结果.有没有更好的解决方案(即摆脱transpose)这个问题?这必须是一个非常常见的操作,所以我假设,其他人已经找到了不同的方法,例如使用tensordot(我试过但未能获得所需的结果).意见/观点将受到高度赞赏!

Ste*_*joa 6

scipy.tensordot(P, T, axes=[1,1]).swapaxes(0,1)
Run Code Online (Sandbox Code Playgroud)