Ошибка numpy.einsum: слишком много подписок для операнда - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь использовать einsum для выполнения тензорного умножения. Я работаю в MATLAB, но использую интерфейс python для вызова numpy.einsum, как описано в этого Q & A . Ниже приведен код, который я использую для умножения:

np = py.importlib.import_module('numpy');
ndim = 3; i = eye(ndim);
I = np.einsum('il,jk',matpy.mat2nparray(i),matpy.mat2nparray(i));
I4 = matpy.nparray2mat(...
  np.einsum('ijxyz,klxyz -> ijklxyz', I, matpy.mat2nparray(ones([30,30,30])) ));

Однако приведенный выше код завершается ошибкой со следующей ошибкой:

ValueError: einstein sum subscripts string contains too many subscripts for operand 0
...