Menu

excited states in Fermi Hubbard model

Technical
2018-06-25
2018-07-02
  • Rafael Barfknecht

    Hello everyone,

    I am currently trying to use OpenMPS to calculate the number observable in the Fermi Hubbard model in a trap. My code is working well to obtain the ground state properties as

    Outputs = mps.ReadStaticObservables(parameters)
    StateOutputs = mps.GetObservables(Outputs, 'state', 0)

    then from that I get my defined observables as

    energ = StateOutputs[0]['energy']
    convr = StateOutputs[0]['converged']
    upnum = StateOutputs[0]['number_up']
    dwnum = StateOutputs[0]['number_dw']

    which works fine if the 'state' index in GetObservables is set to 0. When I try to get the same results for the first excited excited state, making mps.GetObservables(Outputs, 'state', 1), I get energies which are way off, and convergence fails. Moreover, my number observables no longer work and I get the error

    Traceback (most recent call last):
    File "FermiHubbard_Exc.py", line 89, in <module>
    upnum = StateOutputs[0]['number_up']
    KeyError: 'number_up'

    for some reason. Any tips?

     
  • Daniel Jaschke

    Daniel Jaschke - 2018-06-25

    Hello Rafael,

    please provide your script if possible, which would help me to reproduce your error. Only one guess right now; did you set the dictionary entry 'eMPSObservables'? If not, you only get default measures which do not include any local observabes, where I assume 'number_up' is a site-observable. Observables for ground and excited states can differ and have to be set separately.

    Best regards,

    Daniel

     
  • Rafael Barfknecht

    Hello Daniel,

    Please find the code attached.

    I have not addded this dictionary entry you mentioned, so that is likely the problem. I am not finding this detail on the manual, though, so I'd appreciate some instructions here.

    Best regards,

    Rafael

     
  • Daniel Jaschke

    Daniel Jaschke - 2018-06-27

    Hello Rafael,

    I have edited your script and will attach it once I got all other things ready; changes will be indicated with #DJ. Then, you have access to all observables for the excited states. For the convergence, the true-false value is good to be sure it converged, but once it does not, you want to get the variance for more insights. You will learn if you are slightly off as in the ground state for low bond dimension and number of sweeps or if the results not converged at all, as in the case of the excited states.

    For v2 and the excited states, I run into the same problem with very large energies and variances which are above one. I just tested (by default to see if things break) my most recent branch of v3, and converges with variances below 1e-9 and an energy of the first excited state of E=4.32. This looks reasonnable to me. I'll post here once that is available online and how you can get it; the current v3 does not have the eMPS enabled yet as it was one of the last things I skiped integrating. I do not think I will track down the problem in v2. I hope latest tomorrow. You'll get the script for v3 then.

    Best regards,

    Daniel

     
  • Daniel Jaschke

    Daniel Jaschke - 2018-06-28

    Hello Rafael,

    I pushed the changes you need for v3, for which we use git. On the top of this page here, you see the tab v3code, for me second-next to the Discussion tab. You go there and find the command to clone the v3 on the top.

    Then, you can use the script attached here and should get converged results. By running it on my machine, I'd say these simulations are slower, but right now that is the price of convergence. I'll see if I can get some speed-up at some point, but not sure how soon I'll get to this.

    Let me know if you have some question or running into problems with v3. Thank you.

    Best regards,

    Daniel

     
  • Rafael Barfknecht

    Hi Daniel,

    Thank you again for the effort. I have just installed v3. Quick question: how do I get a global installation? I tried removing --local='./' in the python command, but that didn't work.

    I will run some tests with the modified script and I'll let you know if something comes up.

    Best regards,

    Rafael

     
  • Daniel Jaschke

    Daniel Jaschke - 2018-07-02

    Hello Rafael,

    Thank you for the feedback. I got the necessary features from v2 for the global installation now with the most recent commit.

    Best regards,

    Daniel

     

Log in to post a comment.