Currently, einsum outputs raw WhestArrays. Since we're already computing the symmetries of the output for the purpose of flop counting, we should automatically propagate it to the output.
A = we.random.randn(n, n, n)
W = we.random.randn(n, n)
X = we.einsum('ijk,ai,bj,ck->abc', A, W, W, W) # Currently a raw WhestArray. Should instead be a SymmetricTensor with all axes symmetric
Currently, einsum outputs raw WhestArrays. Since we're already computing the symmetries of the output for the purpose of flop counting, we should automatically propagate it to the output.
Example: