Produto tensor externo rápido em numpy

Eu tenho duas matrizes numpy:

x of shape ((d1,...,d_m)) 
y of shape ((e_1,...e_n)) 

Gostaria de formar o produto tensor externo, que é a matriz numpy

z of shape ((d1,...,d_m,e_1,...,e_n))

de tal modo que

z[i_1,...,i_n,i_{n+1}...,i_{m+n}] == x[i_1,...i_m]*y[i_{m+1},...,i_{m+n}]

Eu tenho que executar a multiplicação externa acima várias vezes, então eu gostaria de acelerar isso o máximo possível.

questionAnswers(2)

yourAnswerToTheQuestion