+1 vote
asked by (170 points)

1 Answer

0 votes
answered by (25k points)

Hi sayandip,
When you say iTEBD, do you mean to find the ground state or to do real-time evolution? Since you referrred to MBL, I'm assuming you mean real time evolution but I'll comment on both.

Here is a "code formula" page that shows how to make a code to do time evolution of MPS using Trotter gates, which is the best approach if you have a short ranged Hamiltonian:
http://itensor.org/docs.cgi?page=formulas/tevol_trotter

To include disorder, just define the individual Hamiltonian terms ("hterm" in the code) appropriately, with parameters depending on the bond number "b". Be careful that you use the same parameters for the reverse set of gates defined in the second loop going from N-1 down to 1.

If you pass the Gate::tReal flag as shown in the sample code, it will produce real-time evolving gates of the form exp(-i h tau). If you pass the Gate::tImag flag it will do imaginary time evolution and you can use that to project into the ground state.

But for finding the ground state, a more powerful approach is to use DMRG. Be careful, though, as DMRG can get stuck in an eigenstate which isn't the ground state if disorder is extremely strong (and depending on the initial state you give).

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

...