Hi,
I a using a standard TEBD code from ITensor and I have a small question in relation to that.
Essentially the code I am using is given in MPS Time Evolution · ITensors.jl
Now, when I start with a simple product state (as in the example given in the previous link I pasted), and I print the initial mps , I get
MPS
[1] ((dim=2|id=624|"S=1/2,Site,n=1"), (dim=1|id=408|"Link,l=1"))
[2] ((dim=1|id=408|"Link,l=1"), (dim=2|id=106|"S=1/2,Site,n=2"), (dim=1|id=538|"Link,l=2"))
[3] ((dim=1|id=538|"Link,l=2"), (dim=2|id=808|"S=1/2,Site,n=3"), (dim=1|id=878|"Link,l=3"))
[4] ((dim=1|id=878|"Link,l=3"), (dim=2|id=339|"S=1/2,Site,n=4"), (dim=1|id=157|"Link,l=4"))
[5] ((dim=1|id=157|"Link,l=4"), (dim=2|id=366|"S=1/2,Site,n=5"), (dim=1|id=197|"Link,l=5"))
[6] ((dim=1|id=197|"Link,l=5"), (dim=2|id=289|"S=1/2,Site,n=6"), (dim=1|id=434|"Link,l=6"))
[7] ((dim=1|id=434|"Link,l=6"), (dim=2|id=167|"S=1/2,Site,n=7"), (dim=1|id=147|"Link,l=7"))
[8] ((dim=1|id=147|"Link,l=7"), (dim=2|id=386|"S=1/2,Site,n=8"), (dim=1|id=116|"Link,l=8"))
[9] ((dim=1|id=116|"Link,l=8"), (dim=2|id=134|"S=1/2,Site,n=9"), (dim=1|id=79|"Link,l=9"))
[10] ((dim=1|id=79|"Link,l=9"), (dim=2|id=801|"S=1/2,Site,n=10"))
which is all fine in terms of index structure that gives me link and site informations. Nonetheless after I have run the code (i.e., finite number of TEBD ‘iterations’), I get the mps structure as
[1] ((dim=2|id=624|"S=1/2,Site,n=1"), (dim=2|id=213|"Link,n=1"))
[2] ((dim=2|id=213|"Link,n=1"), (dim=2|id=106|"S=1/2,Site,n=2"), (dim=4|id=897|"Link,n=1"))
[3] ((dim=2|id=808|"S=1/2,Site,n=3"), (dim=8|id=926|"Link,n=1"), (dim=4|id=897|"Link,n=1"))
[4] ((dim=2|id=339|"S=1/2,Site,n=4"), (dim=16|id=13|"Link,n=1"), (dim=8|id=926|"Link,n=1"))
[5] ((dim=2|id=366|"S=1/2,Site,n=5"), (dim=32|id=701|"Link,n=1"), (dim=16|id=13|"Link,n=1"))
[6] ((dim=2|id=289|"S=1/2,Site,n=6"), (dim=16|id=99|"Link,n=1"), (dim=32|id=701|"Link,n=1"))
[7] ((dim=2|id=167|"S=1/2,Site,n=7"), (dim=8|id=531|"Link,n=1"), (dim=16|id=99|"Link,n=1"))
[8] ((dim=2|id=386|"S=1/2,Site,n=8"), (dim=4|id=292|"Link,n=1"), (dim=8|id=531|"Link,n=1"))
[9] ((dim=2|id=134|"S=1/2,Site,n=9"), (dim=2|id=47|"Link,n=1"), (dim=4|id=292|"Link,n=1"))
[10] ((dim=2|id=801|"S=1/2,Site,n=10"), (dim=2|id=47|"Link,n=1"))
as you can clearly see all the “Link,n=1”. I am not sure why it is now behaving like this. Would be nice if someone can point me out how to get rid of this.
The reason I am asking this question is as follows. I have a vectorized density matrix (which is an MPS) and then I want to convert it to MPO structure and compute the log negativity (see Figure 2 in https://journals.aps.org/prb/pdf/10.1103/PhysRevB.102.064304) and for that I need some contractions (as you can see in fig. 2 of the paper I just referred to) conducted correctly. Therefore, it is important for me that all these link and site index infos are structured in a correct and comprehensive way. In case, I am missing something please point that out.
Thanks in advance for help.
Best,
Sourav.