Loschmidt Echo
Posted: 15 Sep 2020, 08:51
Hi Johannes/everyone,
I am trying to perform some sudden quench simulations in the transverse field 1D Ising model and compute the Loschmidt echo. I am doing everything based on the nice example code "c_tebd.py" that is already provided. The procedure that I pursue is the following:
I first set the initial state of the system to the ground state of TFI chain with no coupling (J=0) by MPS:
Now, I want to see how the initial state psi_0 evolves under the dynamics of the 1D Ising Hamiltonian with J=1. To generate the model I use
Then, without changing the 'tebd_params' I set
But I only get a flat line at 1, which is not what one would expect. So, am I doing anything wrong?
I would appreciate your help.
Best,
Mike
I am trying to perform some sudden quench simulations in the transverse field 1D Ising model and compute the Loschmidt echo. I am doing everything based on the nice example code "c_tebd.py" that is already provided. The procedure that I pursue is the following:
I first set the initial state of the system to the ground state of TFI chain with no coupling (J=0) by MPS:
Code: Select all
model_params = dict(L=L, bc_MPS='finite', conserve=None, verbose=verbose)
M_0 = TFIChain(model_params)
p_state = ["up"] * M_0.lat.N_sites
psi_0 = MPS.from_product_state(M_0.lat.mps_sites(), p_state, bc=M_0.lat.bc_MPS)
Code: Select all
model_params = dict(L=L, J=1., g=g, bc_MPS='finite', conserve=None, verbose=verbose)
M_1 = TFIChain(model_params)
Code: Select all
eng = tebd.Engine(psi_0, M_1, tebd_params)
l_echo = [abs(eng.psi.overlap(psi_0))/psi_0.norm/eng.psi.norm]
Nstep = int(tmax / dt_measure + 0.5)
for n in range(Nstep):
eng.run()
l_echo.append(abs(eng.psi.overlap(psi_0))/psi_0.norm/eng.psi.norm)
I would appreciate your help.
Best,
Mike