Dear ITensor developers and users,

Thank you for wonderful and useful library. I do DMRG and want to do TEBD with ITensor in C++ version.

In my model, the system consists of the conduction electron subsystem and local spin subsystem. So, I use the `MixedSiteSet<Electron, SpinHalf>`

, so that electrons live in odd sites and identical spins (`SpinHalf`

or `SpinOne`

) on the even ones.

My model Hamiltonian (what is called Kondo-Heisenberg model) is:

(First term is nearest neighbor hopping of conduction electron, second one is the spin-exchange term between electron and local spin on the same site (Kondo coupling), and the last one is Heisenberg interaction between adjacent local spins. \alpha is \uparrow or \downarrow) When I make the Hamiltonian in MixedSiteSet, I know that the Kondo coupling term becomes the nearest neighbor interaction, and the hopping term and Heisenberg term become the next-nearest neighbor interaction.

My question is:

(1) when an MPS in MixedSiteSet above is time-evolved by Kondo-Heisenberg Hamiltonian, should I swap the adjacent MPS tensors (Electron site and Spin site) by contracting the two MPS tensors into one and then by using SVD because the hopping terms and the Heisenberg terms are not nearest neighbor interactions. If so, (how) can I do this in ITensor library?

I couldnâ€™t find the solution for the situation where the Hamiltonian has long range term and at the same time where the system consists of non-identical degree of freedom.

(2) if I use ITensor in Julia version, can I solve my problem just by using `apply`

function even when different kinds of degree of freedom exist?

(3) on the other hand, for the ground state by DMRG algorithm, I want to calculate (the degeneracy structure of) the entanglement spectra when dividing the whole system into two parts: (A) some contiguous part of local spin systems and (B) others. So, for this purpose

, I changed the SiteSet.h by adding MyOwnMixedSiteSet class like:

```
MyOwnMixedSiteSet(int N,
Args const& args = Args::global())
{
auto sites = SiteStore(N);
for(int j = 1; j <= N/2; ++j) sites.set(j,ASiteType({args,"SiteNumber=",j}));
for(int j = N/2+1; j <= N; ++j) sites.set(j,BSiteType({args,"SiteNumber=",j}));
SiteSet::init(std::move(sites));
}
```

so that electrons live in the first half of the system (1 \leq i \leq N/2) and spins do in the latter half (N/2<i \leq N) and I can naturally get the desired Schmidt eigenvalue on e.g. i=3N/4. However, when I use this SiteSet, the Kondo coupling term is very long (N/2) interaction and the convergence is not so good (truncation error is \sim 10^{-5}) even for large bond dimension. In general, how big can I the enlarge the system when the long interaction exists? (I want to see the degeneracy structure of entanglement spectra, so I want the system size to be as big as possible.) Can I calculate this kind of entanglement spectra by using MPS of the original MixedSiteSet and by changing the order of MPS tensors in the way I stated in (1) ?

Iâ€™m sorry if the similar question has already been asked. Please let me know if my explanation is hard to understand.

Thank you very much in advance.

Best regards,

Riku Masui