Periodic versus Open Boundary Conditions

How do I use this algorithm? What does that parameter do?
Post Reply
dorf
Posts: 21
Joined: 16 Feb 2021, 16:34

Periodic versus Open Boundary Conditions

Post by dorf »

Hello,
I want to compare a finite system that has a surface with it's 'bulk-counterpart'. Using first DMRG calculations and then time-evolving methods I calculated the excitation spectrum. The size of the finite system was large enough, and it worked out well. However, now I want to compare it to the periodic system. So I changed my lattice in the model like this:

bc = 'periodic'
lat = Ladder(L, [site1, site2], bc=bc, bc_MPS=model_params['bc_MPS'])

where model_params['bc_MPS'] = 'finite'. The results look wrong and it doesn't seem as if translational symmetry is preserved. I tried to make sure whether I included all the bonds in the model, but since it's one-dimensional, there shouldn't be a problem.
Is there maybe something that I have to change in the time-evolving algorithm? (I used 'WII').

Thank you very much in advance!
User avatar
Johannes
Site Admin
Posts: 324
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Periodic versus Open Boundary Conditions

Post by Johannes »

I'm not too surprised that W_II fails for this.
Intuitively, the W_I/W_II methods from the ExpMPOEvolution approximates \(e^{-iH dt}\) by taking into account non-overlapping terms of H; it is not designed for a long-range coupling going accross the whole system (which you get by using periodic BC for a finite MPS).

There's two possible ways around this:
  • Change the order of the MSP sites to "folded" such that you get somewhat uniform next-nearest neighbor couplings, but no long-range coupling any more; see this thread.
    I'd recommend trying this; just make sure you understand the implications of the order paramter for measuring expectation values/correlations in the MPS.
  • Try another time evolution method like TDVP. However, TDVP is also not guaranteed to work for long-range couplings - it projects into the tangent space, which is also a severe restriction for evolving long-range Hamiltonians; and one can easily construct examples where this projections causes it to fail on capturing the correct long-range evolution.
dorf
Posts: 21
Joined: 16 Feb 2021, 16:34

Re: Periodic versus Open Boundary Conditions

Post by dorf »

Dear Johannes,
Sorry, I had put this problem aside for a while. Anyway, thank you very much for your answer.

The 'folded' order is not yet implemented for the ladder system, right? Can I implement a custom order myself in the model that I built?

Best,
Niclas
User avatar
Johannes
Site Admin
Posts: 324
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Periodic versus Open Boundary Conditions

Post by Johannes »

It's a bit unconvenient: you need to override the ordering method of the lattice to support that.
I've quickly pushed an update 087beba that does that.
You can do similar things for other lattice classes as well.
dorf
Posts: 21
Joined: 16 Feb 2021, 16:34

Re: Periodic versus Open Boundary Conditions

Post by dorf »

Thank you very much for the quick update! I managed to reproduce the results with open boundary conditions for the 'folded' ladder, by reordering the expectations value.
Next step is to try it out with the periodic boundary conditions. In the post you refer to you you write that you should set [tenpy]bc_x = 'periodic'[/tenpy], which is an option of the CouplingMPOModel, if I see correctly.
Do I have to set this bc_x? I just initialized the ladder like this:

Code: Select all

lat = Ladder(L, [site1, site2], bc='periodic', bc_MPS='finite', order='folded'
Is this sufficient to emulate a periodic system?
User avatar
Johannes
Site Admin
Posts: 324
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Periodic versus Open Boundary Conditions

Post by Johannes »

For two dimensional systems, there can be separate boundary conditions in x and y, hence the bc_x and bc_y, which really are just the two values for the bc=[bc_x, bc_y] of the lattice.
So yes, for a 1D lattice, just putting bc='periodic' is the correct thing to get periodic boundary conditions.
Post Reply