+1 vote
asked by (960 points)

I'd like to create long-range interactions that depend on distance, for instance a 1/r interaction.

Is this possible?

I assume constructing an MPO this way would be very difficult.

Are long-range interactions a case where exact diagonalization becomes necessary?

1 Answer

0 votes
answered by (70.1k points)

Hi Jon,
Yes this is possible to do, but it can get rather technical to do it efficiently. The easiest thing you can do with ITensor at the moment is the use the AutoMPO system and just input all N^2 terms connecting a site i to a site j, weighted by an 1/|i-j| coefficient. This would work for small to medium size systems, and with our new AutoMPO engine (post version 2.0.11) the resulting Hamiltonian ought to be compressed as much as possible.

For larger systems there are approaches in the literature you can implement using ITensor to help. One approach is to fit the 1/r interaction by a sum of exponentials. An exponentially decaying interaction can be represented exactly within an MPO. Two good papers discussing this approach are:
1. Crosswhite, Doherty, and Vidal, Phys. Rev. B 78, 035116 (2008)
2. Pirvu, Murg, Cirac, and Verstraete, New J. Phys. 12, 025012 (2010)

We (myself and Steve White) are currently writing up a paper with a different approach to long-range interactions that is too technical to describe here. But please look out for our new paper and I can share with you some pretty simple and nice code you could adapt for your own work if you need to study long range interactions.


commented by (190 points)
Hi Miles,

I am also curious about your implementation of long range system. Could you please explain a bit or even better provide a sample code?
commented by (70.1k points)
Hi, so there is a pretty detailed explanation of this newer approach to handling complicated long-range interactions in this paper: https://arxiv.org/abs/1702.03650
(it wasn't yet published when I wrote the answer above.)

Yes, we are planning to post some sample code but it may take a little while for me to clean it up and put it into a general enough form for people to use for their own purposes. Hopefully I will do it this summer. Please email me if you don't see it posted by July. Or if you need it urgently I can send you the code I have via email and you can read through it and try to adapt it for your own project.

However, please also note that for small to modest-size systems, our current AutoMPO system can handle arbitrary range interactions well. It just doesn't scale ideally to huge systems and the large numbers of Hamiltonian terms that can come up in challenging quantum chemistry contexts.
Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.