Menu

Implementation of excited state search

Technical
Alex W
2021-10-22
2021-12-08
  • Alex W

    Alex W - 2021-10-22

    I've noticed that the excited state search will become quite slow and eventually stop working beyond some highly energetic state (i.e. it's impossible to get the full spectrum unlike in exact diagonalization). I would assume it's because you have to keep subtracting off your new state , resulting in a shrinking state space similar to what happens in a Gran Schmidt procedure

    What if for each new state from the search, you add a term \lambda |\Psi > < \Psi | to the Hamiltonian and repeat the search process? \lambda should be a very large number compared to the eigenenergies so that the previously lowest energetic states are shifted to the top of the spectrum. I'm wondering if I can get more excited states this way compared to your current algorithm.

    If so would it be easy for me to implement this with your current code?

    Thanks

     
    • Daniel Jaschke

      Daniel Jaschke - 2021-12-08

      Hi Alex,

      yes indeed, it does slow down due to Gram-Schmidt. Moreover, the code has
      to do the Gram-Schmidt via fitting new MPS states in contrast to the simple
      subtraction known from vectors. Subtracting MPSs would increase the bond
      dimension.

      From the algorithmic point of view, your approach would be working. But we
      should think about computational scaling, too. Psi has probably bond
      dimension chi, |psi><psi| inside the MPO has an MPO bond dimension of
      chi^2. My first intuition is that we won't be better of, probably worse due
      to the chi^2.

      As an alternative, I could imagine that the following works: 1) Find the
      first n excited states. 2) Shift the energy with local identities in the
      Hamiltonian in a way that the n-th excited has an energy just below zero.
      3) Switch to search for the eigenstates with the lowest magnitude, which
      should be possible via ARPACK's DNAUPD. Probably I would still project out
      the 3-5 highest excited states you know. 4) Check the new eigenstate, if
      the energy is below zero there is probably a gap and you continue with 2)
      and the known eigenstates and a new shift. If the energy is above zero, add
      the state to the known eigenstates, shift accordingly for the next
      iteration in 2). I don't know if you can get this approach implemented in a
      stable fashion within a sweep and using ARPACK.

      The final question would be what problem you want to solve. I always assume
      you don't want to find all eigenstates in the end. Maybe you can approach
      the problem altogether from another end.

      Bests,

      Daniel

      On Fri, Oct 22, 2021 at 9:15 PM Alex W alexwigner11@users.sourceforge.net
      wrote:

      I've noticed that the excited state search will become quite slow and
      eventually stop working beyond some highly energetic state (i.e. it's
      impossible to get the full spectrum unlike in exact diagonalization). I
      would assume it's because you have to keep subtracting off your new state ,
      resulting in a shrinking state space similar to what happens in a Gran
      Schmidt procedure

      What if for each new state from the search, you add a term \lambda |\Psi >
      < \Psi | to the Hamiltonian and repeat the search process? \lambda should
      be a very large number compared to the eigenenergies so that the previously
      lowest energetic states are shifted to the top of the spectrum. I'm
      wondering if I can get more excited states this way compared to your
      current algorithm.

      If so would it be easy for me to implement this with your current code?

      Thanks

      Implementation of excited state search
      https://sourceforge.net/p/openmps/discussion/tech/thread/8b6df708ec/?limit=25#e1cc


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/openmps/discussion/tech/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.