The EE is different for different initial setup

How do I use this algorithm? What does that parameter do?
Post Reply
yhang
Posts: 3
Joined: 15 Jul 2022, 18:58

The EE is different for different initial setup

Post by yhang »

Hi, all, I am trying to implement a heisenberg chain with alternating bond strength. I am implementing using XXZ model from tenpy. However, when I try to calculate the entanglement entropy(EE), the result is different for different initial setup. Any suggestions here? Thank you so much! Here is my code for setup, basically if I change the setup of my last line shown here, the entanglement entropy will change, which I don't think it should be like this

Del=2.0
L=200
f=open("ssh_interaction_odd_Jz_2_even_L_200_spin_2.txt","w")
for delta in deltas:
print(delta)
N=L*2
J=np.array([1+delta if i%2==0 else 1-delta for i in range(N-1)])
Jz=np.array([(1+delta)*Del if i%2==0 else (1-delta)*Del for i in range(N-1)])
model_params = {
'L': N,
'Jxx': J,
'Jz':Jz,
'hz':0, # just free fermions, but you can generalize...
'bc_MPS':'finite'
}
M = XXZChain(model_params)
product_state = ['up', 'down']*(L-1)+["up","up"]
User avatar
Johannes
Site Admin
Posts: 428
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: The EE is different for different initial setup

Post by Johannes »

This is equivalent to the Su-Schrieffer-Heger (SSH) chain, which has a topolgical phase with edge modes. Given that your filename starts with ssh_, I assume you're familiar with that.

the XXZChan has Sz conservation by default. That means if you fix the initial state to be in a particular Sz charge sector, you will find the ground state in that Sz sector. Depending on how you do that, you can force the edge modes into a wired super-position, which in turn can change the entanglement entropy. My guess is that's what you're seeing.
Try to play with a) different initial states which are in the same charge sector, and b) conserve=None in the model.
Post Reply