Вы можете использовать numpy .einsum для этого.
In [30]: a
Out[30]:
array([[0, 1, 2],
[3, 4, 5]])
In [31]: np.einsum('ij,ik->ijk', a, a)
Out[31]:
array([[[ 0, 0, 0],
[ 0, 1, 2],
[ 0, 2, 4]],
[[ 9, 12, 15],
[12, 16, 20],
[15, 20, 25]]])
Поскольку numpy.tensordot
поддерживает только 2 элемента axes
, это означает, что нет возможности имитировать
->...
-подобное поведение. Поэтому я не понимаю, как это можно сделать с помощью numpy.tensordot
.