Hi! Previously I asked about apply function in Julia. I have succesfully implemented a finite MPS TEBD time evolution. Now I am moving to the infinite case. I just found that there is a package currently under developed called ITensorInfiniteMPS.jl by ITensor developers. I am trying to understand how it works, and how to perform Trotter-like gate evolution using it. May I ask what c means in the MPS index?

InfiniteMPS

[1] IndexSet{3} (dim=1|id=317|"Link,c=0,l=3") (dim=2|id=652|"S=1/2,Site,c=1,n=1") (dim=1|id=77|"Link,c=1,l=1")

[2] IndexSet{3} (dim=1|id=77|"Link,c=1,l=1") (dim=2|id=984|"S=1/2,Site,c=1,n=2") (dim=1|id=868|"Link,c=1,l=2")

[3] IndexSet{3} (dim=1|id=868|"Link,c=1,l=2") (dim=2|id=569|"S=1/2,Site,c=1,n=3") (dim=1|id=317|"Link,c=1,l=3")

Also, I understand that to perform time evolution with infinite MPS, one essentially evolves the unit cell. We are using an OBC MPS which contains one unit cell to do such a task. One needs to deal with the sites at the boundary, i.e. site=n, and site=n+1 which goes back to site=1, assuming the unit cell contains n sites. To write such a function 'apply', we just include an additional term h[n,1] into the gates, is that correct?

Thank you!

Best regards,

Tianqi