Menu

Site dependent terms in finite functions

Technical
MrModern
2015-10-29
2015-11-01
  • MrModern

    MrModern - 2015-10-29

    Dear all,

    I am trying to construct a Hamiltonian with long range hoppings.
    In order to find out the mechanics of finite functions in OSMPS I have started playing with a simple toy model:
    There are only 4 sites. Every site, except site #0 should be coupled only with site #0.
    Lets say, sites are coupled with the following weights:
    0 ->1 : 1.0
    0 ->2 : 0.5
    0 ->3 :0.25

    In order to encode this type of Hamiltonian I have used the following function:

    H.AddMPOTerm(Operators,'FiniteFunction',['bdagger','b'],f=[1.0, 0.5,0.25],hparam='t',weight=1.0)
    

    My hparam:

    t=np.array([1,0,0,1,0,1])
    

    And my reasoning is, that for NN (bond) terms, there are 3 possible couplings (0->1, 1->2, 2->3); for NNN terms there are 2 possible couplings (0->2, 1->2) and for NNNN terms there are only one possible coupling (0->3)

    Unfortunately this does not work. Could anyone explain me how to define site dependent couplings for the FF term?

     

    Last edit: MrModern 2015-10-29
    • Michael L Wall

      Michael L Wall - 2015-10-30

      Hello,

      It does appear that there was an off-by-one indexing error in the
      FiniteFunction code using site-dependent parameters that I just fixed. You
      should download the most recent version from the svn and give it a try.
      Please also note that the length of the hamiltonian parameter array t
      should be L-1. Given an array t of this length and an array f passed into
      the FiniteFunction method, the resulting Hamiltonian term is

      \sum_{i,i+1<=j<=i+r_c} t_i f_{j-i} A_i B_j

      where A and B are the two operators passed in to the AddMPOTerm (the
      routine will also automatically add the Hermitian conjugate if A and B are
      not Hermitian). A vector of ts only changes the relative weights of the
      Hamiltonian term depending on where the leftmost operator in the
      finite-length string originates. Hope this helps.

      -Michael

      On Thu, Oct 29, 2015 at 11:05 AM, "Mantas Račiūnas" mrmodern@users.sf.net
      wrote:

      Dear all,

      I am trying to construct a Hamiltonian with long range hoppings.
      In order to find out the mechanics of finite functions in OSMPS I have
      started playing with a simple toy model:
      There are only 4 sites. Every site, except site #0 should be coupled only
      with site #0.
      Lets say, sites are coupled with the following weights:
      0 ->1 : 1.0
      0 ->2 : 0.5
      0 ->3 :0.25

      In order to encode this type of Hamiltonian I have used the following
      function:

      H.AddMPOTerm(Operators,'FiniteFunction',['bdagger','b'],f=[1.0, 0.5,0.25],hparam='t',weight=1.0)

      My hparam:

      t=np.array([1,0,0,1,0,1])
      And my reasoning is, that for NN (bond) terms, there are 3 possible couplings (0->1, 1->2, 2->3); for NNN terms there are 2 possible couplings (0->2, 1->2) and for NNNN terms there are only one possible coupling (0->3)

      Unfortunately this does not work. Could anyone explain me how to define
      site dependent couplings for the FF term?


      Site dependent terms in finite functions
      https://sourceforge.net/p/openmps/discussion/tech/thread/728cac07/?limit=25#c0cc


      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/

       
      • MrModern

        MrModern - 2015-11-01

        Dear Michael,

        Thank you for reply. It seems to be working alright.

        In OSMPS manual it is written that FiniteFunction only allows at most 6 lattice spacings, but it seems that this limit has been lifted. Could you confirm this?

        Thanks,

         
        • Michael L Wall

          Michael L Wall - 2015-11-01

          Hi,

          In the manual, the restriction to 6 lattice spacings is for the specific
          example given. You are correct that the range of the FiniteFunction
          operator can be arbitrarily large (though more resources are required for a
          larger range).

          -Michael

          On Sun, Nov 1, 2015 at 9:21 AM, MrModern mrmodern@users.sf.net wrote:

          Dear Michael,

          Thank you for reply. It seems to be working alright.

          In OSMPS manual it is written that FiniteFunction only allows at most 6
          lattice spacings, but it seems that this limit has been lifted. Could you
          confirm this?

          Thanks,

          Site dependent terms in finite functions
          https://sourceforge.net/p/openmps/discussion/tech/thread/728cac07/?limit=25#c0cc/62b4/e0f7


          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.