+1 vote
asked by (150 points)
edited by

Hi everyone,

I have implemented in iTensor a very simple hard-core boson Hamiltonian (only one-site terms), using the SiteSet "Spinless.h". Now, for my model I have to implement two constraints:

1) n{i} * n{i+1} = 0 (bosons cannot sit on neighboring sites)
2) n{i-1} * n{i+1} = 0 (bosons cannot sit at a distance of 2 lattice sites).

where n_{i} is the density (i.e. occupation number) on the lattice site i.

What is the best strategy to do this (apart from introducing energy penalties with extra-terms in the Hamiltonian)? I would like to implement directly this "physical" sub-space.

Thank you in advance.

1 Answer

0 votes
answered by (28.2k points)

I think one way you can do this, although probably at an increased computational cost relative to the energy-penalty strategy you mentioned (which is what I would try first) is to do the following:

  1. define a Hamiltonian MPO (assuming this is a 1D problem) in the usual Hilbert space which includes all configurations including ones which violate your constraints
  2. define "isometry" tensors which map three neighboring site indices into one "mega site" index, sending to zero any states which violate your constraints
  3. since these isometries will overlap, try to resolve them into a MERA-like tensor network by introducing unitary two-site maps (gates) that allow you to then use two-site isometries on the indices resulting after the unitary maps
  4. finally, apply these MERA-like tensors to your MPO and use an algorithm like DMRG to find the ground state in your modified MPO

This is just an idea off the top of my head which I haven't worked out in any detail, so I'm not sure if step #3 is possible in the way I'm guessing it might be. It's just an idea to get started with. Hope it helps though-

Another off-the-top-of-my-head idea is to work out the most general form of MPS that obeys your constraints #1 and #2. It might have a block-sparse structure, similar to quantum number conserving MPS. Then you could formulate an MPS with such a constrained structure, write down the energy expectation value expression in terms of the MPS blocks (naming them like "A", "B", "C") and then use gradient descent or some other optimization technique to minimize the energy. Once you found the optimal blocks, you could "load" them back into your MPS to compute other properties numerically.

Best regards,
Miles

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.

Categories

...