N-мерный тензорот, эквивалентный эйнсуму - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь найти тензорот, эквивалентный полному приведению двух тензоров ранга N одинаковой формы к скаляру через эйнсум.Оба тензора имеют равномерный порядок 3. Я хочу реализовать это с tenordot, потому что я думаю, что легче масштабировать в более высокие измерения.Вот сокращения с einsum до 4D.

val_1D = np.einsum('i,i', A, B) #1D (aka dot-product)
val_2D = np.einsum('ij,ij', A, B) #2D
val_3D = np.einsum('ijk,ijk', A, B) #3D
val_4D = np.einsum('ijkl,ijkl', A, B) #4D

Мне нужен способ сделать N-е сокращение без записи всех их в коде, так как N может быть довольно большим и иметь несколько массивоввыполнить это на.Насколько я понимаю тензорот, это должно быть возможно.

...