При работе над исследовательской задачей я столкнулся со следующей тензорной маской ранга 4:
M [i, j, k, l] = дельта (i + j, k + l)
Где delta (x, y) = 1 тогда и только тогда, когда x == y, иначе 0 (дельта Кронекера)
Например, M (2,3,1,4) = 1, поскольку (2 + 3 = 1 + 4) но M (1,3,2,4) = 0, поскольку (1 + 3 - это не 2 + 4)
Есть ли векторизованный способ создания этого с использованием numpy? Если бы я использовал для циклов, я должен go через N ^ 4 итераций, что для моего текущего значения N уже слишком много. Также есть проблема с памятью.