I have a matrix P with shape MxN and a 3d tensor T with shape KxNxR. I want to multiply P with every N
P
MxN
T
KxNxR
N
You could also use Einstein summation notation:
P = numpy.random.randint(1,10,(5,3)) P.shape T = numpy.random.randint(1,10,(2,3,4)) T.shape numpy.einsum('ij,kjl->kil',P,T)
which should give you the same results as:
P.dot(T).transpose(1,0,2)