entanglement_entropy_segment doubt

How do I use this algorithm? What does that parameter do?
Posts: 6
Joined: 17 Apr 2020, 11:14

Re: entanglement_entropy_segment doubt

Post by amankumar »

I understand that, I deliberately tried to change the lattice basis vector and order in Honeycomb lattice.
1.) How to change the model such that it supports toroidal boundary condition, as you suggested in earlier post. Can you guide me for this your famous toric code example.

2.) I tried to implement kitaev model (bond dependent spin interaction) on a honeycomb(default lattice) in tenpy, since I provided the interaction parameter such that spectrum is gapless and corresponding bond dimension is increased correspondingly. I tried providing different order of lattice also, but this does not help. Can changing initial product state helps in this regard?
Is there other possible way to make the problem computationaly easy?

Code: Select all

psi = MPS.from_product_state(model.lat.mps_sites(), [1]*(2*Ly*Lx), bc = "infinite")
    dmrg_params = {'mixer': True,
                   'chi_list': {0: 200},
                   'trunc_params': {'svd_min': 1.e-10},
                   'verbose': 1}
    results = dmrg.run(psi, model, dmrg_params)

User avatar
Site Admin
Posts: 156
Joined: 21 Jul 2018, 12:52
Location: UC Berkeley

Re: entanglement_entropy_segment doubt

Post by Johannes »

1.) The toric code model acutally didn't allow for that, you would have had to override the init_lattice method. I've just updated it in 4cc12c0ab9f38cc970da7e5338a1ee3210964997 to allow torus-boundary conditions with bc_MPS="finite", bc_x="periodic", bc_y="periodic".
You can see for Ly=4, that you need bond dimension 64 for the torus compared to bond dimension 8 for the infinite cylinder....

Also, I've now implemented the tenpy.models.lattice.IrregularLattice, in case you want to remove boundary sites not included into couplings for the finite case.

2.) A gapless system formally always requires infinite MPS bond dimension for the ground state, even in 1D!
Start off with small circumferences. Threading a flux through the cylinder can cause a gap opening, where DMRG converges better, but of course that also changes the physics! Same holds for tuning to a different phase by changeing other parameters (e.g., Jz > Jx + Jy in your case, or adding a magnetic field) where there is a gap.

For the Kitaev Honeycomb model, I'd guess that the best order is "Cstyle" (but I didn't try it...).

You might want to do a scaling analysis with the MPS bond dimension, i.e. run DMRG multiple times at increasing bond and look how results change. This kind of analysis still allows to infere quite a lot of information, even if you never get the fully converged ground state, c.f. arXiv:0812.2903.
Changing the initial product state will not change what the required MPS bond dimension is (unless you change the charge sector...), the most it can do is converge in less sweeps if the guess is good.

As I said before, there is no general "magic trick" to make it compuationally easy; if there were, we wouldn't need to develop quantum computers....
For this particular model, of course, you can do all calculuations analytically, making the "compuations" trivial :P

Post Reply