Simulation of Hamiltonian evolution of long-range interaction using MPS

I am wondering that if we can use time evolution in ITensor to simulate the long-range interactions.
As far as I see, the tutorial considers the short range (nearst-neighbor) interactions. If I want to simulate the long range transverse Ising model written as

H = \sum_{i<j} J_{ij}S^z_i S^z_j +\sum_i h_i S^x

Using Julia Itensor, how can implement the code?

It’s a good question. The best way is using the time-dependent variational principle (TDVP) algorithm. You can find a Julia ITensor implementation of it here:
https://github.com/ITensor/ITensorTDVP.jl

Which is already available through the Julia package manager, just that we haven’t officially finalized the interface but it will probably change very little if at all. The code works quite well.

To see how to use it, please look at the examples in the examples/ folder and in the test/ folder and of course post on here if you have any questions.

The only part about TDVP that can be tricky is if you evolve from a state with a small bond dimension. Then extra techniques can sometimes be necessary to ensure the result is correct & we can talk about those if you think you will need them for your case (such as if your initial state is a product state).

1 Like

Thanks for your quick response and I will try it. :grinning: