Как einsum взаимодействует с бесшумной трансляцией?
Рассмотрим ndarrays x0=np.ones((3,3))
а также y0
, у которого есть y0.shape
либо (3,3), либо (1,3). Мне нужна одна команда einsum, которая вычисляет точечные произведения строк этих двух массивов; в том случае, если y0.shape
является (1,3)
Хочу трансляцию по первому измерению y0
, Я старалсяnp.einsum('ij,ij->i',x0,y0)
но это дает
ValueError: ("Size of label '%s' for operand %d does not match previous terms.", 'i', 1)
Есть ли способ сделать это в Einsum? Похоже, что взаимодействие Einsum с NumPy вещанием несколько ограничено в этом приложении: x0 + y0
транслирует первое измерение, когда форма y0 равна (1,3), но приведенный выше вызов einsum не работает, как я ожидал.