Как 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 не работает, как я ожидал.

0 ответов

Другие вопросы по тегам