Hi,
I ran into what might be a bug with the eigendecomposition function eigen() in ITensors.jl. Depending on the order of the Indices in my ITensor, eigen() gives me an error or not. Here is a minimum working code that gives me an error:
using ITensors
i1 = Index(1); i2=Index(2); i3=Index(3);
T = randomITensor(i1', i2, i3, i2', i3', i1)
F = eigen(T) # ERROR: In eigen, indices must come in pairs with equal spaces.
(I am using eigen()'s default behavior that the primed indices are the "left" indices and the rest are the "right" indices.) Note that the order of Indices that I provide to T is important. For example, the code below does not produce an error:
using ITensors
i1 = Index(1); i2=Index(2); i3=Index(3);
T = randomITensor(i2, i3, i2', i3', i1', i1)
F = eigen(T) # no error
Any suggestions on how to avoid this issue or what could be going wrong?